安全会议经常遇到黑客挑战。我和我的同事已经建立了一些这样的。我们还没有完成一个包含跨站点脚本漏洞的项目。
我已经看到了这样做的挑战。一种方法是浏览器定期(我认为每 10 秒)请求某个页面(易受存储的 XSS 攻击)。成功攻击后,您的有效载荷在该浏览器中运行,挑战是提取 cookie。
这种方法的一个问题是,当多人同时处理挑战时,他们会互相干扰——你可以窃取其他人的想法。另一种想法是只使用反射型 XSS,以及一个页面,您可以在其中提交指向该站点的链接,管理员将在它上线之前对其进行审查。
浏览器保持打开多长时间是一个有趣的选择。如果它保持开放一段时间(60 秒左右),那么人们可以使用 BeEF 之类的工具,这样会更容易一些。如果它只开放 2 秒,则必须编写攻击脚本。
有许多细节会影响挑战在实践中的效果。我更喜欢那些有运行 XSS 黑客挑战经验的人的答案,这些挑战运行良好。但如果做不到这一点,我会接受有根据的猜测。
如果有帮助,我们倾向于参加英国的技术会议,例如 B-Sides Manchester、SteelCon、SecuriTay。
此外,欢迎任何有关保护浏览器免受 JavaScript 攻击的提示!