网络安全:HPP与CSRF漏洞深度解析
1. HPP漏洞概述
HTTP参数污染(HPP)漏洞允许攻击者向URL注入额外参数,从而在用户端产生影响。客户端HPP漏洞使得攻击者能够通过修改URL参数来改变网站的行为。
例如,在转账操作的URLhttps://www.bank.com/transfer?to=67890&amount=5000&from=ABCDEF中,from参数可能被攻击者利用。当这个URL参数传递给prepare_transfer函数时,参数数组为[67890,5000,ABCDEF],如果再添加用户账户,数组变为[67890,5000,ABCDEF,12345]。在transfer_money函数中,from变量本应取用户账户值12345,但实际上引用了攻击者传递的值ABCDEF。
2. 客户端HPP漏洞示例
Luca Carettoni和Stefano di Paola给出了一个客户端HPP漏洞的示例。理论URL为http://host/page.php?par=123%26action=edit,对应的服务器端代码如下:
➊ <? $val=htmlspecialchars($_GET['par'],EN