Jump to content
ZeroCold

PHP: Simple Md5 Bruteforcer by Dictionary

Recommended Posts

Primul meu script php :>

Este foarte simplu, am 3 fisiere: index.html, bf.php si lista.txt

Index.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 :D (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:

alina
mihai
ioana
stefan
parola
ixulescu
tralala

Scriptul 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.

Link to comment
Share on other sites

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 by ZeroCold
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Sunt 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..

Link to comment
Share on other sites

Î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).

Link to comment
Share on other sites

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 :X (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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...