【已完成】webhook404的问题
为了能快速了解并处理您的问题,请提供以下基础信息:面板、插件版本:8.2
系统版本:
Ubuntu 22.04.4 LTS
问题描述:
当webhook中的param包含'%'时,webhook会404,比如:https://ip:24267/hook?access_key=xxx¶m=FCQddgq0%3D
相关截图(日志、错误):
https://ip:24267/hook?access_key=xxx¶m=%
param就传入一个百分号,也会404 宝塔用户_hpmcii 发表于 2024-6-30 17:03
https://ip:24267/hook?access_key=xxx¶m=%
param就传入一个百分号,也会404
您好,方便截图一下您的写是内容吗 我也遇到了,","逗号都会404
宝塔用户_ohgdgl 发表于 2024-7-10 22:58
我也遇到了,","逗号都会404
您好,您这边方便也发一下吗 运维技术阿闯 发表于 2024-7-11 10:42
您好,您这边方便也发一下吗
我重装了,没有404,但是同样参数包含特殊字符会返回{code:0}
安装环境:docker lnmp镜像
宝塔版本:7.9.4
webhook插件版本:2.5
宝塔配置:关闭面板SSL
样例URL:http://192.168.1.254:8889/hook?access_key=xxxx¶m=username/password,update_path
上面样例出现了“,”导致
结果:{code:0}
其他特殊字符没有详细测试,但应该也是一样结果 运维技术阿闯 发表于 2024-7-11 10:42
您好,您这边方便也发一下吗
重装之前测试出现404结果的环境是,宝塔版本为8.2.0 宝塔用户_ohgdgl 发表于 2024-7-11 11:10
重装之前测试出现404结果的环境是,宝塔版本为8.2.0
您好,为何需要在网页中输入这个呢%
不应该是放在脚本里边的吗
运维技术阿闯 发表于 2024-7-11 15:50
您好,为何需要在网页中输入这个呢%
不应该是放在脚本里边的吗
因为每个GitLab仓库部署的用户名和路径都需要动态配置,太多仓库,我不想每个仓库都创建一个webhook,所以只能url请求时带上,而且webhook只能支持一个$1参数,那只能自己约定一个数据结构传输了 运维技术阿闯 发表于 2024-7-11 15:50
您好,为何需要在网页中输入这个呢%
不应该是放在脚本里边的吗
所以我建议还是能多参数或者json传参更好 宝塔用户_ohgdgl 发表于 2024-7-11 16:06
所以我建议还是能多参数或者json传参更好
暂时的话目前是需要在webhook中去写入的 本帖最后由 宝塔用户_ohgdgl 于 2024-7-13 18:46 编辑
我已经找到魔改方案,
==============!!!!!!!!!!注意!!!!!!!!!!!===============
官方代码是为了降低参数注入风险。修改代码前请自行了解其风险。修改代码所引起的后果,本人概不负责。
==============!!!!!!!!!!注意!!!!!!!!!!!===============
打开路径/www/server/panel/plugin/webhook/webhook_main.py
找到
if param:# 风险检测
if not re.search("^[\w\-\"\'\=\/.]+$", param):
return public.returnMsg(False, "参数错误!param")
修改里面的正则("^[\w\-\"\'\=\/.]+$")到符合自己需求即可,又或者直接注释掉这段代码。然后重载面板服务即可。
宝塔用户_ohgdgl 发表于 2024-7-13 18:42
我已经找到魔改方案,
打开路径
您好,修改代码请谨慎,您这边可以了就好,这边就闭贴了,祝您生活愉快
页:
[1]