ZeroCold Posted May 29, 2011 Report Posted May 29, 2011 Primul meu script php :>Este foarte simplu, am 3 fisiere: index.html, bf.php si lista.txtIndex.html<html><head><title>Simple Md5 Bruteforcer by Dictionary</title></head><body><form action="bf.php" method="POST">Introduceti cuvantul pe care doritis a il cautati:<input type="text" name="hash"><input type="submit" value="Crack"></form></body></head>Fisierul php (bf.php)<?php$hash=$_POST["hash"];$file = 'lista.txt';$data = file($file) or die('Fisierul nu poate fi citit');foreach($data as $line){if(strstr(md5(trim($line)),$hash)){echo "Am gasit hash-ul: ".$line."";}}?>Si lista.txt, dictionarul. Trebuie sa arate asa:alinamihaiioanastefanparolaixulescutralalaScriptul cripteaza fiecare cuvant din lista respectiva si il compara cu hashul pe care il dam noi, daca il gaseste il afiseaza, daca nu... nu afiseaza nimic. Quote
burzum Posted May 29, 2011 Report Posted May 29, 2011 Un script umil. Nu conteaza ca e primul pe care-l scrii. Rescrie-l ajutandu-te de : https://sites.google.com/a/van-steenbeek.net/archive/php_pcntl_forkHave fun ! Quote
crs12decoder Posted May 30, 2011 Report Posted May 30, 2011 Invata MYSQL. O sa vezi ce se simplifica treburile.Daca tot ce ai scris acolo e facut de tine, ai baza cat sa inveti sa lucrezi cu MYSQL din php. Quote
pr00f Posted May 30, 2011 Report Posted May 30, 2011 Puteai s? pui ?i un else, ca s? vad? tot prostu' c? nu s-a g?sit plain text. De curiozitate, ideea este dup? a mea ? Quote
ZeroCold Posted May 30, 2011 Author Report Posted May 30, 2011 (edited) Puteai s? pui ?i un else, ca s? vad? tot prostu' c? nu s-a g?sit plain text. De curiozitate, ideea este dup? a mea ?Da, am vrut sa fac ceva identic in php. Initial am pus else dar ma enerva ca pt fiecare linie imi zicea daca este s-au nu si aparea ce de genu.Nu exista...Nu exista...nu exist.. etc.Si am zis ca daca nu afiseaza nimic e mai bine @crs, stiu sa lucrez cat de cat cu bazele de date, stiu sa scriu, sa sterg, sa editez si sa afisez. Edited May 30, 2011 by ZeroCold Quote
Vlachs Posted May 31, 2011 Report Posted May 31, 2011 Da, am vrut sa fac ceva identic in php. Initial am pus else dar ma enerva ca pt fiecare linie imi zicea daca este s-au nu si aparea ce de genu.Nu exista...Nu exista...nu exist.. etc.Si am zis ca daca nu afiseaza nimic e mai bine @crs, stiu sa lucrez cat de cat cu bazele de date, stiu sa scriu, sa sterg, sa editez si sa afisez.ai facut un topic in care cereai ajutor pentru a face asta cand e o mica mica mica chestie, te-ai gandit cumva sa il faci din command(afla de ce intai)aaaa si sa nu uit, de ce ai folosit 3 fisiere cand puteai sa faci cu unu si preluai prin gen hash-ul Quote
ZeroCold Posted May 31, 2011 Author Report Posted May 31, 2011 ai facut un topic in care cereai ajutor pentru a face asta cand e o mica mica mica chestie, te-ai gandit cumva sa il faci din command(afla de ce intai)aaaa si sa nu uit, de ce ai folosit 3 fisiere cand puteai sa faci cu unu si preluai prin gen hash-ulSunt incepator, am inceput mai demult sa invat PHP dar m-am lasat, invatasem sa folosesc variabile, sa afisez, chestii mici de tot apoi mai incolo incepusem sa lucrez la un site (am mai cerut ajutor si pt ala) m-am lasat si de el. Acum am zis ca ma pun pe invatat iar si am inceput sa invat sa lucrez cu fisiere, am vazut postul lui pr00f si am zis sa fac ceva identic.Asa am gandit eu in momentul ala. Am facut postul ala pt ca nu stiam de ce nu merge (ma durea capul...), il facusem bine, doar ca nu am tinut cont de tip (char, nu int), la trim nu m-am gandit deoarece cand am citit despre el l-am testat si nu mi-a mers (doar ltrim() a mers atunci)."te-ai gandit cumva sa il faci din command".Aici nu imi dau seama la ce te referi. O functie este alcatuita din comenzi, la asta te referi? pt ca nu am folosit nici o functie pe care sa o apelez apoi? sau ce?"de ce ai folosit 3 fisiere cand"adica? am folosit un singur fisier... "lista.txt" Am un defect pe care il recunosc, ma plictisesc foarte repede... incep ceva si nu reusesc sa duc la sfarsit, invat doar ce imi place sau ce consider eu ca ma ajuta. Atunci cand invat, invat pe bucati (inceput, sfarsit .. mijloc apoi combin), ma plictisesc daca iau ceva cap coada.Multumesc! - accept orice critica, sfat.. Quote
pr00f Posted May 31, 2011 Report Posted May 31, 2011 adica? am folosit un singur fisier... "lista.txt" Ai folosit index.html, bf.php, lista.txt. Puteai face un singur index.php care s? aibe action post-ul pe PHP_SELF, ?i lista s-o preia dintr-un textarea. Quote
ZeroCold Posted May 31, 2011 Author Report Posted May 31, 2011 Încearc? s? faci lucrul acesta în C/C++ sau un limbaj de nivel low pentru c? viteza nici nu se compar?. ?i Python este bun la o adic?.Fac C++ la scoala, mi se pare mult mai simplu php. Initial m-am gandit sa il fac in c++ dar habar nu aveam cum sa fac sa imi cripteze md5 si nici nu am cautat deoarece stiam de md5() in php si am zis ca ii mult mai simplu un if(md5 == linie).@pr00f, cum am zis invat pe bucati, acum am auzit pt prima oara de PHP_SELF:(, am vazut ce face... voi edita scriptul mai tarziu sau maine. (acum trebuie sa ma lupt cu un spyware iar mai incolo am basket). Quote
nedo Posted May 31, 2011 Report Posted May 31, 2011 Am postat eu aici o implementare a md5 . Nu este a mea dar functioneaza bine. Quote
ZeroCold Posted May 31, 2011 Author Report Posted May 31, 2011 Google dup? "c++ library md5" ?i "c++ function md5" ?i vei g?si lucruri interesante în diverse pagini.Stiu sa caut, chiar foarte bine pe google, nu am cautat deoarece stiam arata naspa si am zis ca-i mai simplu cu php deoarece stiam deja functia md5().Mersi pt link nedo. (eram sigur ca arata ceva de genu )Anyway, am incercat cu PHP_SELF, nu mi-a iesit, trecea direct pe else si imi afisa "Nu exista.." iarasi nervi am zis ca il las pe mai tarziu si m-am limitat la 2 fisiere cu un switch (index.php si lista.txt)index.php<?php if(!isset($_GET['pag'])) $_GET['pag'] = '';switch($_GET['pag']){ case '': echo '<html><head><title>Simple Md5 Bruteforcer by Dictionary</title></head><body><form action="index.php?pag=bf" method="POST">Introduceti cuvantul pe care doritis a il cautati:<input type="text" name="hash"><input type="submit" value="Crack"></form></body></head>';break;case 'bf':{$hash=$_POST['hash'];$file = 'lista.txt'; $data = file($file) or die('Fisierul nu poate fi citit'); foreach($data as $line) { if(md5(trim($line)) == $hash) { echo "<font color=\"green\">DONE:</font> <b>".$line."</b> <br>"; } else{ echo "<font color=\"red\">FAIL:</font> <del>" . $line . "</del><br>"; }}}break;}?>posibil sa mai am greseli, chestii in +, in -... sunt la inceput asta e stilul meu deocamdata, accept orice critica, sugestie, sfat... etc Quote