记一次某HR管理系统漏洞挖掘
记一次某HR管理系统漏洞挖掘
原创 mkbk 小黑说安全 2024-06-05 18:22
0x01 前言
某次审计过程记录,也是比较常见的一个系统,懂得都懂。
0x02 分析与利用
权限绕过:
通过关键字关联到过滤器。
通过之前黑哥文章中提到的jar包定位工具,定位存在于哪个jar包,这里也贴一下代码吧。
import os
import zipfile
import sys
# 确保有足够的命令行参数传入
if len(sys.argv) < 3:
print("Usage: python tqu.py <directory_to_search> <text_to_search>")
sys.exit(1)
# 第一个命令行参数是要搜索的目录
directory_to_search = sys.argv[1]
# 第二个命令行参数是要搜索的文本
text_to_search = sys.argv[2]
# 遍历目录
for foldername, subfolders, filenames in os.walk(directory_to_search):
for filename in filenames:
if filename.endswith('.jar'):
# 构造完整的文件路径
full_path = os.path.join(foldername, filename)
try:
# 打开JAR文件
with zipfile.ZipFile(full_path, 'r') as jarfile:
# 遍历JAR文件内的每个文件
for name in jarfile.namelist():
# 打开JAR文件内的文件
with jarfile.open(name) as file:
if text_to_search.encode() in file.read():
print(f"Found '{text_to_search}' in {full_path}")
break # 找到文本后跳出循环
except zipfile.BadZipFile:
print(f"Bad zip file: {full_path}")
这里
请看图
注释
。
满足框选中的
任一
路径
接
../即可,使其为false。
满足框选中的
任一
路径
接
../即可,使其取反后为false。
文件上传:
一样搜索上传相关关键字。
在进入大if之前,这里需要满足
safariORFo
xType不为空,
内
容加密后大于8且为true
,以及时间不
为空且
d
atams参数
的内容
要满足
减
当前时间后
<
=120000L。
这里进来第一眼看到一个绝对路径的文件删除。
构造请求包复现,成功删除。
继续往下按走当down不为true时,会走进下面大else进入上传逻辑。
new file相关参数,以及上传内容以及后缀均可控。
但有个问题,是需要绝对路径写入的,但这里恰好就泄露了网站路径。
构造请求包复现,成功上传。