diff options
| author | Cassio de Campos <cassiopc@gmail.com> | 2017-08-16 14:39:02 +0000 |
|---|---|---|
| committer | Cassio de Campos <cassiopc@gmail.com> | 2017-08-16 14:39:02 +0000 |
| commit | 7c4626354735ec5cbdfe82a248694e479cc95dbb (patch) | |
| tree | a82b86e83263b210af750c12de9ef0cc61fd4342 /tools/boca-outmanage | |
| parent | 4badcc322392aa260778eb61f729fd742f43166f (diff) | |
| download | boca-7c4626354735ec5cbdfe82a248694e479cc95dbb.tar.gz boca-7c4626354735ec5cbdfe82a248694e479cc95dbb.zip | |
impl of port forward started
Diffstat (limited to 'tools/boca-outmanage')
| -rw-r--r-- | tools/boca-outmanage | 85 |
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 |