Quickjack 是一款直观的点选式工具,用于执行高级且隐蔽的点击劫持和框架切片攻击。
直接使用 Quickjack 工具访问:http://samy.pl/quickjack/quickjack.html
作者 @SamyKamkar // [email protected] // http://samy.pl // 2014年12月22日
代码托管在 github
Quickjack 让你能轻松执行 点击劫持,即从许多网站的用户那里窃取“点击”,迫使他们在不知情的情况下,利用自己的 cookie 点击按钮或链接(例如 Facebook 的点赞按钮)。将自动生成的代码部署到任何网站,你就能从不同用户那里快速获取数千次点击,或者通过引诱受害者访问特定 URL 来执行定向攻击。它还能欺骗用户,让你看起来拥有他们实际并不具备的信息,或者在不被察觉的情况下诱导用户向你提供信息。
在演示中,我们将在用户不知情的情况下窃取 Facebook 点赞,同时在我们自己的网站上展示用户的 imgur 用户名。
Quickjack 不仅支持轻松的点选式代码生成,其底层的 iframe 还会跟随用户的鼠标在页面上移动,隐藏点击劫持框架,甚至能在检测到用户点击发生后移除点击劫持,让用户实际执行原本意图的点击操作。
Quickjack 还包含一个框架切片工具,允许你捕获页面的一小部分并展示给用户,诱导他们相信你拥有这些信息。例如,截取某个网站通常显示用户姓名的区域,然后将该框架切片放在你自己的网站上,制造出你知晓其姓名的假象。
你甚至可以利用框架切片从用户那里获取信息,比如截取某个网站上用户姓名的不同字符,重新排列后混入其他字母和数字,将其变成验证码。用户输入验证码时,实际上只是输入了他们姓名的变体(加上你后续去除的其他字符),你就能推断出他们的姓名!
在本项目中,我们将了解 Quickjack 如何实现这些方法,以及点击劫持和框架切片的工作原理,还会介绍 Quickjack 工具中一些更高级的技术,这些技术能实现更强大的点击劫持,并展示在 Facebook 等网站上的真实演示。
Quickjack 最初源自一款现已下线的“蛋糕切片”应用。
点击劫持最早由杰出的 Robert Hansen 和 Jeremiah Grossman 发现。
使用 Quickjack 工具访问:http://samy.pl/quickjack/quickjack.html
你可以直接 在线使用 Quickjack,或者从我的 GitHub 获取源代码:https://github.com/samyk/quickjack
你可以通过 这个视频 看到我们如何在几秒钟内为 Facebook 创建点击劫持攻击。
查看 HTML 演示(可能不会长期存在):http://samy.pl/quickjack/pwned.html 该页面点击劫持了以下页面: http://samy.pl/quickjack/fb.html 该页面包含一个指向 Facebook 的 iframe!
点击劫持 最早由杰出的 Robert Hansen 和 Jeremiah Grossman 发现。
Quickjack 让点击劫持变得有趣又简单!它还增加了一些高级功能,使得点击劫持更加强大和隐蔽。
通过跟踪鼠标,Quickjack 将隐藏的点击劫持 iframe 始终保持在用户鼠标指针正下方。这确保了用户一旦在页面上点击,就被劫持。
传统上,由于跨域策略,攻击者无法检测点击劫持何时发生。但我们通过确保焦点始终在我们控制的父窗口中,绕过了这一限制。虽然我们无法检测点击劫持框架内的点击或焦点,但我们可以检测父窗口(我们控制的窗口)失去焦点(blur)这一事件!
这意味着,一旦用户在 iframe 内点击(而不知情),我们的窗口就会触发 blur 事件,从而调用一个特殊函数。该函数会进一步隐藏点击劫持 iframe,确保用户的下一次点击实际发生在他们所在页面上!太棒了!
来源清除是指移除你的 HTTP 引用来源,使得目标域名无法发现点击劫持攻击的起源。该功能可通过多次重定向,或通过 HTTP 与 HTTPS 之间的切换来实现。
我们使用一些较旧的方法来规避框架破坏,从而阻止某些浏览器中的网站使用框架跳出/破坏。
我们使用直观有趣的框架切片技术,让你能够从任何页面中切出一个框架。以下是来自 imgur 的一个实际框架切片(并非图片)。
你可以使用 X-Frame-Options HTTP 头部,或遵循 OWASP 提供的其他优秀指南,来防范 Quickjacking、点击劫持或框架切片。
欢迎随时联系我!
在 Twitter 上关注 @SamyKamkar!
你可以访问 http://samy.pl 查看我的更多项目,或通过 [email protected] 联系我。