XSS漏洞测试:Cookie获取和钓鱼攻击演示
1.XSS漏洞测试:cookie的获取和利用
(1)Get型XSS,所有的参数都是在URL里面的,攻击者可以直接把嵌入恶意JS代码的url发送给用户。
(2) 用户去点击,恶意的JS就会在用户的浏览器端执行。
(3)恶意的JS代码实现了两个功能:1 把用户本地的COOKIE信息读到,2.发送至攻击者的后台。
(4)攻击者可以通过后台拿到用户的cookie信息,攻击者通过获取到的用户的cookie伪造用户登录。
既然要获取用户的cookie信息,那么必须的有一个地方来收集用户的cookie,即攻击者的后台,实际上是一个用来收数据的接口。JS是将用户的本地COOKIE信息得到,然后发送给攻击者的后台。
和反射型一样,但是构造更复杂的payload
Payload:首先通过JS的document实例做一个重定向,一旦访问这个界面,JS会访问192.168.1.15这个界面(XSS后台),访问的时候顺便将cookie给带过去
Cookie如何获取,通过document.cookie获取本地的cookie信息。
后台可以看到他的cookie信息
将下面额URL发送给用户(比如欺骗用户说是活动),
用户点击了这个URL后,会跳到首页,当然也可以跳到(重定向)其他页面,主要作用是掩盖你的攻击行为如下图所示;
打开后台发现又多了一条。
POST方式的XSS(反射型)
案例分析:
先登录
提交参数
登录进去,提交参数之后,我们发现参数没有通过url进行传参
通过Buro suite抓包:如上图:message是通过post的方式传到后台的,虽然也存在xss漏洞,但是请求时通过Post的方式发送的。这种情况下,我们没有办法将恶意的js代码嵌入到url里发送给目标用户。如何弄?具体的思路如下图所示:
相比于get型的XSS,我们的问题变成了:如何让用户以post的方式提交一个表单:
- 自己搭建一个恶意的站点,并且在里面写一个post表单。
- 然后将这个链接发送给用户,让用户去点击,一旦用户访问了我们自己搭建的这个站点192.168.1.5/post.html(页面),点击了这个页面,页面会做什么?
- 这个页面会向存在漏洞的XSS网站去提交一个post请求,
- Post请求发送到后台之后,会在后台触发这个js代码,攻击者拿到用户的cookie,这个就和上面一样了
源码如下:
action后面是存在XSS漏洞的地址
Payload如下:
如何让用户一访问就自动提交这个榜单呢?
这样就实现了,用户一访问,就自动发送post请求。
我们以各种方法诱使用户点击192.168.1.4/pikachu/index.php,(仅仅为实验环境演示)如下所示,
当用户点击了上述的地址,实际上攻击过程已经结束:
用户点击了上述的地址,相当于向存在Xss漏洞的网站发送了一个post请求(带有恶意的JS代码,js代码的作用就是在获取用户的cookie信息,用于攻击者伪造登录)。
攻击者的后台就会获取到用户的cookie信息:如下如所示:
2.XSS漏洞测试:钓鱼攻击
思路:
会用一个Basic认证:
实际中XSS的钓鱼非常多
内嵌钓鱼页面或者钓鱼的链接等,这里利用basic认证来做一个钓鱼
- 在一个存在XSS漏洞的页面上面嵌入一个请求(javascript或者其他链接请求)
- 当用户打开这个嵌入恶意JS代码的页面之后,
- 页面会向远端的后台发送一个请求,
- 这个请求会返回一个要求它进行basic认证的一个头部,用户的界面上会弹出一个需要进行身份认证的一个提示框。
如果用户的信息安全的意识比较薄弱,那么用户会在上图的提示框中输入账号和密码,一旦输入,账号和密码就会被发送到攻击者后台。
演示如下:
存储型的XSS,存到了数据库,从此每次刷新都会出现这个提示框。
只要输入了,那么攻击者在后台就会获取到密码和账号