【实战】牛年的第一个SQL注入漏洞
正常请求
单引号探测,返回空数据,直接'or'1'like'1探测:
Content-type不同,注意观察下响应body内容也不同,前边两次响应结果中开始的leadId是1311744(可以作为sqlmap响应结果不同判断的一个依据),接下来比较简单了,这种基本就是java+mysql,通过函数简单判断一下:
可以确定数据库是mysql,直接判断库名长度,然后借助burp跑出库名数据,都是水到渠成,贴两个图:
这里有个小技巧,一般跑出首字母直接去和网站域名或者目录等做比较,大概率可以猜出来库名了:
最终的库名就是这个二级目录名,根据mysql命名常识,把短线变成下划线就好了:clue_center
下面要说的是利用sqlmap跑出这个注入点,直接跑的话,会报错,sqlmap挂burp代理,调试下:
可以看到payload被加上了\”,直接写个tamper替换下,然后继续跑,依然跑不出,继续调试:
发现sqlmap默认会进行chr编码,会导致服务器报错,使用参数--no-escape关闭字符串逃逸机制,最终使用sqlmap跑出了库名(2021年的第一个sql注入):