【问题标题】:XSS - Which browsers automatically escape urls in the address bar?XSS - 哪些浏览器会自动转义地址栏中的 url?
【发布时间】:2014-09-09 12:01:14
【问题描述】:

我最近在我的 网站上执行了一些 / / 并注意到现代(即最新的FF 和Chrome)正在转义输入到地址栏中的网址。

所以:

http://example.com/search/?q=">

被发送到我的服务器:

http://example.com/search/?q=%22%3e%3cscript%3ealert(%27hi%27)%3b%3c%2fscript%3e

是否有所有(主要)浏览器执行此操作和不执行此操作的列表?移动浏览器会这样做吗?

【问题讨论】:

    标签: xss javascript-injection penetration-testing asp.net web-browser javascript asp.net browser xss penetration-testing


    【解决方案1】:

    我认为所有浏览器都会转义 URL,除了那些有错误且不遵循 RFC (RFC3986) 的浏览器。

    【讨论】:

    • 你知道哪个 RFC 手头吗?
    • 根据 RFC3986 tools.ietf.org/html/rfc3986 2.4. Once produced, a URI is always in its percent-encoded form. 并且“查询”可以包含编码、ALPHA、DIGIT 或其他一些未提供的。 “”都不是,它们必须被编码。另一方面,一些有问题的浏览器(你知道我的意思是 IE)在以前的版本中确实错误地接受了 unicode 字符。
    • 这听起来有点奇怪。 RFC 已经有将近 10 年的历史了,但我所见过的 XSS 示例都没有提到 FF 和 Chrome 通常不受坏链接的影响,因为它们正确地转义了 url,这只是一个 IE 问题。我不是说这是错的,但你还有证据吗?
    • @PhilipPittle 当然,IE 团队已经在博客中介绍了它。 blogs.msdn.com/b/ieinternals/archive/2014/04/22/…
    【解决方案2】:

    如果我没记错的话,你可以使用http://browsershots.org/ 或类似的东西来测试它。

    示例测试:http://browsershots.org/requests/12461378

    【讨论】:

    • 不错的工具,但并非真正用于此目的。浏览所有这些屏幕截图只是为了查看 URL..
    • @MDeSchaepmeester 想法是,如果这种注入有效,您会在图像上看到弹出窗口。这不是最好的浏览器查看器(图像很快就会过期),但想法仍然存在。
    • 对不起,我应该更清楚,我上面给出的例子只是句法上的,它没有显示真正的攻击。所以虽然这个工具很酷,但不幸的是它没有用(AFAIK)。我尝试过的主要浏览器(FF、Chrome、IE)都掩盖了他们正在这样做的事实。也就是说,你无法从地址栏看出 url 已经被转义了。
    猜你喜欢
    • 1970-01-01
    • 2015-02-09
    • 1970-01-01
    • 2017-01-05
    • 1970-01-01
    • 2017-05-31
    • 1970-01-01
    • 2013-08-21
    • 2012-02-14
    相关资源
    最近更新 更多