Java教程

sql注入之HTTP参数污染

本文主要是介绍sql注入之HTTP参数污染,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

sql注入之HTTP参数污染

简介

http参数污染即HPP(HTTP Parameter Pollution),是一种注入型漏洞,攻击者通过 在HTTP请求中插入特定的参数来发起攻击。如果web应用中存在这样的漏洞可以被攻击者利用来进行客户端或服务器端的攻击。

在sql注入的应用则是可以达到绕过sqlwaf的目的。

原理

在跟服务器交互的过程中,http允许get或者post多次传同一个参数,造成覆盖从而绕过waf的效果。也就是http协议允许同样的名称的参数出现多次

但是不同服务器的处理方式会不一样。

必应:

 

对于同样的参数,必应会处理后一个参数

但是对于谷歌,会两个参数一起处理。

一些常见的web服务器对同样名称的参数出现多次的处理方式:

Web服务器参数获取函数获取到的参数
PHP/Apache $_GET("par") Last
JSP/Tomcat Request.getParameter("par") First
Perl(CGI)/Apache Param("par") First
Python/Apache getvalue("par") All(list)
ASP/IIS Request.QueryString("par") ALL(comma-delimited string)

应用

waf绕过

如果waf会将union给过滤掉,那么我们可以利用HHP绕过

如上传的参数为在特定情况下为bbs=u&bbs=n&bbs=i&bbs=o&bbs=n&bbs=select 1,user(),3如果服务器端是将获取到的参数组合的话,就可以达到绕过的目的。

组合起来就是union select 1,user(),3

文件上传

XSS

暂不详细介绍

这篇关于sql注入之HTTP参数污染的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!