网站地图    收藏   

主页 > 后端 > 网站安全 >

POST/GET参数名称注射 - 网站安全 - 自学php

来源:自学PHP网    时间:2015-04-17 13:03 作者: 阅读:

[导读] 在测试web应用漏洞的时候,通常渗透师会尝试找出所有输入点,如cookie、POST\GET参数、HTTP头等,发现之后在这些部分注入恶意数据,如下:Cookie: --attack freebuf string--name= --attack freebuf st...

在测试web应用漏洞的时候,通常渗透师会尝试找出所有输入点,如cookie、POST\GET参数、HTTP头等,发现之后在这些部分注入恶意数据,如下:
Cookie: --attack freebuf string--
name= --attack freebuf string--
uri?name= --attack freebu string--
普通渗透屌丝都会在接受参数的值里面输入测试字符,但是很少对参数的名称进行测试,我们来看一段代码了解以下如何利用参数的名称来输入恶意代码:
java.util.Enumeration e = request.getParameterNames();
    if (e.hasMoreElements()) {
        String name = (String)e.nextElement();
        String value = request.getParameter(name);
        qs= name+"="+java.net.URLEncoder.encode(value,"utf-8");
        while (e.hasMoreElements()) {
            name = (String)e.nextElement();
            value = request.getParameter(name);
            qs += "&"+name+"="+java.net.URLEncoder.encode(value,"utf-8");
        }
    }
注意这句 www.2cto.com
qs += "&"+name+"="+java.net.URLEncoder.encode(value,"utf-8");
只有参数的值进行了URLEncoder编码
查询字符串连接在了iframe的SRC属性,输出如下
<iframe src="xxxx.com?search.aspx?<%=qs%>
ok,我们可以来尝试下在参数的名称里面输入XSS代码,如下:
%22%20onmouseover%3d"alert(1111)">%20DANUX</iframe> <iframe a%3D"=
浏览器里输出如下:
<iframe src="xxxx.com?search.aspx?" onmouseover="alert(1111)">DANUX</iframe> <iframe a=""></iframe>
可以看到HTML正常闭合,导致XSS代码成功执行,如前所述,至少我现在发现在各扫描器里面未发现如上测试的方法。
以下为WebInspect 9.X扫描的结果,没有测试参数的名称。
 
作者 FreebuF.COM
 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论