less29(http参数污染)

基于WAF的一个错误

这一关要点进login.php才是题目,如果点进index.php就是第一关一样了。这题是基于http污染
img

漏洞描述

HTTP参数污染漏洞(HTTP Parameter Pollution)简称HPP,由于HTTP协议允许同名参数的存在,同时,后台处理机制对同名参数的处理方式不当,造成“参数污染”。攻击者可以利用此漏洞对网站业务造成攻击,甚至结合其他漏洞,获取服务器数据或获取服务器最高权限。

原理

浏览器在跟服务器进行交互的过程中,浏览器往往会在get/post请求中带上参数,这些参数以名称-值的形式出现,通常在一个请求中同一个名称参数只会出现一次,但在http协议中是允许出现多次的。
例如:
http://www.baidu.com?name=a&name=b,
百度解析的name值为-- a
雅虎解析的name值为-- b
谷歌解析的name值为-- a b

解析:不同的服务器针对同一个名称出现多次的情况处理方式也不一样,有的服务器取第一个值name=a,有的服务器取第二个值name=b,也有的服务器两个参数都取 name=a,b。这种特性在绕过一些服务器的逻辑盘点时非常有用。

hpp漏洞与web服务器环境,服务端使用的脚本有关,如下是不同web服务器对于出现多个参数是的选择:
img

这关可以看一下对于login页面的过滤,这里他是写了一个正则来只匹配数字,如果有数字以外的输入就跳到hacked页面。
img
img
img

但是他这里只对第一个参数进行匹配,匹配第一个参数第3个字符起最多匹配30个字符。没有对第二个参数进行过滤,那么可以构造两个参数来绕过过滤。具体要看是什么样的脚本和服务器的配置。
img
img
img
由于我这里是php+apache,服务器解析的是第二个参数,那可以直接在第二个参数上面注入。
img
img

作者:qianyuzz

出处:https://www.cnblogs.com/qianyuzz/p/17060024.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   qianyuzz  阅读(73)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示