宝塔用户_hpmcii 发表于 2024-6-30 16:57:36

【已完成】webhook404的问题

为了能快速了解并处理您的问题,请提供以下基础信息:面板、插件版本:
8.2
系统版本:
Ubuntu 22.04.4 LTS
问题描述:
当webhook中的param包含'%'时,webhook会404,比如:https://ip:24267/hook?access_key=xxx¶m=FCQddgq0%3D
相关截图(日志、错误):

宝塔用户_hpmcii 发表于 2024-6-30 17:03:08

https://ip:24267/hook?access_key=xxx&param=%
param就传入一个百分号,也会404

运维技术阿闯 发表于 2024-7-1 11:54:45

宝塔用户_hpmcii 发表于 2024-6-30 17:03
https://ip:24267/hook?access_key=xxx&param=%
param就传入一个百分号,也会404

您好,方便截图一下您的写是内容吗

宝塔用户_ohgdgl 发表于 2024-7-10 22:58:22

我也遇到了,","逗号都会404

运维技术阿闯 发表于 2024-7-11 10:42:44

宝塔用户_ohgdgl 发表于 2024-7-10 22:58
我也遇到了,","逗号都会404

您好,您这边方便也发一下吗

宝塔用户_ohgdgl 发表于 2024-7-11 11:08:19

运维技术阿闯 发表于 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&param=username/password,update_path
上面样例出现了“,”导致
结果:{code:0}
其他特殊字符没有详细测试,但应该也是一样结果

宝塔用户_ohgdgl 发表于 2024-7-11 11:10:12

运维技术阿闯 发表于 2024-7-11 10:42
您好,您这边方便也发一下吗

重装之前测试出现404结果的环境是,宝塔版本为8.2.0

运维技术阿闯 发表于 2024-7-11 15:50:41

宝塔用户_ohgdgl 发表于 2024-7-11 11:10
重装之前测试出现404结果的环境是,宝塔版本为8.2.0
您好,为何需要在网页中输入这个呢%
不应该是放在脚本里边的吗

宝塔用户_ohgdgl 发表于 2024-7-11 16:05:31

运维技术阿闯 发表于 2024-7-11 15:50
您好,为何需要在网页中输入这个呢%
不应该是放在脚本里边的吗

因为每个GitLab仓库部署的用户名和路径都需要动态配置,太多仓库,我不想每个仓库都创建一个webhook,所以只能url请求时带上,而且webhook只能支持一个$1参数,那只能自己约定一个数据结构传输了

宝塔用户_ohgdgl 发表于 2024-7-11 16:06:55

运维技术阿闯 发表于 2024-7-11 15:50
您好,为何需要在网页中输入这个呢%
不应该是放在脚本里边的吗

所以我建议还是能多参数或者json传参更好

运维技术阿闯 发表于 2024-7-11 16:21:10

宝塔用户_ohgdgl 发表于 2024-7-11 16:06
所以我建议还是能多参数或者json传参更好

暂时的话目前是需要在webhook中去写入的

宝塔用户_ohgdgl 发表于 2024-7-13 18:42:01

本帖最后由 宝塔用户_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\-\"\'\=\/.]+$")到符合自己需求即可,又或者直接注释掉这段代码。然后重载面板服务即可。

运维技术阿闯 发表于 2024-7-15 10:30:00

宝塔用户_ohgdgl 发表于 2024-7-13 18:42
我已经找到魔改方案,

打开路径


您好,修改代码请谨慎,您这边可以了就好,这边就闭贴了,祝您生活愉快
页: [1]
查看完整版本: 【已完成】webhook404的问题