0×01 前言
SQL注入,这个类型的漏洞我真的学了好久好久好久好久,即是我刚刚开始接触安全就学习的第一种漏洞,也是一个迄今为止还在学习的漏洞类型,只能说,感觉自己还是有很多还是不会的。从一开始的手工一个网站一个网站去测,到之后的用google hacking的方法去找可疑链接,再到后面用sqlmap批量检测。也是经历了至少半年的时间。今天才写了个调用sqlmapapi的脚本,想跟大家分享一些走过的坑和思路。
0×02 SQL注入批量测试的几种方法
本文的目的在于通过看别人的代码来学习原理,同时也掌握自己造轮子的能力。这里只是列举了我自己平时用到的几种方法,当然网上能找到更多更好的工具,或者更好的思路,都是值得学习的。
下面就列举三种方法是:sqliv、sqlmap -m、sqlmapapi。
1.1 sqliv
1.1.1 下载地址:
【https://github.com/Hadesy2k/sqliv】
1.1.2 说明:
作者是Hadesy2k,可以看到作者大大更新还是挺勤快的,写这文章的日期是11月23日(文章第一版)(第二版已经是12月28日),从图里可以看出作者在月初的时候更新了一波。
而更之前在10月份的时候我看了一遍这个代码,发现作者在检测sql注入点的时候只是在参数值后加了个单引号,然后检测返回页面的报错信息。以这种方式去测试当然会遗漏很多呀。而且如果一个链接后跟多个参数,同时在所有参数值里加单引号。我头上直冒汗。
在【src/scanner.py】里可以看到这一句:
【website = domain + “?” + (“&”.join([param +payload for param in queries]))】
每个参数值加payload后组合一起,现在依然是这种方式。
在11月初更新一波后,可以看到payload不再是只有单引号了,还有了很多其它的如括号,分号等。
这个是lesson是没有注入的,参数内容改变的话会影响页面返回结果,所以正确的方法应该是单独给每个参数的内容加payload进行测试。
我自己改了下,变成分别单独测试所有参数值,有需要的话。大家可以去我的github【https://github.com/Martin2877/sqliv-M/blob/master/src/scanner.py】看。
值的高兴的是,作者把检测POST请求放在他的【To Do】里了,期待。
(而当我12月28号再去看的时候,作者又更新了许多,还加入了docker更方便部署。点个赞。)
1.1.3 多地址
因为sqliv本身是没有多地址批量的,所以我们自己写一个咯,还是比较简单的,见下图,代码也在我的github里
1.2 sqlmap -m
1.2.1 下载地址:
【https://github.com/sqlmapproject/sqlmap】
1.2.2 说明:
神器sqlmap,不多说,-m模式,就是用来批量测试url的,不过是单线程,比较慢,效果比sqlmapapi好。
使用命令:
python sqlmap.py -m urls.txt --batch
1.3 sqlmapapi
1.3.1 下载地址:
【https://github.com/Martin2877/sqlmapapi-M】
1.3.2 说明:
api模式有多线程,先通过sqlmap根目录中的sqlmapapi.py启动服务:
【python sqlmapapi.py -s】
然后到sqlmapapi-M根目录下,在【url.txt】中写你要批量测试的地址:
然后使用命令执行批量扫描:【python sqlmapbatch.py】
效果如图,而其关键代码如下:
这里设置了超时时间是4秒,然后测下一个,大家也可以设置更久一点,效果也会更好。我这里没有做队列什么的,大家可以自己改哈。
0×03 爬取链接
当然上面几种方法都需要用到url.txt,针对这个我另外写了一个爬虫工具,见【https://github.com/Martin2877/FindLinks】,是爬取一个网站下链接的工具;网上还有很多能通过搜索找可能有sql注入的网站,这里就不多描述啦。
0×04 总结
总结一下,上面所列的几个工具或方法效果最好的当然是【sqlmap -m】,因为没有“超时”,一个地址会一直测到完为止,所以测的时间真的很久,测一天的话也就只能有500个地址吧。而这里slqmapapi因为设置了超时,所以会快很多,不过效果没有那么好。以后加了队列应该就能顾及两个方面的问题。而sqliv相对来说比较快,因为只是加payload看返回是否有数据库报错(也是其缺点),当然可以改代码变成加载payload字典的方式去测,也算是不错的一个工具。
以上,就是这么多啦,祝愿大家能更快更多地挖出sql注入哦~
猜你还喜欢
- 07-08八年专业安全团队承接渗透入侵维护服务
- 08-06SQLMAP的注入命令以及使用方法
- 08-03白帽故事汇:网络安全战士从来不是「男生」的专利
- 07-27编辑器漏洞手册
- 07-12web安全之如何全面发现系统后台
- 02-22常见Web源码泄露总结
- 07-25网站后台登陆万能密码
- 07-23破解emlog收费模板“Begin”
- 01-12批量检测SQL注入
- 01-22Apache Solr远程代码执行漏洞(CVE-2017-12629)从利用到入侵检测
- 随机文章
-
- sqlmap 检测剖析
- PHP自动化白盒审计技术与实现
- 记一次对WebScan的Bypass
- 萌新学逆向:Crackme入门之基础操作分析
- 自动化反弹Shell防御技术
- 大多数路由器都存在固件缺陷使用户面临风险
- 老树开新花 | 利用Excel 4.0宏躲避杀软检测的攻击技术分析
- 物联网设备固件分析之小试牛刀
- X.Org Server软件包存在提权漏洞,影响主流Linux发行版
- Linux应急故事之四两拨千斤:黑客一个小小玩法,如何看瞎双眼
- clrinject:向CLR Runtimes和AppDomain中注入代码的工具
- 交易所漏洞之薅羊毛分析
- Safari信息泄露漏洞分析
- 欲求不满之 Redis Lua脚本的执行原理
- 邮件伪造技术与检测
- EE 4GEE Mini本地提权漏洞(CVE-2018-14327)分析
- MacOS再次出现漏洞,号称牢不可破的系统也有弱点
- 工具分享 | Maltego4.0.11中文汉化版
- bscan:信息收集和服务枚举工具
- 高级组合技打造捆绑后门及防御建议
- 热门文章
-
- 八年专业安全团队承接渗透入侵维护服务
- Emlog黑客站模板“Milw0rm”发布
- Stuxnet纪录片-零日 Zero.Days (2016)【中文字幕】
- SQLMAP的注入命令以及使用方法
- 白帽故事汇:网络安全战士从来不是「男生」的专利
- 编辑器漏洞手册
- web安全之如何全面发现系统后台
- 常见Web源码泄露总结
- 渗透测试培训(第五期)
- 深入理解JAVA反序列化漏洞
- cmseasy前台无需登录直接获取敏感数据的SQL注入(有POC证明)
- 网站后台登陆万能密码
- 黑麒麟2016渗透培训系列教程
- 破解emlog收费模板“Begin”
- 那些强悍的PHP一句话后门
- Android平台渗透测试套件zANTI v2.5发布(含详细说明)
- 渗透工具BackTrack与KaliLinux全套视频教程
- Python列为黑客应该学的四种编程语言之一 初学者该怎么学
- CVE-2017-11882漏洞复现和利用
- 恶意程序报告在线查询工具
文章存档
- 2020年12月(4)
- 2020年11月(5)
- 2020年10月(8)
- 2020年9月(8)
- 2020年8月(20)
- 2020年7月(47)
- 2020年6月(70)
- 2020年5月(41)
- 2020年4月(21)
- 2020年3月(120)
- 2020年2月(26)
- 2019年12月(12)
- 2019年11月(13)
- 2019年10月(17)
- 2019年9月(15)
- 2019年8月(13)
- 2019年7月(15)
- 2019年6月(15)
- 2019年5月(19)
- 2019年4月(23)
- 2019年3月(19)
- 2019年2月(11)
- 2019年1月(29)
- 2018年12月(24)
- 2018年11月(56)
- 2018年10月(79)
- 2018年9月(20)
- 2018年8月(17)
- 2018年7月(16)
- 2018年6月(7)
- 2018年5月(10)
- 2018年3月(6)
- 2018年2月(2)
- 2018年1月(11)
- 2017年11月(18)
- 2017年10月(6)
- 2017年9月(8)
- 2017年8月(7)
- 2017年7月(7)
- 2017年6月(15)
- 2017年5月(30)
- 2017年4月(7)
- 2017年3月(1)
- 2017年2月(4)
- 2017年1月(1)
- 2016年12月(3)
- 2016年11月(7)
- 2016年10月(6)
- 2016年9月(6)
- 2016年8月(102)
- 2016年7月(24)
- 2013年7月(1)
- 文章标签
-