Pre:
最近想要写个Auto Sqli Scanner,故找了sqlmap作者写的工具DSSS来参考.
Damn Small SQLi Scanner (DSSS) is a fully functional SQL injection vulnerability scanner (supporting GET and POST parameters) written in under 100 lines of code.
之前也看过一部分sqlmap
的源码,看起来头真的有点大。
相比强大的sqlmap
来说,这个工具短小精悍,便于食用,毕竟代码量少很多hhh.
原仓库地址:Damn Small SQLi Scanner
我的源代码注释版本:https://github.com/jerrychan807/DSSS
整体流程:
提取内容函数:
亮点:
-
TEXT文本的处理
基于报错的测试:
基于布尔的测试:
在页面文本相似度那里,对于0.95那个理解有点费劲,提了个issue问作者.
作者很nice,也很快就回复我了。我才get到它这里面的判断有2种:精确判断和模糊判断.
精确判断:可以通过HTTP-CODE
和TITLE
来判断两个页面是否是100%一样
模糊判断: 通过quick_ratio
来计算两个页面的文本相似度,因为quick_ratio
计算有时不太准确,有一定的误差,故FUZZY_THRESHOLD = 0.95
设置如此,留了5%做误差.