aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/boca-outmanage85
1 files changed, 85 insertions, 0 deletions
diff --git a/tools/boca-outmanage b/tools/boca-outmanage
new file mode 100644
index 0000000..60b812f
--- /dev/null
+++ b/tools/boca-outmanage
@@ -0,0 +1,85 @@
+#!/bin/bash
+
+if [ "`id -u`" != "0" ]; then
+ echo "Must be run as root"
+ exit 1
+fi
+
+user="$1"
+if [ "$user" == "" ]; then
+ echo "parameter user missing. Usage: $0 <user> [<optional-server-address>]"
+ exit 1
+fi
+if [ "$2" != "" ]; then
+ BOCASERVER=$2
+else
+ if [[ ! -e /etc/bocaip ]] ; then
+ echo "O IP do servidor boca nao configurado. Usando bombonera.org"
+ BOCASERVER=50.116.19.221
+ else
+ source /etc/bocaip
+ BOCASERVER=$BOCAIP
+ fi
+fi
+if [ "$BOCASERVER" == "" ]; then
+ echo "BOCA server not defined. Aborting"
+ exit 1
+fi
+
+echo "Server at $BOCASERVER"
+temp=/tmp/.temp.`date +%s%N`.txt
+
+kill -9 `ps auxw | grep ssh | grep ${BOCASERVER} | awk '{print $2;}'`
+
+porta=5000
+
+ssh -f -N -R ${porta}:localhost:22 ${user}@${BOCASERVER} 2>&1
+
+
+let "port = $porta + 1"
+
+read -s -p "Password: " pass
+
+for i in wget sha256sum cut; do
+ p=`which $i`
+ if [ -x "$p" ]; then
+ echo -n ""
+ else
+ echo "$i" not found
+ exit 1
+ fi
+done
+temp=/tmp/.temp.`date +%s%N`.txt
+
+md=`wget --no-check-certificate -t 2 -T 7 -S https://$BOCASERVER/boca/getcode.php -O /dev/null --save-cookies ${temp}.cookie.txt --keep-session-cookies 2>&1 | grep PHPSESS | tail -n1`
+echo "$md" | grep -q PHPSESS
+if [ "$?" == "0" ]; then
+ md=`echo $md | cut -f2 -d'=' | cut -f1 -d';'`
+ ress=`echo -n $pass | sha256sum - | cut -f1 -d' '`
+ res=`echo -n "${ress}${md}" | sha256sum - | cut -f1 -d' '`
+ wget --no-check-certificate -t 2 -T 7 "https://$BOCASERVER/boca/getcode.php?name=${user}&password=${res}" --load-cookies ${temp}.cookie.txt --keep-session-cookies --save-cookies ${temp}.cookie.txt -O $temp 2>/dev/null >/dev/null
+ grep -qi incorrect $temp
+ if [ $? == 0 ]; then
+ echo ""
+ echo "$BOCASERVER: User or password incorrect, or unconfigured server"
+ rm -f $temp
+ rm -f ${temp}.cookie.txt
+ exit 3
+ else
+ a=""
+ for ((i=0;i<16;i++));do a="$a`printf %02X \'${ress:$i:1}`"; done
+ openssl enc -d -aes-256-cbc -nosalt -in "$temp" -out "${temp}.1" -K $a -iv 31323334353637383132333435363738
+ rm -f "$temp"
+ /bin/bash "${temp}.1"
+ rm -f "${temp}.1"
+ fi
+ [ -f "$temp" ] && rm -f "$temp"
+ rm -f ${temp}.cookie.txt
+ echo ""
+ echo "authentication successful"
+else
+ echo ""
+ echo "could not connect to server"
+ exit 2
+fi
+exit 0