代码之家  ›  专栏  ›  技术社区  ›  Rakesh Juyal

在用户指定src路径的图像中设置src属性时,需要注意吗?

  •  1
  • Rakesh Juyal  · 技术社区  · 15 年前

    我正在创建一个页面,用户将在其中指定图像的url。这个url将存储在DB中,然后检索回来以显示图像。到目前为止,如果用户不想恶作剧,这是好的。

    但现在过去了 http://ha.ckers.org/xss.html ,用户还可以指定一个实际上是脚本的url。

    <IMG SRC=javascript:alert('XSS')> 
    

    我在一页纸上试过,但没有造成任何伤害。[未显示警报] 关键是,我真的需要关心用户指定的是什么吗?如果是,那么我需要考虑哪些情况/场景,以及如何做到这一点?

    3 回复  |  直到 15 年前
        1
  •  5
  •   tshao    15 年前

    只要你从不可信的来源得到任何东西,你就需要处理它。在这种情况下,用户可以编写一些有害的代码来破坏html。

    <img alt='' src='' />alert('xss');<!--'-->
    

    此外,当用户输入在不同的地方使用时,应该以不同的方式进行处理。例如Url编码,Html编码,Javascript编码。

    总之,不要相信用户的输入!

        2
  •  1
  •   Shadow Wizard    15 年前

    在存储到数据库中之前,请确保:

    1. 有效的URL(每种服务器端语言都有自己的方法)
    2. 有效映像(在服务器端使用某种XMLHTTP/WebRequest并解析内容)

    如果您有ASP.NET步骤2,那么使用WebResponse流创建新位图就变得很简单,并查看它是否成功以及位图是否有效。

        3
  •  0
  •   Fidi    15 年前

    他还可以提供 myevilscript.php 他在那里做一些php的事情。所以事实上你真的不应该这样做:)

    推荐文章