漏洞摘要
我在Wiki页面找到了一个存储xss
重现步骤:
1、登录到GitLab 。
2、打开有权编辑Wiki页面的’Project’页面 。
3、打开Wiki页面 。
4、点击’New page’按钮 。
5、用’javascript:’填写’Page slug’表单 。
6、点击’Createpage’按钮 。
7、填写每个表格,如下所示:
Title: javascript:
Format:Markdown
Content: [XSS](.alert(1);)
参考下图:
![Gitlab Wiki页面存储xss漏洞](http://img.yunnanlong.com/220624/2303131G7-0.png)
8、点击“Create page”按钮 。
9、在创建的页面中单击“XSS”链接 。
单击创建页面中的“ XSS”链接后,将出现弹框 。
![Gitlab Wiki页面存储xss漏洞](http://img.yunnanlong.com/220624/2303135921-1.png)
详细说明:
GitLab应用程序转换Markdown字符串’.alert(1);’到href属性’javascript:alert(1);.’
此外,特定于Wiki的Markdown字符串’.’在这里应该转换’javascript:’
如何防范:
危险的href属性’javascript:alert(1);’应该被过滤 。相反,应该呈现安全的HTTP / HTTPS链接 。
附加信息:
1、 在上述情况下,另一个特定于Wiki的Markdown字符串’..’也将转换为javascript:
2、 使用标题字符串(例如javascript:STRING_EXPECTED_REMOVING)也会发生此漏洞
例如,如果使用伪装的Title字符串JavaScript::SubClassName.function_name创建了Wiki页面,则Gitlab在此类页面中应用程序将转换Wiki特定的Markdown字符串’.’到JavaScript:
3、 攻击者可以通过将Title字符串javascript:替换为其他方案来使用各种方案 。(如data:, vbscript:等) 。
此漏洞影响GitLab的enterprise 11.9.4-ee版本 。
GitLab环境信息:
sudogitlab-rake gitlab:env:info的输出结果:
System information
System:
Proxy:no
Current User:git
Using RVM:no
Ruby Version:2.5.3p105
Gem Version:2.7.6
Bundler Version:1.16.6
Rake Version:12.3.2
Redis Version: 3.2.12
Git Version:2.18.1
Sidekiq Version:5.2.5
Go Version: unknown
GitLab information
Version:11.9.4-ee
Revision:55be7f0
Directory:/opt/gitlab/embedded/service/gitlab-rails
DB Adapter: postgresql
DB Version: 9.6.11
URL:http://gitlab.example.com
HTTP Clone URL:http://gitlab.example.com/some-group/some-project.git
SSH Clone URL: git@gitlab.example.com:some-group/some-project.git
Elasticsearch:no
Geo:no
Using LDAP: no
Using Omniauth: yes
Omniauth Providers:
GitLab Shell
Version:8.7.1
Repository storage paths:
- default: /var/opt/gitlab/git-data/repositories
GitLab Shell path:/opt/gitlab/embedded/service/gitlab-shell
Git:/opt/gitlab/embedded/bin/git
漏洞影响:如果使用此漏洞在公共项目中发布一个wiki页面(对所有人可见),可能会导致部分用户遭受xss攻击 。
◆ ◆ ◆◆ ◆
【Gitlab Wiki页面存储xss漏洞】了解更多的网络安全攻略联系我们(微信):kinnah333
推荐阅读
- gitlab未授权RCE,华为p7一键root工具包
- 最后进入了视频会议的页面,钉钉的视频会议如何用
- centos7安装部署gitlab服务器的方法,gitlab服务器的安装部署方法
- 淘宝页面加载半天出不来
- qq背景图片怎么弄
- 低质量页面是否影响整站优化效果?
- 乔布斯去世,苹果上线乔布斯纪念页面
- 微信 我的-朋友圈-页面显示多空白
- 移动办公手机版请假在哪页面 手机移动办公m3怎么请假
- 淘宝怎么进入领取淘金币的页面!详细点!