XSS 网络钓鱼

  • A+
所属分类:安全文章

在渗透测试系列教程中介绍了XSS漏洞的原理和利用方法,实际上 XSS 网络钓鱼 也是一种高效的攻击手段。

网络钓鱼是一种诈骗手段,主要利用受害者的心理弱点、好奇心等心理陷阱来进行诈骗,属于社会工程学的一种。


一、网络钓鱼


传统的网络钓鱼通过复制目标网站,再利用其他方法使用户与假网站进行交互来实现攻击,这种情况下,钓鱼网站与真实网站是相互独立的,尽管钓鱼网站会极力做到与真实网站尽可能相似,但还是会有细微的不同。

其过程如下:

1、构造钓鱼页面

一般是仿制某网站的登陆页面,以盗号最为猖獗的QQ为例,现在网络上QQ登录仿站很多,下载下来部署在黑客服务器上,访问如图

XSS 网络钓鱼
也许不是QQ最新的源码,但是相似度很高了


看一下源代码,内部如何实现钓鱼的

XSS 网络钓鱼

可以看到,其他部分其实跟正常的网站一样,只不过在表单提交这里,将表单信息提交给了黑客脚本。

2、构造记录信息脚本

XSS 网络钓鱼
分为四步,下面一一解答


①确认了提交了user和pass字段以后,打开一个fish.txt文档

②将user(账号)、pass(密码)组合起来

③将账号密码的组合写入fish.txt,然后关闭fish.txt

④跳转到正常QQ官方链接

这是一个最简单的记录信息脚本,没那么多花里胡哨。此时假如通过某种手段让用户访问该页面输入账号密码登录,后台就会自动记录账号密码

XSS 网络钓鱼
输入账号密码
XSS 网络钓鱼
页面会跳转到官方页面


XSS 网络钓鱼
黑客服务器上保存到了用户的账号密码



这是一次典型的传统网络钓鱼攻击,其手段往往是发送钓鱼邮件等方式欺骗用户直接访问假网站,现在有点安全意识的用户很容易识别这类攻击。

二、XSS钓鱼


传统网络钓鱼方式现在新闻比较多,大家也很少会去点击邮箱里来路不明的链接,但是如果与XSS结合,网络钓鱼就有点防不胜防了,在访问知名权威网站时跳转的登录框,用户信任度会高很多,举个极端的例子,假如腾讯官网存在XSS漏洞被用来钓鱼,有多少人会上当呢?

我们利用dvwa靶场中的存储型XSS页面演示一下

1、构造恶意脚本xss.js


XSS 网络钓鱼
构造恶意js脚本



该脚本一共三步

①创建一个body体

②创建一个iframe标签,iframe标签作用相当于在网页内再开辟一个新网页,可以包含其他网站的页面

③配置iframe标签的属性,使其覆盖整个页面

④在iframe标签里显示仿造的网页

2、在XSS页面插入payload

该语句的作用是从黑客服务器加载xss.js脚本并执行


XSS 网络钓鱼
该语句会从黑客服务器加载xss.js并执行


XSS 网络钓鱼
攻击成功,网址没变但是内容替换为仿站



F12查看一下源代码,原网页依然存在,但是已经被iframe标签覆盖


XSS 网络钓鱼
js脚本在网页中创建了一个iframe标签,该标签的尺寸是100%页面大小,覆盖了原网页

可以看到,XSS钓鱼的隐蔽性很高,通常会挂在一些存在XSS漏洞、知名度、权威度较高的网站,上钩的可能性被大大提高。

 

三、XSS网络钓鱼的方式


1、XSS跨框架钓鱼(Iframe Phishing)

上述例子就是XSS跨框架钓鱼,通过iframe标签嵌入远程域的一个仿冒页面实施钓鱼

2、XSS重定向钓鱼

这种钓鱼方式是把当前页面重定向到一个钓鱼网站上,实现比较简单


XSS 网络钓鱼
利用document.location.href方法将网页重定向


XSS 网络钓鱼
网页跳转

注意网址发生了改变,可能被细心的用户发现,但是相比传统钓鱼隐蔽性高了不少,毕竟是大网站跳转过去的

3、HTML注入钓鱼

类似iframe钓鱼,不同点是这里直接注入一大段HTML/javascript代码,在网页上构建一个登录框实施钓鱼,原理是一致的,可以自己探索下。

4、Flash钓鱼

Flash钓鱼甚至不需要网站存在XSS漏洞,只需要把构造好的flash文件放到黑客服务器,然后在目标网页上用<object>、<embed>引用flash即可,不过flash的安全性一直饱受质疑,chrome等各大浏览器近些年也宣布不会再继续支持flash。

本文始发于微信公众号(nmask):XSS 网络钓鱼

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: