首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SQL注入过滤的绕过

在实际的项目开发中,程序员一般都会使用函数过滤一些字符,以防止SQL注入比如魔术引号magic_quotes_gpc()之前的文章有提过,再比如preg_replace()函数过滤了一些字符。...简单的写个过滤黑名单: function blacklist($id) { $id = preg_replace('/or/i',"",$id); //过滤 or 不分大小写 $id...道高一尺魔高一丈,虽然过滤了某些字符,但是已然可以绕过,达到SQL注入的目的。...,因为sqlmap的payload中的SQL关键字默认是大写的,而这里只过滤了小写,而且sqlmap也有专门的随机大小写的绕过脚本:randomcase.py 1742059555.png 3.不区分大小写过滤了...SQL关检词 对于过滤SQL关检词绕过的思路 1.尝试双拼写绕过 2.看是否有关检词漏掉过滤了 3.使用等价函数替换 function blacklist($id) { $id = preg_replace

3.3K10

字符过滤下的攻击:标签事件绕过

1、简单的字符过滤,可以通过双写绕过,但是稍微改写一下preg_replace()里的参数,就可以轻松让双写绕过变得不可能; 2、以下为实际场景实验,打开靶机页面: ?...3、我们看一下过滤代码,这里使用了更严格的规则——通过正则表达式,过滤了script标签: $name = preg_replace( '/>”作为name显示了出来,说明简单的双写绕过手段此时已经无效: ?...6、下面试一下标签事件绕过方法,在What's your name? 输入框内输入: ? (哪有什么地址叫hahaha,onError铁定被触发) ?...7、提交后,浏览器弹出我们预期的弹窗,显示alert内容:“img标签事件绕过”: ? 8、在What's your name? 输入框内输入 ? ?

1.1K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    深入理解SQL注入绕过WAF和过滤机制

    深入理解SQL注入绕过WAF和过滤机制 知己知彼,百战不殆 --孙子兵法 [目录] 0x0 前言 0x1 WAF的常见特征 0x2 绕过WAF的方法 0x3 SQLi Filter的实现及Evasion...Unicode字节,单引号可以正常使用 第二个示例使用的是两种不同编码的字符的比较,它们比较的结果可能是True或者False,关键在于Unicode编码种类繁多,基于黑名单的过滤器无法处理所以情况,从而实现绕过...,select+id-1+1.from users; “+”是用于字符串连接的,”-”和”.”在此也用于连接,可以逃过空格和关键字过滤 3....整合的意思是结合使用前面谈到的各种绕过技术,单一的技术可能无法绕过过滤机制,但是多种技术的配合使用成功的可能性就会增加不少了。...,即便平时构建一个正常SQL语句的全部关键字都被过滤了,我们也还是能找到Bypass的方法。

    3.1K31

    常规特殊字符被过滤的一种绕过技巧

    今天来分享一个绕过过滤比如 ' " ( ) % 等字符的场景,测试环境为 PHP+Mysql 假设场景 php 代码通过 HTTP GET 参数 param1 接收用户输入的内容,然后经过自定义的过滤函数...input-filter 过滤可能导致 SQL 注入的特殊字符。...1 ascii substring database ,1,1 过滤了 假如我们使用 URL 编码特殊字符,但是,URL 编码中都包含特殊字符 %,也是被过滤了的,比如: from dual...true and 1 3C ascii 28 substring 28 database 28 29 2C 1 2C 1 2929 尝试绕过 基础 在这种情况下,我们利用漏洞的方式是盲注,为了避免过滤特殊字符...,利用起来比较复杂,但还是有一条路可以走,对于这部分绕过方式的防御,可以在过滤的关键词中再增加一些,比如 select、like 等查询关键词,还有常见的注释符,比如 -、#、/* 等。

    2.3K10

    SQL注入测试技巧TIP:再从Mysql注入绕过过滤说起

    Zzzxbug,本文属FreeBuf原创奖励计划,未经许可禁止转载 对于mysql的注入,基本上是每一名web安全从业者入门的基本功,这里不多废话,结合本人无聊时在mysql上的测试,来谈一谈mysql在过滤某些特殊字符情况下的注入...,因为是想到哪写到哪,文章比较散,各位大佬请绕过,和我一样的小白可以看一看,温故而知新,必有所获。...进一步思考:如果这些字符都被过滤了,有没有办法不依靠空格来注入呢,办法还是有的,看下面的语句: ?...$i"; $sql = "select*from(".$sql.")$alias"; $res = $mysqli->query($sql); if(!...join(select(table_type)from(information_schema.tables)where(table_schema)=0x6D7973716C)b)); 在注入点处使用宽字节绕过

    1.3K30

    绕过SQL注入过滤,你喜欢老汉推车还是观音坐莲?

    注:本篇文章是基于sql-labs靶场来实验,没有的可以参考上篇文章安装方式和资源都在里面。本篇文章适合有一点基础的朋友,没有基础可以提前了解也不影响,我做了一些简单的原理说明。...1、首先是通过大小写来绕过,原理就是过滤机制不严格,只过滤了小写的字符,没有过滤大写的字符。 我们构造语句可以大小写混写如:And、sELEcT这种类型 这种类型的构造即可简单绕过一些的过滤。...3、双写绕过 双写绕过的原理就是过滤机制会过滤掉你的语句,但是只执行了一次 列如:anandd这个and过滤机制过滤掉之后,那么又会有一个新的and重组,这个时候新的and就会生效了 4、关键字等价绕过...同理需要使用and的地方也可以替换掉同样生效 5、绕过去空格过滤 绕过空格其实也就是将空格转变成编码模式,也就是%a0 6、MySQL宽字符绕过 原理是利用gbk的编码模式,两个字节代表一个汉字,针对\...gbk编码,我们就可以在带入单引号同时带入另一个字符,这样gbk编码会将其解码为一个汉字,就成功让我们的单引号不被过滤了。

    67510

    Mariadb EXECUTE IMMEDIATE 解析

    0x01 前言 该篇文章起源于XCTF 决赛中清华对一道web题的非预期,在该题中过滤了很多的关键字,包括SELECT等,预期解为mariadb主从复制,但清华使用EXECUTE IMMEDIATE绕过了黑名单导致非预期...语句,它可以将字符串作为动态 SQL 查询语句执行。...0x02 绕过分析 具体解题思路参考 ((20230329135113-j13bte1 'The 7th XCTF Finals WEB WP')) 这篇文章,该题中手工测试出的黑名单如下: black...IMMEDIATE可以进行绕过 原题中使用的环境为mariadb 10.3.38 EXECUTE IMMEDIATE 'SELECT * FROM ctf.admin'; 可以直接执行字符串中的sql...语句,在基于这一点的情况下就很容易进行绕过 该题中并没有过滤各种字符串编码,所以我们可以使用如下方法进行绕过 EXECUTE IMMEDIATE UNHEX('53454c454354202a2046524f4d206374662e61646d696e

    47140

    网站渗透攻防Web篇之SQL注入攻击高级篇

    第五节 避开过滤方法总结 Web应用为了防御包括SQL注入在内的攻击,常常使用输入过滤器,这些过滤器可以在应用的代码中,也可以通过外部实现,比如Web应用防火墙和入侵防御系统。...5.1、大小写变种 这种技巧适用于关键字阻塞过滤器不聪明的时候,我们可以变换关键字字符串中字符的大小写来避开过滤,因为使用不区分大小写的方式处理SQL关键字。...5.2、URL编码 URL编码用途广泛,可以通过它绕过多种类型的输入过滤器。...因为双URL编码,第一次解码%2f%2a进入输入过滤器,所以成功绕过了。当然这个使用前提是后面有一个URL解码。...黑名单验证:使用正则表达式禁止使用某些字符和字符串 应该尽量使用白名单,对于无法使用白名单的,使用黑名单提供局部限制。

    1.4K20

    xml 标准字符过滤

    对于一些经过编码或加、解密的字符串中,很容易会出现这个 0x0,特别是在加、解密中,经常会涉及到字符填充,而填充物通常是 0x0,对于0x00-0x20 都会引起一定的问题,又因为这些字符不可见,因此用通常的编辑器进行编辑的时候找不到问题所在...xml中需要过滤的字符分为两类: 一类是不允许出现在xml中的字符,这些字符不在xml的定义范围之内; 另一类是xml自身要使用的字符,如果内容中有这些字符则需被替换成别的字符。...第一类字符:   对于第一类字符,我们可以通过W3C的XML文档来查看都有哪些字符不被允许出现在xml文档中。   ...因此我们可以把这个范围之外的字符过滤掉。...第二类字符:   对于第二类字符一共有5个,如下:   字符 HTML字符 字符编码   和(and) & &

    8510

    绕过防火墙过滤规则传输ICMP

    这里有一个问题:如何过滤ICMP和ICMPv6? 如何过滤ICMP? RFC推荐的内容 在过滤ICMP消息时,阻止所有消息类型是不可能的。它会降低整体用户体验。...3.SEQ和ACK字段仅用于包过滤器,但不用于nftables。...包过滤器实现和细节 在包过滤器中,相关的概念实际上是隐含的,并且在状态的概念下实现。包过滤的总体设计如下: 数据包可以与状态相关联吗?...1.如果是,则允许数据包通过; 2.如果不是,则根据过滤规则测试分组。如果匹配规则允许数据包通过,则可能会创建状态。 整个逻辑在/sys/net/pf.c中的函数pf_test中实现。...因此,无论过滤规则如何,攻击者都能够将数据包发送到正常过滤的主机H。 *参考来源:synacktiv,FB小编周大涛编译,转载请注明来自FreeBuf.COM

    2.5K50

    SQL注入的绕过方式

    这篇文章搜集整理自@Junehck师傅的Github,记录了他在实战中遇到的各种WAF拦截SQL注入的场景和绕过姿势,文章并不是完整的,仅记录了Bypass部分。...https://github.com/Junehck/SQL-injection-bypass Other %00绕过WAF 输入一个单引号 页面报错 首先闭合,这里用')闭合 `keywords...k.=` Other Emoji绕过WAF 先 order by 获取列数 尝试使用联合注入时就会被拦截,无限等待响应 这里我们使用emoji方式去代替空格来绕过 waf,成功注入出回显 注释符绕过...WAF 首先通过-1 /1/0运算判断出存在数字型 sql 注入,一般来说 asp 都是用 access,这里使用--%0a的方式来构造 payload 也能正常执行,判断出这里为 mssql 这里的测试...payload 是: `--随机字符%0a AND--随机字符%0a1=1` Other 在 asp+iis 的环境下unicode在 iis 解析之后会被转换成 multibyte,但是转换的过程中可能出现

    92220

    妙用JavaScript绕过XSS过滤-----小白安全博客

    基于上述的那些发现,我开始着手我的测试,看看我是否可以绕过NoScript的XSS过滤器(DOMPurify和CSP)。...由于我们可以使用Mavo的data- *属性,因此绕过DOMPurify过滤器是很容易的。...在实际的绕过试验中,第一次尝试绕过是使用JavaScript中的“fetch”函数证明了可以绕过NoScript过滤器,并且能够获取和发送HTML到远程目标机器中,示例代码如下所示: [1 and self.fetch...: 因为NoScript的过滤器不能解析“and”关键字和方括号表达式语法,因此我可以使用它们来绕过检测并使用fetch发送HTML文档。...一旦进入JavaScript模式,我在javascript字符串加上双引号,然后我将该字符串与anchor 属性的值相结合。

    1.8K120

    代码审计与渗透测试

    【反射型】 反射型xss审计的时候基本的思路都一样,通过寻找可控没有过滤(或者可以绕过)的参数,通过echo等输出函数直接输出。寻找的一般思路就是寻找输出函数,再去根据函数寻找变量。...这里对输入进行了过滤,基于黑名单的思想,使用str_replace函数将输入中的删除,这种防护机制是可以被轻松绕过的。...High等级也是基于黑名单思想,进行过滤。但是我们可以通过其他标签来进行XSS。...> 可以看到接收POST过来的参数,trim()函数是移除字符串两侧的空白字符或其他预定义字符。 这里先进行过滤一下,把我们输入字符串两侧的空白字符和其他预定义字符给过滤掉。...mysql_real_escape_string() 函数转义 SQL 语句中使用的字符串中的特殊字符 受影响字符 \x00 \n \r \ ' " \x1a 如果成功,则该函数返回被转义的字符串

    1.5K30
    领券