This shows you the differences between two versions of the page.
rl:labs:10:contents:05 [2016/01/05 13:02] razvan.deaconescu [05. [5p] Accesare URL conținând caractere speciale] |
rl:labs:10:contents:05 [2024/12/04 16:23] (current) laura.ruse [05. [10p] Determinarea versiunilor aplicațiilor descoperite] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== 05. [5p] Accesare URL conținând caractere speciale ==== | + | ==== 05. [10p] Determinarea versiunilor aplicațiilor descoperite ==== |
- | Unele URL-uri pot avea caractere interpretate special în shell rezultând într-un comportament ciudat la descărcare. | + | Pe lângă porturile expuse, descoperite anterior, dorim să aflăm și versiunile aplicațiilor și serviciilor care rulează pe acele porturi. |
- | Pentru a evidenția acest lucru, pe stația ''host'' folosiți pentru a descărca resursa de la link-ul ''%%http://localhost/login.php?name=Lab10&email=rl@upb.ro%%'':<code bash> | + | Aceste informații sunt foarte importante în contextul securității, pentru că anumite vulnerabilități sunt prezente doar în anumite versiuni. |
- | root@host:~# wget http://localhost/login.php?name=Lab10&email=rl@upb.ro | + | |
- | [1] 3284 | + | |
- | root@host:~# --2013-12-05 09:02:10-- http://localhost/login.php?name=Lab10 | + | |
- | Resolving localhost (localhost)... 127.0.0.1 | + | |
- | Connecting to localhost (localhost)|127.0.0.1|:80... connected. | + | |
- | HTTP request sent, awaiting response... 200 OK | + | |
- | Length: 72 [text/html] | + | |
- | Saving to: `login.php?name=Lab10' | + | |
- | 100%[======================================>] 72 --.-K/s in 0s | + | Folosiți comanda ''nmap'' pentru a determina versiunile serviciilor care rulează peste protocolul TCP, identificate la exercițiul anterior. |
- | + | ||
- | 2013-12-05 09:02:10 (13.3 MB/s) - `login.php?name=Lab10' saved [72/72] | + | |
- | + | ||
- | + | ||
- | [1]+ Done wget http://localhost/login.php?name=Lab10 | + | |
- | root@host:~# | + | |
- | </code> | + | |
<note tip> | <note tip> | ||
- | După output-ul comenzii de mai, pentru a vă reapărea prompt-ul consolei, apăsați pe ''Enter'' ca să vă reapară prompt-ul. | + | Căutați în manual după ''Version detection''. |
</note> | </note> | ||
- | Observați că procesul intră în background (linia cu ''[1] 3284'' înseamnă că a fost pornit un job). Acest lucru se întâmplă întrucât simbolul ''&'' (//ampersand//) nu este escapat și se folosește rolul său special din shell: pornirea unui proces în background. Se observă din output că este separată comanda înainte de ''&'', adică rezultă comanda ''wget http://localhost/login.php?name=Lab10''. | + | <note important> |
+ | Procesul de detectare a versiunilor îngreunează scanarea. Astfel, recomandăm folosirea parametrului de ''timing template'' cu valoarea maximă 5 (''-T5''). Acesta ne spune că scanarea va fi foarte agresivă cu ținta (default-ul este ''-T3'' normal mode). | ||
- | Ștergeți fișierul descărcat prin comanda de mai sus:<code bash> | + | Folosind această valoare (insane mode), se pot depista mult mai ușor sistemele de securitate implementate în infrastructura țintă. |
- | root@host:~# ls | + | Tot pentru a economisi timp, putem folosi parametrul ''-n'' pentru a nu face rezolvare de DNS. |
- | PacketTracer5 folder login.php?name=Lab10 | + | </note> |
- | root@host:~# rm login.php\?name\=Lab10 | + | |
- | root@host:~# ls | + | |
- | PacketTracer5 folder | + | |
- | </code> | + | |
- | Folosiți [[http://steve-parker.org/sh/escape.shtml|escaping în shell]] pentru a folosi în mod corect URL-ul și pentru a descărca resursa disponibilă la acel link. | + | <note important> |
+ | Pentru a fi mai greu de detectat de către sistemele de securitate, este recomandat să se evite trimiterea pachetelor de ICMP (fără ping) folosind opțiunea ''-Pn'' | ||
+ | </note> | ||
- | Fișierul final descărcat trebuie să arate în acest fel (să conțină //Lab10// și //rl@upb.ro//). Folosiți ''cat log<TAB>'' pentru rula comanda de mai jos, ca să obțineți //autocompletion// din partea shell-ului (''<TAB>'' înseamnă apăsarea tastei ''TAB''):<code bash> | + | <note important> |
- | root@host:~# cat login.php\?name\=Lab10\&email\=rl@upb.ro | + | Pentru ca utilitarul nmap să ofere mai multe informații despre ceea ce a scanat, puteți utiliza opțiunea de ''verbosity''. |
- | <html> | + | |
- | <body> | + | |
- | Welcome Lab10<br> | + | Mai exact, puteți crește nivelul de detaliu al informațiilor afișate prin adăugarea parametrului ''-v''. Puteți, de asemenea, crește nivelul de abundență a informației prin utilizarea unui număr mai mare de v-uri. |
- | Your email address is: rl@upb.ro | + | </note> |
- | </body> | + | |
- | </html> | + | |
- | </code> | + | |
- | + | ||
- | <solution -hidden> | + | |
- | Cel mai simplu este să plasăm întregul URL între apostroafe:<code bash> | + | |
- | root@host:~# wget 'http://localhost/login.php?name=Lab10&email=rl@upb.ro' | + | |
- | </code> | + | |
- | Resursa de la acel URL se va descărca în mod corect:<code bash> | + | |
- | root@host:~# cat /var/www/login.php | + | |
- | <html> | + | |
- | <body> | + | |
- | Welcome <?php echo $_GET["name"]; ?><br> | + | <hidden> |
- | Your email address is: <?php echo $_GET["email"]; ?> | + | <solution> |
- | </body> | + | <code> |
- | </html> | + | root@host:~# nmap -sT -sV -T5 -Pn -p21,22,23,25,43,80,138,443,8000,8080 141.85.241.57 hermes.codacloud.net hefaistos.codacloud.net -vv -n |
+ | root@host:~# nmap -sU -sV -T5 -Pn -p53,123,139,161,444,500,4567,5353,45320,51413,60202 hermes.codacloud.net hefaistos.codacloud.net -vv -n | ||
</code> | </code> | ||
</solution> | </solution> | ||
+ | </hidden> |