sql注入之堆叠注入及waf绕过注入
#堆叠查询注入
1.堆叠查询概念
stacked injections(堆叠查询注入)从名词的含义就可以看出一应该是一堆(多条)sql语句一起执行。而在真实运用中也是如此,我们知道在mysql中,主要是命令行中,每一条语句后面加“;”表示为语句的结束。这样我们就能想到是不是可以多句一起执行。而在不同额数据库中,堆叠的知识体系不同。堆叠注入只产生在一小部分数据库中。
在遇到我们知道管理员的账号和密码,密码是加密的,且无法解密;此时我们就可以使用堆叠注入进行插入数据,用户密码自定义的,可以插入一个用户,再用插入的用户进行登录操作。
2.堆叠注入靶场演示
sqlilabs第38关
查看源码:

发现有函数:mysqli_multi_query()
此函数的作用是:执行一个或多个针对数据库的查询,查询语句使用分号隔开。
由此我们可以考虑使用堆叠注入。
构造payload:
http://xx.xx.xx.xx/sql-labs/Less-38/?id=1';insert into users(id,username,password)values(21,'Bob','2021')--+
再查询id=21,发现已经注入成功

#sql注入之waf绕过
1.基本方法
基本方法如下思维导图


2.靶机演示
服务器上开启安全狗,sqlilabs第2关进行演示
and 1=1 ,被拦截

以post形式进行提交,不被拦截,但接收不到值。

查看源码,是GET请,使用post传入数据无法执行。

将其修改为REQUEST方式
构造payload:
http://xx.xx.xx.xx/sqli-labs/Less-2/?id=-1 union select 1,2,database() --+
被拦截:
原因是安全狗有拦截sql的union注入,或查询数据库相关信息等。
我们进行参数污染:
payload:
http://xx.xx.xx.xx/sqli-labs/Less-2/?id=1 /**&id=-1%20union%20select%201,2,3%23*/
?id=1 /**&id=-1%20union%20select%201,2,3%23*/等价于id=-1 union select 1,2,3#
成功绕过:

sql注入之堆叠注入及waf绕过注入的更多相关文章
- 十八:SQL注入之堆叠及绕WAF
堆叠查询注入 (双查询注入) stacked injections(堆叠注入)从名词的含义就可以看到是一堆的SQL语句一起执行,而在真实的运用中也是这样的,我们知道在mysql中,主要是命令行中,每一 ...
- WAF绕过神器 (过安全狗、智创SQL注入)
WAF绕过神器 (过安全狗.智创SQL注入) 发布时间:-- :10文章来源:网络文章作者:panni007 点击次数: 次 分享到: QQ空间 QQ微博 新浪微博 开心网 人人网 摘要:起因: by ...
- sql注入100种姿势过waf(二):过安全狗
仅供学习交流如果你有更好的思路可以一起分享,想一起学习的进我主页 先去安全狗网站下载最新的安全狗版本 从官网下载 windwos apache版 v4.0.2395 最新版 数据库是mysql ...
- SQL注入之堆叠注入(堆查询注入)
Stached injection -- 堆叠注入 0x00 堆叠注入的定义 Stacked injection 汉语翻译过来后,称 为堆查询注入,也有称之为堆叠注入.堆叠注入为攻击者提供了很多的 ...
- sql注入100种姿势过waf(一):waf 了解
仅供学习交流如果你有更好的思路可以一起分享,想一起学习的进我主页 首先WAF(Web Application Firewall),俗称Web应用防火墙,主要的目的实际上是用来过滤不正常或者恶意请求包, ...
- 从偶然的机会发现一个mysql特性到wooyun waf绕过题
从偶然的机会发现一个mysql特性到wooyun waf绕过题 MayIKissYou | 2015-06-19 12:00 最近在测试的时候,偶然的机会发现了一个mysql的特性, 为啥是偶然的机会 ...
- 渗透测试学习 二十八、WAF绕过详解
大纲: WAF防护原理讲解 目录扫描绕过WAF 手工注入绕过WAF sqlmap绕过WAF 编写salmap绕过WAF 过WAF一句话编写讲解 菜刀连接绕过WAF webshell上传绕过WAF 提权 ...
- 各种WAF绕过手法学习
原文:https://mp.weixin.qq.com/s/aeRi1lRnKcs_N2JLcZZ0Gg 0X00 Fuzz/爆破 fuzz字典 1.Seclists/Fuzzing https ...
- 数据库语法整理及WAF绕过方式
关系型数据库 关系型数据库:指采用了关系模型来组织数据的数据库. 直白的说就是:关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织 当今主流的关系型数据库有:Oracle,M ...
随机推荐
- .Net Core with 微服务 - Seq 日志聚合
上一次我们介绍并演示了如果使用 Consul 做为我们微服务的注册中心,来实现服务的注册与发现.那么本次我们讲会演示如何做日志聚合.日志聚合比较常用的有 ELK 等,但是这次我想要介绍的是一款比较小众 ...
- docker2-镜像原理及创建新的镜像
1,镜像是什么 镜像是一种轻量级.可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码.运行时.库.环境变量和配置文件 在docker中所有应用 ...
- .NET解密得到UnionID
由于微信没有提供.NET的解码示例代码,自己搜索写了一个,下面的代码是可用的 var decryptBytes = Convert.FromBase64String(encrypdata); var ...
- 通过jquery创建节点以及节点属性处理
<!DOCTYPE html><html> <head> <meta http-equiv="Content-type" conte ...
- Java并发之Semaphore源码解析(一)
Semaphore 前情提要:在学习本章前,需要先了解笔者先前讲解过的ReentrantLock源码解析,ReentrantLock源码解析里介绍的方法有很多是本章的铺垫.下面,我们进入本章正题Sem ...
- 关于LCA的几点想法
倍增 这是最最最常见的写法了,一个fa[N][logN]的数组直接搞定 时间复杂度也不算太高 预处理 $ O(nlogn) $ 如果你想卡的话,可以卡到 $ O(nlogh) $ h为树的深度 查询 ...
- mysql主节点down机后如何恢复操作
1 停机维护 (1) 先停止上层应用 (2) 检查backup和slave的中继日志是否已经完成了回放及gtid_executed保持一致 mysql> show slave status\G; ...
- 8、oracle密码过期设置
8.1.登录到oracle实例: [oracle@slave-node2 ~]$ echo $ORACLE_SID orcl [oracle@slave-node2 ~]$ sqlplus sys/1 ...
- Flex中利用事件机制进行主程序与子窗体间参数传递
在开发具有子窗体,或者itemrenderer的应用时,常常涉及到子窗体向父窗体传递参数或者从itemrenderer内的控件向外部的主程序传递参数的需求.这些都可以通过事件机制这一统一方法加以解决. ...
- liunx驱动之字符设备的注册
上一篇文章学习了如何编写linux驱动,通过能否正常加载模块进行验证是否成功,有做过liunx应用开发的小伙伴都知道驱动会在'/dev'目录下以文件的形式展现出来,所以只是能加载驱动模块不能算是完成驱 ...