查看原文
其他

XSS攻击思路总结

国光 天虞实验室 2023-10-31
目录

○ 鉴别网站

○ 攻击思路

○ 总结


XSS 攻击思路总结

前几天看到 B 站 up 主公孙田浩投稿的视频「QQ 被盗后发布赌博广告,我一气之下黑了他们网站」,看完后不禁感叹为啥自己没有那么好的运气…… 实际上这就是一个中规中矩的 XSS 漏洞案例,在安全圈子里面应该也算是基本操作,正好博客以前没有记录过类似的文章,那么本文就来还原一下这个攻击过程。


鉴别网站

NO.1

下面是一个经典的 QQ 空间钓鱼网站:



域名分析:

钓鱼网站最直观的就是看域名,可以看到目标网站域名 :qq.xps.com 尽管域名中出现了 qq 字样,但是一级域名却是 xps.com 这一点就直接暴露了钓鱼网站的本性。


早期还有一种利用拉丁字母注册的域名伪造钓鱼网站的案例,这种就比较逼真了,下面国光简单列举一些:


OPPO 官网 真假域名



Pornhub 官网真假域名



唯品会官网 真假域名



关于这类域名就不再列举了,早期这种方法成功率是非常的高的,有时候甚至都可以欺骗到我们这种专业的信息安全从业者。


功能分析:

钓鱼网站为达到攻击效果,通常会有后台管理功能。


所以,使用常规的目录扫描工具多半可以扫描出一些端倪出来:





果然扫描出了这个 QQ 空间钓鱼网站的后台登录口了:

http://qq.xps.com/admin/login.php




至此基本上已经可以确定这个目标网站就是传说中的钓鱼网站了,下面来看一下这个钓鱼网站是如何运作的吧。


钓鱼流程:

小白用户前台输入自己的 QQ 账号和密码信息,点击登录后域名跳转到真正的 QQ 官网:


然后用户再输入自己的 QQ 账号和密码就可以成功登录了。


目前很多钓鱼网站都是这种思路,这可以让被钓者产生一种自己第一次是密码不小心输入错误的错觉,从而放松警惕,妙啊!


真是妙蛙种子吃着妙脆角,妙进了米奇妙妙屋,妙到家了




然后钓鱼网站的管理员每天会到自己的 QQ 空间钓鱼管理中心里面看看今天又有哪些菜鸡上钩了:



可以看到上钩者的 QQ 号为:1314520 密码为:sbhac… 唉,不对劲?貌似自己被羞辱了一番……


攻击思路

NO.2

本文主要是来梳理一下 XSS 常剑的攻击思路,关于 XSS 以为的思路不在本文的叙述范围内,另外如果有小伙伴要不错新的姿势的话欢迎进主页评论或者邮件留言,国光日后会继续完善本文的。


思路一:XSS盲打

如果目标网站存在 XSS 的话且没有 httponly 防御 cookie 那么就可以直接盲打 XSS。首先准备一个 XSS 靶场,国光这里比较推荐 Github 上面开源的蓝莲花 XSS 平台。


官方项目地址为:

https://github.com/firesunCN/BlueLotus_XSSReceiver


可惜已经清空数据了,还好国光我 fork 了一份:


国光 fork 的项目地址为:

https://github.com/sqlsec/BlueLotus_XSSReceiver



然后使用 XSS 平台里面的模块来生成一个 XSS payload:



可以去掉多余的双引号:



然后回到钓鱼网站前台,在用户名或者密码出插入 payload(理论上来说 密码处成功率要高一点),如果有表单长度限制的话,可以手工审查元素修改 input 的长度限制:



这样黑客攻击的步骤基本上就走完了,下面回到钓鱼网站管理员的视角。


钓鱼网站的搭建者到自己的 QQ 空间钓鱼管理中心里面看看今天又有哪些菜鸡上钩了:



发现真的有菜鸡上钩,密码居然是 1111111111 嘴角忍不住上仰。


此时他不知道的是,用户账号旁边实际上有一串 JS 代码被解析了,而此时黑客在 XSS 平台里面可以直接看到管理员已经上钩了:



可以直接看到管理员的后台地址和 cookie 信息,拿到后台地址和 Cookie 信息就可以直接抓包替换 Cookie 登录到钓鱼网站的后台,这些基本操作国光我就不在啰嗦了,下面来说一下另一种思路。


思路二:SET 钓鱼

假设目标网站存在 httppnly 的话,我们拿到的 cookie 信息也是不完整的,所以传统的思路是行不通的,这种情况下该怎么办呢?


仔细想想,既然不能正面肛 httponly 的话,那么为什么不考虑绕过他呢?


下面国光主要描述一下如何使用 Kali Linux 里面的 set 社工工程学工具包来进行钓鱼。


