HTTP参数污染注入源于网站对于提交的相同的参数的不同处理方式导致。
例如:
www.XX.com/a?key=ab&key=3
如果服务端返回输入key的值,可能会有
一: ab
二:3
三:ad3
这三种不同的方式。
具体服务端处理方式如下:
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) |
假设输入www.xx.com/a?key=select&key=1,2,3,4 from table
服务端有可能会将key处理为select 1,2,3,4 from table,从而导致SQL注入。
时间: 2024-10-10 02:54:01