-
背景
-
复现步骤
-
问题所在
gitlab漏洞系列-由外部授权所导致的blind SSRF
声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。
背景
xanbanx于2019年提交了这个漏洞:
主要是在外部授权服务器配置中发现了一个Blind SSRF漏洞:攻击者可以冒充GitLab服务器向本地网络或任何其他网络发出POST请求。
复现步骤
1.设置本地监听的端口,例如: 端口10000: nc -dklp 10000 -vv
2.作为一个administrator,跳转至http://example.gitlab.com/admin/application_settings#js-external-auth-settings
3.启用并输入服务URL http://localhost:10000
并保存设置。不要忘记填写默认的分类标签,这个字段是必需的。
4.再次保存设置以触发调用授权服务器、监视POST请求和之前设置的监听:
-
在用户界面中,你会看到错误:外部授权服务默认标签不可用:因为侦听器没有响应而超时 -
在 http://localhost:22
上你会得到错误消息:外部授权服务默认标签不可用:畸形头(Excon:: error::ResponseParse) -
外部授权服务默认标签不可用:Connection refused - connect(2) for 127.0.0.1:1000 (Errno::ECONNREFUSED)
问题所在
服务URL不应该访问本地地址,请求也不应该执行对本地网络的请求。
原文始发于微信公众号(迪哥讲事):gitlab漏洞系列-由外部授权所导致的blind SSRF
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论