保存HTML文档时的XSS

时间:2018-10-03 19:15:15

标签: javascript html5 web-applications xss

输入时

<script>alert(1)</script>

提交后生成的HTML是

<form action="/action_page.php"  novalidate>
  E-mail: <input type="email"  Id="user_email">"<script>alert(1)</script>
  <input type="submit">
</form>

并且未触发xss。 如果我用

替换有效负载
<img src=xss onerror=alert(1)>

触发Xss! 这xss与id属性一起发生! 在浏览器中。

所以我想知道两件事。

  1. 如果这是一个漏洞,则攻击者如何使用它。我的意思是将使用什么有效载荷。导致xss与Id=属性一起发生

  2. 如果这是一个漏洞。我该如何解决?

我是初学者。如果你们回答我的问题,我会很高兴。

谢谢。

1 个答案:

答案 0 :(得分:-1)

  
      
  1. 如果这是一个漏洞,则攻击者可以如何使用它。我的意思是将使用什么有效载荷。导致Xss与Id =属性一起发生
  2.   

XSS发生的位置 并不重要,重要的是攻击者能够执行任意javascript。带有<script>标签的XSS与HTML属性中的XSS具有相同的影响。无论哪种情况,攻击者都可以执行以下操作:

  • 加载一个外部脚本,该脚本记录页面上的所有按键操作
  • 修改页面的外观/行为以捕获凭据
  • 以经过身份验证的用户身份发出请求
  • 将Cookie中的秘密值发送给攻击者
  • 几乎所有您认为与javascript有关的事情

如果您想举一个简单的例子,您只需拿起警报的有效负载,然后将其替换为您在此处找到的内容:How do I include a JavaScript file in another JavaScript file?。我认为对无法测试的页面提出有效的利用要求太多,但是您应该明白这一点。

  
      
  1. 如果这是一个漏洞。我该如何解决?
  2.   

对我来说,这听起来确实像是存储的XSS漏洞。有很多防止PHP中XSS的来源。您可以查看以下一些问答:

我也建议您阅读以下页面:https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet

最后,如果可能的话,请具有更多安全专业知识的人员检查您的代码。