SET 在 Kali Linux 里面的全称是 social engineering toolkit:

Github 项目地址为:

https://github.com/trustedsec/social-engineer-toolkit


启动后,首先会看到如下的菜单:



选择 1 后进入到下面的菜单:


选择 2 后进入到下面的菜单:



选择 3 进入到下面的菜单:



选择 2 然后具体看下下面的操作:



这个时候一个假的钓鱼网站就制作完成了,访问 Kali Linux 的 80 端 10.20.25.39 效果如下:


这个登录入口和 qq.xps.com/admin/login.php 的登录口一模一样:



现在的任务就是想办法让管理员在假的网站里面输入网站的后台用户名和密码信息,那么该怎么诱导管理员点击呢?对,聪明的网友肯定想到了,还是利用 XSS,准备下方的 payload,这个 XSS 的作用就是普通的链接跳转:


然后将这个 payload 插入到钓鱼网站的后台中:



此时管理员到自己的 QQ 空间钓鱼管理中心里面看看今天又有哪些菜鸡上钩了,结果没想到网站浏览器却跳转到了:10.20.25.39 页面,这个就是我们制作的假的 QQ 空间钓鱼管理中心的登录界面。


如果管理员大意的话,这个时候会以为登录会话超期了,需要重新登录,就在我们假的网站后台里面输入了真正的密码:


我们这个假的网站也非常妙,登录后自动转发到正确的网站登录成功,真是学以致用呀~~


管理员放松警惕的同时,我们的 Kali Linux 里也窃取到管理员的明文账号和密码信息了:

拿到这个后台就可以成功登陆了,Bingo ~


当然如果管理员是一个有很高安全意识的人,可能是不会上当的,本案例仅供意淫参考使用,实际运用还是得看运气。


思路三:Flash 钓鱼

这也是 B 站 视频里面提到过的方法,首先我们需要准备一个钓鱼页面,这里在 Github 上搜索到了 2 个 相关的项目,下面分别展示一下:


项目地址:https://github.com/Wileysec/adobe-flash-phishing-page


模仿的 Flash Player 中文官网的页面



项目地址: 

https://github.com/r00tSe7en/Flash-Pop


这种的就要稍微激进一点,强迫症都会忍不住去点击下载的:



国光这里选择了第 2 种激进的方法,点击立即升级的这个按钮点击会下载好国光我准备好的 CS 木马。如果管理员以为自己的 Flash 版本过低的话,可能会下载并运行这个木马:


这里偷懒了没有给 Flash.exe 添加图标伪造一下,关于图标伪造大家可以参考之前的文章:


为 Cobalt Strike exe 木马添加图标


如果顺利的话就会成功上线 CS:


思路四:CS钓鱼

补充一个思路,除了使用 Kali 里面的 SET 来构建钓鱼网站,使用 Cobalt Strike 也是可以轻松构建出一个钓鱼网站的,操作也比较简单:


「攻击」-「钓鱼攻击」-「克隆网站」:


具体的配置如下,记得勾选键盘记录:



接着访问 8022 端口发现的确克隆成功:



然后和上面思路一样,借助 XSS 强制让目标人员访问到我们的这个 CS 模仿的网站。如果成功的话,在 Web 日志的控制台里面可以看到被钓鱼者的键盘明文记录的:


总结

NO.3

免责声明:本文出现的思路案例仅供网络安全学习和研究技术使用,禁止使用本博客的黑客技术工具用于非法用途,否则后果自负,另外文中所使用的 QQ 空间钓鱼网站是人为修改的漏洞靶场


总的来说国光认为 XSS 实战的套路大体上就这些,日后如果有新的姿势的话,会考虑到继续完善更新这篇文章的。


本文可能实际上也没有啥技术含量,但是写起来还是比较浪费时间的,在这个喧嚣浮躁的时代,个人博客越来越没有人看了,写博客感觉一直是用爱发电的状态。


如果你恰巧财力雄厚,感觉本文对你有所帮助的话,可以考虑打开原文博客打赏一下本文,用以维持高昂的服务器运营费用(域名费用、服务器费用、CDN 费用等)


原文链接:

https://www.sqlsec.com/2020/10/xss2.html

P.s:本文作者:国光 https://www.sqlsec.com/

感谢国光 (๑•̀ㅂ•́)و✧



往期回顾


WriteUp|2022年首届数据安全大赛解题思路分享

WriteUp|第三届电信&互联网行业职业技能竞赛解题思路分享~

Blackhat议题分享:WebAssembly漏洞挖掘与虚拟机逃逸




扫码关注我们


天虞实验室为赛宁网安旗下专业技术团队,重点攻关公司业务相关信息安全前沿技术。

继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存