Kernel : Linux vmw02p.internet-indee.net 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Tue Nov 16 14:42:35 UTC 2021 x86_64
Disable function : NONE
Safe mode : OFF
Host : firofichi.it | Server ip : 5.196.164.15 | Your ip : 3.17.176.167 | Time @ Server : 19 Oct 2024 02:31:59
MySQL : OFF | MSSQL : OFF | cURL : ON | Oracle : OFF | wget : ON | Perl : ON

/home/webmaster/script/

HOME about upload exec mass file domain root vuln newfile newfolder kill me

File Path : /home/webmaster/script/restoredb.sh

#!/bin/bash #v1.0.1 # colors definitions RESTORE=$(echo -en '\001\033[0m\002') RED=$(echo -en '\001\033[00;31m\002') GREEN=$(echo -en '\001\033[00;32m\002') YELLOW=$(echo -en '\001\033[00;33m\002') BLUE=$(echo -en '\001\033[00;34m\002') MAGENTA=$(echo -en '\001\033[00;35m\002') PURPLE=$(echo -en '\001\033[00;35m\002') CYAN=$(echo -en '\001\033[00;36m\002') LIGHTGRAY=$(echo -en '\001\033[00;37m\002') LRED=$(echo -en '\001\033[01;31m\002') LGREEN=$(echo -en '\001\033[01;32m\002') LYELLOW=$(echo -en '\001\033[01;33m\002') LBLUE=$(echo -en '\001\033[01;34m\002') LMAGENTA=$(echo -en '\001\033[01;35m\002') LPURPLE=$(echo -en '\001\033[01;35m\002') LCYAN=$(echo -en '\001\033[01;36m\002') WHITE=$(echo -en '\001\033[01;37m\002') # ripristina un dump del db da un file fornito in input # prima del ripristino, effettua una copia di sicurezza ed una pulizia delle tabelle db_host=127.0.0.1 dblocalport=3306 if [ -z $1 ]; then echo ${WHITE}"Passa allo script il dump sql da ripristinare" echo ${WHITE}"Lo script effettua un dump del db target e poi lo svuota"${RESTORE} exit 1 fi echo ${WHITE} read -p "Nome DB : " db_name echo ${RESTORE} dbfile=$1 while true; do read -n 1 -p ${YELLOW}"Sei sicuro di voler ripristinare i dati sul db $db_name dal file $dbfile (s/n)?"${RESTORE} yn case $yn in [Ss] ) ok=1 break ;; [Nn] ) ok=0 break ;; * ) echo ""; echo $(PURPLE)"Per favore rispondi (s)i o (n)o."${RESTORE};; esac done echo "" if [[ ok -eq 0 ]]; then exit 1; fi echo ${WHITE} echo "Nome DB : " $db_name read -p "Nome utente : " db_user read -p "Password db : " db_pass echo ${RESTORE} echo "" #gestisce i caratteri speciali nella password # verifica la presenza di slash nella password nuova slashpos=$(printf "$db_pass" | awk '{for(i=1;i<=length($0);i++) {if (substr($0,i,1)=="/") {print i}}}') if [ ! -z "$slashpos" ]; then # usiamo sed -dollaro- con un carattere escapabile per ridurre al minimo le collisioni con caratteri nella password temppass=$(printf '"$db_pass"' | sed -e $'s\x01/\x01\\\\/\x01g') db_pass='"$temppass"' else temppass="$db_pass" fi #sostituisce gli apici db_pass=$(echo "$temppass" | sed "s/\"/'/g") #la password per mysqldump DEVE essere chiusa tra singoli apici, al contrario di mysql db_pass_dump="'"$db_pass"'" connectStr="mysql --host=$db_host --port=$dblocalport --protocol=TCP -u $db_user --password=$db_pass $db_name" db_bkp_name="$db_name"_$(date '+%Y-%m-%d_%H.%M.%S').sql # calcola la dimensione del db attuale (e la passa in megabytes a pv) db_size=$($connectStr --silent --skip-column-names -e "SELECT IFNULL(ROUND(SUM(data_length) / 1.65), 0) AS \"size_bytes\" FROM information_schema.TABLES WHERE table_schema='$db_name';") size=$(numfmt --to=iec-i --suffix=B "$db_size") dumpStr="mysqldump --host=$db_host --port=$dblocalport --protocol=TCP -u $db_user --password=$db_pass_dump $db_name | pv --size $db_size > ./$db_bkp_name.sql" # effettua un dump del db attuale echo ${LBLUE}"----..----------..----" echo "Dumping del db attuale per un backup di sicurezza..." eval "$dumpStr"; echo ${LBLUE}"----..----------..----"${RESTORE} read -p "Premi un tasto per continuare" go # effettua la pulizia del db echo ${LRED}"----..----------..----" echo "Eseguo la cancellazione delle tabelle...." TABLES=$($connectStr -e "show tables;" | awk '{ print $1}' | grep -v '^Tables') for t in $TABLES do echo -ne "Cancello la tabella $t dal database $db_name ...\033[0K\r" sleep 0.05 $connectStr -e "SET FOREIGN_KEY_CHECKS=0; drop table $t;" done $connectStr -e "SET FOREIGN_KEY_CHECKS=1;" echo "" echo ${LRED}"----..----------..----" # effettua il ripristino del db dal dump echo ${LGREEN}"----..----------..----" echo "Eseguo il ripopolamento del database...." pv $dbfile | $connectStr echo ${LGREEN}"----..----------..----"