HTTP参数污染
HTTP Parameter Pollution简称HPP,所以有的人也称之为“HPP参数污染”。
一篇很不错关于HPP参数污染的文章:http://www.paigu.com/a/33478/23535461.html
如文章中所言,HPP并非一个漏洞,但是网站存在SQL或者XSS,在有WAF的情况之下可以帮助黑客进行绕过WAF。
那么什么是HPP参数污染呢?
假设这个URL:http://www.xxxx.com/search.php?id=110&id=911
百度会理解成让百度搜索:110 #选择了第一个参数,放弃了第二个参数。
雅虎会理解成让雅虎搜索:911 #选择了第二个参数,放弃了第一个参数。
谷歌会理解成让谷歌搜索:110 911 #两个参数同时选择。
主要的就是这三种情况了。
这主要是源于,不同的网站对处理参数的处理方式不同。PS:跟米哥一起学习的,总结米哥的,感觉我总结的还是欠妥当。
那么注入是怎么跟HTTP污染产生关系的呢?
倘若是第三种情况,也就是第一个参数取第二个参数也取。那么大家请看下面的URL
http://www.xishaonian.com/hello.php?id=select 1&id=2,3,3 from admin
该种情况还可用于Bypass WAF.
当然还可以与XSS结合。
具体服务端处理方式如下:
|
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) |
HTTP参数污染的更多相关文章
- 学习笔记 HTTP参数污染注入
HTTP参数污染注入源于网站对于提交的相同的参数的不同处理方式导致. 例如: www.XX.com/a?key=ab&key=3 如果服务端返回输入key的值,可能会有 一: ab 二:3 三 ...
- HTTP参数污染【转】
HTTP参数污染注入源于网站对于提交的相同的参数的不同处理方式导致. 例如: www.XX.com/a?key=ab&key=3 如果服务端返回输入key的值,可能会有 一: ab 二:3 三 ...
- 通过HTTP参数污染绕过WAF拦截 (转)
上个星期我被邀请组队去参加一个由CSAW组织的CTF夺旗比赛.因为老婆孩子的缘故,我只能挑一个与Web漏洞利用相关的题目,名字叫做”HorceForce”.这道题价值300点.这道题大概的背景是,你拥 ...
- WEB安全番外第一篇--其他所谓的“非主流”漏洞:URL跳转漏洞与参数污染
一.URL跳转篇: 1.原理:先来看这段代码: <?php if(isset($_GET["url_redircetion_target"])){ $url_redirect ...
- 【sqli-labs】【jsp/tomcat】 less29 less30 less31 less32 (GET型利用HTTP参数污染的注入)
sqli-labs带了几个Java版本的web注入,在tomcat-files.zip里 以Less29为例,查看源码,可以看出请求最后还是提交给了php应用,难怪less29文件夹下有一个没有任何防 ...
- HTTP参数污染学习
HTTP参数污染 --- HPP 参考: 参数污染漏洞(HPP)挖掘技巧及实战案例全汇总 视频内容 HPP,简而言之,就是给参数赋上多个值. 比如: https://www.baidu.com/s?w ...
- HTTP参数污染(HPP)漏洞
HPP(HTTP参数污染) HPP是HTTP Parameter Pollution的缩写,意为HTTP参数污染.原理:浏览器在跟服务器进行交互的过程中,浏览器往往会在GET/POST请求里面带上参数 ...
- 一枚通过参数污染绕过百度RASP的XSS
日常工作过程中,偶然发现一个网站登录页面,在页面返回包中存在一个隐藏参数"mess",且该页面部署了百度RASP进行防护,本文介绍如何发现隐藏参数以及如何通过参数污染方式造成XSS ...
- HTTP参数污染(参数处理图)
随机推荐
- [bzoj1597][usaco2008 mar]土地购买 (动态规划+斜率优化)
Description 农夫John准备扩大他的农场,他正在考虑N (1 <= N <= 50,000) 块长方形的土地. 每块土地的长宽满足(1 <= 宽 <= 1,000, ...
- HTML5中支持新的媒体元素有这些
HTML5对媒体的支持性很强,支持以下媒体元素: · audio 定义音频 · video 定义视频 · embed 作为外部应用的容器 · source 多种媒体源的支持 · track ...
- apache 多站点配置
安装时可以选择gbk-gb2312的编码(我自己用utf-8). 2: 修改本机的hosts文件,如下: 示例:127.0.0.1 localhost127.0.0.1 ...
- Python list
序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表和元组. 序列 ...
- 备忘:maven 中指定版本
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> ...
- JDBC连接各种数据库的地址名称
oracle driverClass:oracle.jdbc.driver.OracleDriver url:jdbc:oracle:thin:@127.0.0.1:1521:dbname ...
- CREATE TABLE 表名 AS SELECT 语句
1.新表不存在复制表结构即数据到新表 ? 1 2 create table new_table select * from old_talbe; 这种方法会将old_table中所有的内容都拷贝过来, ...
- 跳转到某个Activity
跳转 Activity之间的跳转 可以依靠Intent 简单粗暴的办法是 Intent intent= new Intent(*.this, MainActivity.class); startAct ...
- js-JavaScript高级程序设计学习笔记21 改善JavaScript性能的方法
第24章 最佳实践 1.性能 1.避免全局查找 将在一个函数中会用到多次的全局对象保存在局部变量.比如多次使用document.getElement...,可以首先var doc=document,把 ...
- Python操作Mysql之基本操作
pymysql python操作mysql依赖pymysql这个模块 下载安装 pip3 install pymysql 操作mysql python操作mysql的时候,是通过”游标”来进行操作的. ...