Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 试图通过pci Compliance,但存在跨站点脚本问题_Security_Iis 6_Xss_Pci Compliance - Fatal编程技术网

Security 试图通过pci Compliance,但存在跨站点脚本问题

Security 试图通过pci Compliance,但存在跨站点脚本问题,security,iis-6,xss,pci-compliance,Security,Iis 6,Xss,Pci Compliance,我目前正试图通过我客户的一个站点的PCI合规性测试,但测试公司正在标记一个我不理解的漏洞 测试公司提供的(现场移除)详细信息如下: 这里的问题是跨站点的 脚本漏洞 通常与电子商务相关 应用。测试之一 在GET中附加无害脚本 在您的站点末尾请求 网址。它被标记为跨站点 脚本漏洞,因为 与用户输入的脚本相同 用户(我们的扫描仪)已由 标头中未初始化服务器。在里面 在本例中,脚本以 标题,所以我们的扫描仪标记了 脆弱性 这是我从我的电脑上运行的测试 要复制此文件,请执行以下操作: 得到 /?osCsi

我目前正试图通过我客户的一个站点的PCI合规性测试,但测试公司正在标记一个我不理解的漏洞

测试公司提供的(现场移除)详细信息如下:

这里的问题是跨站点的 脚本漏洞 通常与电子商务相关 应用。测试之一 在GET中附加无害脚本 在您的站点末尾请求 网址。它被标记为跨站点 脚本漏洞,因为 与用户输入的脚本相同 用户(我们的扫描仪)已由 标头中未初始化服务器。在里面 在本例中,脚本以 标题,所以我们的扫描仪标记了 脆弱性

这是我从我的电脑上运行的测试 要复制此文件,请执行以下操作:

得到 /?osCsid=%22%3E%3iframe%20src=foo%3E%3C/iframe%3E HTTP/1.0主机:(已删除)

找到HTTP/1.1 302 连接:关闭 日期:2011年1月11日星期二23:33:19 GMT 服务器:Microsoft IIS/6.0 X-Powered-By:ASP.NET X-AspNet-Version:2.0.50727 地点:http://www.(已删除)。co.uk/index.aspx?osCsid=“> 设置Cookie:ASP.NET_SessionId=bc3wq445qgovuk45ox5qdh55;path=/;HttpOnly 缓存控制:专用 内容类型:text/html;字符集=utf-8 内容长度:203 移动的对象 对象移动到。 解决这个问题的办法是 对这些类型的 请求,确保 可能触发的可执行脚本是 未在页眉或页面上返回


首先,我无法得到测试人员所做的结果,它只会返回一个不包含位置的200头,也不会返回对象移动页面。其次,我不确定如何返回(在iis 6上)停止返回包含查询字符串的头!最后,为什么头中的代码很重要,浏览器肯定不会从http头执行代码?

请求:
GET/?osCsid=%22%3E%3Ciframe%20src=foo%3E%3C/iframe%3E http/1.0主机:(已删除)

这里的问题是

答复案文:

 <html><head><title>Object moved</title></head><body>
 <h2>Object moved to <a href="http://www.(removed).co.uk/index.aspx?osCsid=&quot;>&lt;iframe src=foo>&lt;/iframe>">here</a>.</h2>
 </body></html>
它包含请求字符串中的内容

基本上,有人可以向其他人发送一个链接,其中您的osCsid包含允许以不同方式呈现页面的文本。您需要确保osCsid对输入进行清理或过滤,以防出现类似情况。例如,我可以提供一个字符串,允许我加载任意javascript,或使页面呈现r完全不同



作为旁注,它试图将您的浏览器转发到该不存在的页面。

结果表明,我有一个响应。重定向用于通过https访问的任何页面,这些页面不需要安全,这将返回位置作为重定向的一部分。将此更改为:

Response.Status = "301 Moved Permanently";
Response.AddHeader("Location", Request.Url.AbsoluteUri.Replace("https:", "http:"));
Response.End();

修复了这个问题

问题是,我不使用osCsid做任何事情,它与站点没有任何关联(这不是oscommerce站点)。他们说任何查询字符串参数都可以用于此目的,不管我的网站是否使用它!对了,忘了osCsid意味着什么,关键是你让某人提供将被注入页面的代码。如果他们可以提供该参数,并且它在HTML中的某个地方出现,那就是一个问题。绝对的ly,我明白了。但是代码不是在html中出现的,而是在http头中出现的!这没关系。
位置:
头标记发送一个重定向,因此如果他们可以将其处理到一个损坏的页面,他们就“破坏”了你的网站。----其次,如果你上面显示的数据是实际的示例,那么它是在html中出现的,对吗下面
content length:203
您拥有新行和页面数据。您网站的编程或web服务器上存在允许注入代码的内容,这会影响重定向和数据负载。
  http://www.(removed).co.uk/index.aspx?osCsid=&quot;>&lt;iframe src=foo>&lt;/iframe>
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location", Request.Url.AbsoluteUri.Replace("https:", "http:"));
Response.End();