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

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,成功注入出回显 注释符绕过...,页面 500 报错并输出了报错信息 这里竟然有报错我们就想着使用报错注入,但是含有类似于updatexml这种关键字直接拦截 因为 get 绕过姿势较少,我们尝试把数据通过 post 发送,发现后端也接收...WAF 首先通过-1 /1/0运算判断出存在数字型 sql 注入,一般来说 asp 都是用 access,这里使用--%0a的方式来构造 payload 也能正常执行,判断出这里为 mssql 这里的测试

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

    SQL注入过滤的绕过

    在实际的项目开发中,程序员一般都会使用函数过滤一些字符,以防止SQL注入比如魔术引号magic_quotes_gpc()之前的文章有提过,再比如preg_replace()函数过滤了一些字符。...道高一尺魔高一丈,虽然过滤了某些字符,但是已然可以绕过,达到SQL注入的目的。...注意:在使用注释符#的时候,在URL输入栏中应该输入#的URL表达式 %23 ,而不是直接输入# 在如下存在SQL注入的代码,没有任何的安全防御措施。...SQL关检词 对于过滤SQL关检词绕过的思路 1.尝试双拼写绕过 2.看是否有关检词漏掉过滤了 3.使用等价函数替换 function blacklist($id) { $id = preg_replace...3.2爆破SQL词看是否有关键词过滤了 这种对于不区分大小写过滤了的关键词,我们首先需要判断过滤了哪些关键词,漏掉了哪些关键词,这个可以使用SQL关键词来进行爆破,看看哪些关键词没有被过滤,然后看看这些关键词可以利用哪些注入方式

    3.2K10

    SQL注入绕过的简单总结

    新人web手对sql注入的一些简单总结 SQL语法学习 基础必学要打牢,首先要会SQL查询语句才能会SQL注入嘛,学习网站 常用函数介绍 COUNT(column_name) 函数返回指定列的值的数目...常用运算符和关键字 union用于联合查询 (注意:必须要有相同的字段数,注入时通常先用order by 测试下有几个字段) '用于闭合语句 不带引号的以 0X 开头的十六进制值在MYSQL中会被解释为对应的字符串...过滤等号=绕过 不加通配符的like执行的效果和=一致,所以可以用来绕过。...strcmp(str1,str2)函数、between关键字等,具体可以参考后面的过滤大小于号绕过 过滤大小于号绕过sql盲注中,一般使用大小于号来判断ascii码值的大小来达到爆破的效果。...-----+ | str | +-------------------------------+ 1 row in set (0.00 sec) 在sql

    1.9K10

    SQL注入绕过(第二弹)

    一、测试是否存在注入点 ? 先看下正常页面(对,就是熟悉的味道,上篇文章的靶场,因为我懒得搭建,懒!...and1=2肯定也是这样,我们就不截图出来了 绕过绕过! 1.我们先寻找规律,and不会被拦截,and+数字组合在一起就会被拦截 ? ?...OK,我们来尝试绕过 先尝试内联注释,和之前篮子哥的绕过方法大同小异。 127.0.0.1/xxx/?id=1 and /*!1=2*/ ? ?...这里我正好想到上次bypass一个报错注入的手法,就是一个简单的换行,这里要是不懂。可以去学下数据库噻 http://127.0.0.1/xxx/?...虽然绕过了,但是并没有显示数字! ? 这里我们有SQL注入基础的都知道,咱们把数字搞成一个没有的就可以,比如0比如-5 http://127.0.0.1/xxx/php?

    55410

    1.4.1-SQL注入防御绕过-宽字节注入

    01 宽字节注入原理 什么是宽字节 GB2312、GBK、GB8030、BIG5、Shift_JIS等这些都是常说的宽字节,实际为两字节。...站点可能为了防止SQL注入,会加\转义’,最后变成' MySQL在使用GBK编码的时候,会认为两个字符为一个汉字。 使用%df’进行编码,两个字符组合,认为是一个汉字。...注:前一个Ascii码大于128才能到汉字的范围 02 宽字节注入方法 http://127.0.0.1/sqli-labs/Less-32/?...id=1" // 判断id不是注入点 因为被转义 sqlmap -u "http://127.0.0.1/Less-32/?...id=1%df" // 通过宽字节注入 ---- 宽字节注入应对策略: 使用utf-8,避免宽字节注入; ps:不仅在gbk,韩文、日文等等都是宽字节,都有可能存在宽字节注入漏洞。

    1K20

    黑客常用SQL注入绕过技术总结!

    大家好,我是冰河~~ 今天给大家再次分享一篇硬核内容,那就是黑客常用的SQL注入绕过技术,还是那句话:我们学渗透技术不是为了攻击别人的系统,而是了解黑客常用的渗透技能,以此来修复我们自己系统中的漏洞,使我们的系统更加健壮...注:这篇文章在之前发表的文章的基础上修复了几处错误,更新了几处SQL注入代码。 好了,我们开始今天的主题。...and a=[input1] and b=[input2] 这时就可以将注入语句进行拆分,如下所示: a=union/*&b=*/select 1,2,3,4 最终将参数a和参数b拼接,得到的SQL...下面以IIS为例,一般的SQL注入语句如下所示: Inject=union select 1,2,3,4 将SQL注入语句转换为以下格式。...防护的网站,只要找到网站的IP地址,通过IP访问网站,就可以绕过WAF检测。

    2.6K50

    绕过安全狗进行sql注入(MySQL)

    判断注入点 首先是判断注入点,我们通常使用的and 1=1和and 1=2都会被拦截的,贴图如下: ? 真是熟悉的界面!...不拦截 ' and(1=1) 拦截 可见如果是字符型的报错注入其实就很好判断,直接看是否报错^_^,如果想要通过and预算福判断就需要想办法绕过正则,首先and可以替换为&&,我们试一下 ?...判断字段数 接下来就是常用的order by语句的绕过了,我看freebuf有个哥们写了一篇文章,直接使用大小写就绕过了,而且他也是安全狗v4.0(他今年(2018)五月份测试的),我测试的时候大小写直接被毫不留情的拦截了...当然,我们在注入的时候需要用到union select from,这里如果直接加上from,肯定是会被过滤掉的(毕竟安全狗也不傻),所以,我们只要在from与表名之间按照union 与select之间同样的规则变形就可以绕过了...from/*@--|*//*@--|*//*@--|*/--+%0ausers*/--+ 在实战中我们还会遇到需要查询database()等函数的情况,这也需要绕过,同样可以利用前面的规则绕过,只需要把

    2K40

    SQL注入 安全狗apache4.0.26655绕过

    上次我们发了一篇SQL注入-安全狗超大数据包绕过的文章,使用的是安全狗apache3.5.12048版本,这次是4.0系列的版本,全手动注入,后续会带来这方面的视频课程和相关tamper的编写。...如果你对sql注入不是很熟悉,可以B站看下我的sqli-labs系列视频 https://space.bilibili.com/29903122 相关笔记: https://github.com/crow821...%23a%%0a*/ select 1,2,3 --+ 绕过 ? http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' union /*!...%23a%%0a*/() 因为在sql语句中,以下三种方式均可运行 ? http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' union /*!...%23a%%0a*/ select 1,2, schema_name from information_schema.schemata --+ 异常 因此这里对from进行绕过 采用老方法: http

    78610

    腾讯代码分析】经典案例分享:SQL注入漏洞

    注入漏洞是一种常见的Web应用程序安全漏洞,攻击者可以通过构造特殊的输入,将恶意的SQL代码注入到Web应用程序中,从而导致数据泄露、篡改或删除等安全问题。...下列案例对应代码分析TCA-Armory-L工具中的规则:sqli——检测代码中可能存在的SQL注入漏洞,并提供警告或建议修复的信息。...攻击者可以通过构造特殊的accountName值,将恶意的SQL代码注入到查询语句中,从而导致数据泄露、篡改或删除等安全问题。...过滤特殊字符:对用户输入进行过滤,去除可能导致SQL注入的特殊字符,如单引号、双引号、分号等。...使用预编译SQL语句:使用预编译SQL语句,将用户输入作为参数传递给SQL语句,而不是直接将用户输入拼接到SQL语句中。这样可以避免用户输入被解释为SQL代码,从而防止SQL注入漏洞。

    13910
    领券