【问题标题】:iFrame - is it a security risk having details in URL?iFrame - 在 URL 中包含详细信息是否存在安全风险?
【发布时间】:2013-12-15 18:05:55
【问题描述】:

一家我不想提及的公司希望我们使用包含用户信息的 URL 填充 iFrame。此信息将用于在 iFrame 中预填充表单。这是否存在安全风险,因为可以在源代码中查看详细信息。详细信息是名字姓氏、地址等。该网站自始至终都在使用 SSL……如果有帮助的话

这是网址:

https://moomooooo/dd.ehtml?user_id=5876745
&fname=vghfhfh
&lname=fhfghf
&title=MR
&gender=M
&dateOfBirth=03
&monthOfBirth=10
&yearOfBirth=1946
&housenum=233
&street=fghfhfghfg
&town=fhfghfgh
&postcode=S5g%207r4
&yearsAtAddress=07
&email=fghfg876jjfwdsdasd@gmail.com
&phone=447545555577540555721

【问题讨论】:

  • 你能用 POST 代替 GET 吗? Facebook 使用 POST 向 iFrames 提交用户详细信息。他们在外部页面中有一个 HTML 表单,其 target="iframename" 在页面加载时通过 JavaScript 提交。

标签: html security iframe


【解决方案1】:

如果您使用的是 HTTPS,URL parameters will be crypted too 因此理论上没有人能够看到它们。这就是说,您可能最好必须使用 id 或令牌打开带有 url 的 iframe,并让 iframe 在初始化期间加载它的正确内容,在 URL 中存储敏感信息永远不会好(最后一个可以存储在浏览器历史记录中)

【讨论】:

  • 默认情况下,URL 也将存储在服务器日志中,因此可以在服务器端生成令牌。
【解决方案2】:

这种传递参数的方式本身并没有风险,但这允许攻击者有办法对许多攻击向量进行测试。

我会尝试的攻击是跨站点脚本(在受害者机器中执行 JS 代码)、访问其他用户信息、SQL 注入、执行 SSL 剥离和嗅探获取此信息的受害者流量,仅举几例。

我的建议是,您可以以某种方式在 SESSION 中传递它,将这些字段填充到数据库中,以便通过哈希访问它们,或者至少通过 POST 传递它。

【讨论】:

  • 通过 POST 传递并不能神奇地防止 XSS 和 SQL 注入。
  • 当然,它不能神奇地防止 XSS 和 SQL 注入,我没有这么说。这就是为什么我说“至少”
猜你喜欢
  • 2012-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多