-
-
[原创]CVE-2020-0618复现及分析
-
发表于:
2020-2-25 20:43
14228
-
靶机
前端验证:浏览器访问http://ip/ReportServer
,提示输入前面设置的用户名和密码,输入添加的用户名和密码即可。
攻击机
Windows 7 SP1 x64(注:尽量不要用Linux,抓取的数据包存在问题)
安装ysoserial
首先使用powershell打开ysoserial.net工具生成有效负载:
使用Burp进行浏览器监听
修改Burp的发送消息为有效负载触发漏洞:
对ReportingServicesWebServer.dll进行反编译,找到漏洞函数:
从代码来看,Microsoft.Reporting.WebForms.BrowserNavigationCorrector中的OnLoad()方法,首先获取ViewState中的值,并赋给value变量。对value变量进行非空判断,然后初始化LosFormatter对象,最后使用LosFormatter对象中的Deserialize()方法对value变量直接反序列化。
而对LosFormatter类的实例进行调用的位置位于Microsoft.ReportingServices.WebServer.ReportViewerPage
中的OnInit
方法:
由此可以定位到能触发漏洞的路径为ReportServer/pages/ReportViewer.aspx
。
官方仅仅在使用LosFormatter类时开启MAC验证来修复该漏洞。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
最后于 2020-2-26 09:47
被有毒编辑
,原因: