Ispitivanje ranjivosti web aplikacija pomoću alata Arachni i w3af

Izvor: SIS Wiki
Skoči na: orijentacija, traži

Temu rezervirala: Nikolina Kužir


Sadržaj

Uvod

Web aplikacije su danas temelj modernog poslovanja. Ne samo da sadrže informacije o organizaciji, već se sve više koriste u poslovnim procesima (npr. e-plaćanje, popis poslova, računovodstvo i sl.). Upravo zbog toga sigurnost web aplikacija od iznimne važnosti za sigurnost cjelokupnog informacijskog sustava neke organizacije. Dostupan je veliki broj različitih alata čija je namjena upravo otkrivanje mogućih ranjivosti, kako besplatnih, tako i onih komercijalnih. Kako bi se zaštitio informacijski sustav, provjeru ranjivosti web aplikacija nužno je provoditi često, preporuča se da se to vrši prilikom kreiranja nove aplikacije, nakon svake izmjene u aplikaciji,nakon promjene nadležnih osoba te periodički najmanje jedanput godišnje.

OWASP TOP 10 2017.

Open Web Application Security Project (OWASP) je neprofitna organizacija čiji je cilj poboljšanje sigurnosti aplikacija. OWASP je open source organizacija koja okuplja tvrtke, edukacijske ustanove i profesionalce iz područja aplikacijske sigurnosti. Svi materijali ove organizacije dostupni su na internetu, svatko je slobodan sudjelovati u ovom projektu. Najpoznatija je po objavljivanju industrijskog standarda OWASP Top 10 - liste 10 najkritičnijih aplikacijskih sigurnosnih rizika s kojima se programeri i organizacije suočavaju. Objavljuje se svakih nekoliko godina, a cilj je pomoći profesionalcima iz područja aplikacijske sigurnosti da bolje osiguraju aplikacije koje objavljuju. Aplikacijski rizici često se mijenjaju, samim time listu je potrebno revidirati i izmijeniti. Osim OWASP Top 10 za web aplikacije, postoje slične liste za Internet of Things i mobilnu sigurnost.

OWASP Top 10 za 2017. godinu

  1. Injection
  2. Broken Authentication
  3. Sensitive Data Exposure
  4. XML Internal Exposure (XXE)
  5. Broken Access Control
  6. Security Misconfiguration
  7. Cross Site Scripting (XSS)
  8. Insecure Deserialization
  9. Using Components with Known Vulnerabilities
  10. Insufficient Logging & Monitoring



Slika 1. Usporedba OWASP Top 10 2013. i 2017.
Izvor slike:[1]

Injection

Napad umetanjem znakova nalazi se na samom vrhu OWASP-ovog popisa već duže vrijeme, ova ranjivost "krivac" je za većinu javnih objavljivanja i proboja sigurnosti. Postoji više vrsta ranjivosti umetanjem znakova, a najčešće su bile : SQL, NoSQL, OS command, Object Relational Mapping (ORM), LDAP, Expression Language (EL) i Object Graph Navigation Library(OGNL) injection.

Broken Authentication

Neispravna autentifikacija je ranjivost koja omogućuje da se zaobiđu metode autentifikacije koje se koriste da bi zaštitile sustav od neovlaštenog upada. Najčešće je to korisničko ime i lozinka. Njačešći načini na koje web aplikacije štite korisničke podatke koji se šalju su sljedeći: nekriptirane veze, predvidljive podaci za prijavu - koriste se korisnička imena i lozinke koje se često koriste

Sensitive Data Exposure

Mnoge web aplikacije i API-ji ne štite pravilno osjetljive podatke, poput financijskih, zdravstvenih podataka (PIN kodovi,brojevi kartica i slično). Napadači mogu ukrasti ili modificirati takve slabo zaštićene podatke za provođenje prijevara s kreditnim karticama, krađe identiteta ili drugih zločina. Kako zahtijevaju posebne mjere predostrožnosti kada se razmjenjuju s preglednikom, bez dodatne zaštite kao što je enkripcija, osjetljivi podaci mogu biti ugroženi.

XML Internal Exposure (XXE)

Nova kategorija, dodana u 2017. Označava ranjivost gdje mnogi stariji ili slabo konfigurirani XML procesori vrednuju vanjske reference entiteta unutar XML dokumenata. Vanjski entiteti mogu se koristiti za otkrivanje unutarnjih datoteka pomoću URI handlera, internog dijeljenja datoteka, internog skeniranja portova i DoS napada.

Broken Access Control

Ograničenja toga što autenticirani korisnici mogu raditi često se ne primjenjuju pravilno. Napadači mogu iskoristiti ove nedostatke kako bi pristupili funkcionalnosti i / ili podacima za koje nemaju ovlašteni pristup, npr. pristupračune drugih korisnika, pregled osjetljivih datoteka, izmjenu podataka drugih korisnika, promjenu prava pristupa...

Security Misconfiguration

Ova ranjivost označava loše ili nepropisne postavke servera ili web aplikacija koje dovode do različitih propusta koje napadači lako mogu iskoristiti.

Cross Site Scripting (XSS)

XSS propusti se pojavljuju kad god aplikacija sadrži nepouzdane podatke na novoj web stranici bez pravilne provjeru valjanosti. U ovoj vrsti napada napadač može ubaciti nepouzdane isječke Javascript koda direktno u web aplikaciju bez validacije, što rezultira time da se novi dodani dio koda izvrši od strane osobe koja posjećuje web aplikaciju (npr. preusmjeri korisnika na zlonamjernu web-lokaciju).

Insecure Deserialization

Ova ranjivost dovodi do izvršavanja udaljenog koda. Čak i ako sam proces deserijalizacije ne mogu dovesti do izvršavanja koda, ove ranjivosti mogu se upotrijebiti za izvođenje različitih sigurnosnih napada (npr. injection).

Using Components with Known Vulnerabilities

Komponente kao što su biblioteke i framework, okviri i drugi softverski moduli, pokreću se istovremeno s aplikacijom. Ako se ranjiva komponenta iskoristi, takav napad može uzrokovati ozbiljan gubitak podataka ili preuzimanje poslužitelja. Ove ranjivosti često su zanemarene jer developeri prilikom razvijanja softvera često ne razmišljaju o dijelovima koje su preuzeli, već se fokusiraju na svoj kod.

Insufficient Logging & Monitoring

Ova kategorija ranjivosti također je nova. Iskorištavanje nepostojanja prijave i praćenje stannja može biti uzrok incidenta. Napadači se oslanjaju na nedostatak praćenje i pravovremeno izvršavaju napade bez da su otkriveni.

Detaljnije o svim ovim ranjivostima te kako se zaštititi od istih možete pročitati na poveznici: [1]

Postoji čitav niz besplatnih, open - source alata za ispitivanje ranjivosti web aplikacija, no nijedan od njih ne posjeduje dovoljno funkcionalnosti kako bi pronašao sve ranjivosti određene web aplikacije pa se preporuča uporaba kombinacije alata. Za potrebe ovog projekta bit će korišteni alati w3af i Arachni.

w3af

w3af (Web Application Attack and Audit Framework) je jedan od najpopularnijih open-source alata(skenera) za analizu ranjivosti i reviziju web aplikacija. Dostupna su dva različita sučelja za korištenje: CUI(konzola) i GUI (grafičko sučelje). w3af je osnovao Andres Riancho 2007. godine,a zbog uspješnosti, w3af 2010. postaje sponzoriran od strane tvrtke Rapid7, jedne od najvažnijih tvrtki u svijetu sigurnosti. Baziran je na programskom jeziku Python.

w3af framework je podijeljen u tri glavne sekcije: 1. core, koordinira proces skeniranja, upravlja svim pluginovima 2. user interfaces, daju mogućnost korisniku da kreira profil za skeniranje i skenira aplikacije 3. plugins, koja nalaze ranjivosti

Instalacija

Detaljne upute za instalaciju i preuzimanje dostupne su na sljedećoj poveznici [2].

w3af Pluginovi

Korištenje uključuje odabir postojećeg profila ili izradu vlastitog uz odabir pojedinačnih testova iz neke od kategorija pluginova. U nastavku će biti opisane važnije kategorije i neki od testova koje one sadrže.


Slika 2. Početni izbornik


Upisivanjem naredbe plugins prikazuje nam se lista dostupnih pluginova koju možete vidjeti na slici ispod.

Slika 3. w3af pluginovi


Evasion pluginovi

Ovaj set testova prilagođava zahtjeve sa ciljem zaobilaženja sutava zaštite (IPS).


BruteForce pluginovi

Postoje samo dva testa: basicAuthBrute i formAuthBrute - Dohvaćaju predefinirane kombinacije korisničkih imena i lozinki te pokušvaju identificirati valjane kombinacije.


Mangle plugin

Sadrži samo jedan test, sed (stream editor for web requests and responses) koji omogućuje korisniku da modificira web zahtjeve i odgovore. Naredbe se zadaju preko regularnih izraza, kao na primjer: qh/User/NotUser/, što znači da treba pretražiti zaglavlje zahtjeva (re[q]uest [h]eader) za izrazom "User" i zamjeniti ga sa "NotUser".


Crawl pluginovi

Oni imaju samo jednu odgovornost, pronalaženje novih URL-ova, obrazaca i drugih točaka na kojima može doći do napada. Klasičan primjer plugina za otkrivanje je web_spider. Ovaj dodatak uzima URL kao input i vraća jednu ili više točaka na kojima je moguć napad umetanjem znakova (injection).

Kada korisnik omogući više takvih pluginova, oni se izvode kao u petlji: ako plugin A pronađe novi URL u prvom krugu, w3af core će poslati taj URL u plugin B. Ako plugin B pronađe novi URL , bit će poslan na plugin A. Ovaj će se postupak nastaviti sve dok niti jedan plugin više ne može pronaći ranjivost.


Audit plugin

Audit pluginovi (pluginovi za reviziju) koriste znanje stvoreno crawl pluginom i koriste ga za pronalazak ranjivosti na udaljenoj web aplikaciji ili web poslužitelju.

blind_sqli - Ovaj test pronalazi SQL injection ranjivost koristeći dvije tehnike: time delay i usporedbe istinite / lažne reakcije. Stranica koja ima ovu ranjivost neće direktno prikazati pogrešku, ali će se ponašati drugačije ovisno o rezultatu logičkog izraza ubačenog u validan SQL zahtjev.

csrf - Otkriva Cross Site Request Forgeries (csrf) ranjivosti.

eval - Ovaj dodatak otkriva ranjivosti eval () input injectiona. Te ranjivosti nalaze se u web aplikacijama, kada programer proslijeđuje podatke korisnika funkciji eval (). Da biste provjerili postoji li ranjivosti ove vrste, plugin šalje echo funkciju s dva slučajna stringa kao parametre (echo 'abc' + 'xyz') i ako se dobiveni HTML podudara s nizom koji odgovara procjeni izraza ('abcxyz '), pronađena je ranjivost.

fileUpload - Pokušava iskoristiti ranjivosti nezaštičenih formi za prijenost datoteka. Web aplikacije uglavnom provjeravaju ekstenziju datoteke koja se šalje ali neke provjeravaju i sadržaj. Ideja je da se malicionzni kod ubaci unutar sekcije komentara i na taj način izbjegne provjera. Ukoliko se datoteka uspješno prenese na poslužitelj test je uspio.

htaccessMethods - Traži ranjivosti uzrokovane pogreškama u konfiguraciji .htaccess datoteke.

localFileInclude - Specifično za UNIX sustave. Test pokušava poslati naredbu tipa ../../../../../etc/passwd kako bi dohvatio datoteku koja sadrži korisničke lozinke.

unSSL - Provjerava jednakosti HTTP i HTTPS URL-a te identificira ranjivosti.

xsrf - Cross-site request forgery - koristi povjerenje određene Web aplikacije u korisnikov pretraživač. Napad se najčešće izvodi postavljanjem malicioznog URL-a unutar slike. Korisnik otvranjem slike pokreće zahtjev u svoje ime te ga samim time Web aplikacija ovjerava.

xss - Cross-site scripting - ova ranjivost omogućuje ubacivanje malicioznog koda direktno u kodnu stranicu Web aplikacije. Najčešći oblik je putem alata za pretraživanje. Izraz koji se pretražuje će najčešće ponovo biti prikazan na stranici sa rezultatima, te ukoliko izraz izraz ne validira, napadaču se otvara mogućnost da na to mjesto ubaci svoj maliciozni kod.

xst - Cross Site Tracing - Plugin radi tako da pozove HTTP TRACE metodu.Ukoliko on uspije, stranica je ranjiva na XST napad. Trace metoda zahtijeva da joj vrati zahtjev koji je poslan. Sa XST ranjivosti možemo prikupiti sve spremljene podatke na stranici (cookieje) uključujući i one koje koriste SSL.

LDAPi- Šalje posebno izrađen string svakom parametru i analizira vračenu LDAP grešku. LDAP injection napad je za aplikacije koje se temelje na Lightweight Directory Access Protocol. LDAP je skup svih korisnika, aplikacija razvrstanih po IP-u mreži.

generic - Pronalazi sve greške te one greške koje se ne nalaze u bazi poznatih grešaka vrača radi analize. Nova metoda koja omogućuje da analiziramo greške koje nisu uobičajene. Prvo pošalje zahtjev te ga spremi. Zatim šalje vrijednosti koje ne smiju biti. Ako parametar zahtjeva vrijednost dužine jedan, on će poslati naizmjence odabranu vrijednost duljine 8. Zatim šalje zahtjeve sad dva stringa svakom parametru. Jedan je "d'kc"z'gj'"**5*(((;-*`)" dok je drugi prazan string te tako pokušava dobiti greške.

xpath - Pronalazi xpath injection tako da pošalje "d'z'0" string u sve moguće inpute te analizira vraćene xpath greške. xpath injection se koristi za web stranice koje imaju spremljene podatke u XML-u.

osCommanding - Pregledava li postoje slabosti na naredbe u operacijskom sustavu. Ima dvije tehnike napada: vrijeme odziva(time delay) i ispisivanje direktorija. Vrijeme odziva pinga server i ukoliko odgovori u određenom roku, napad je moguć.


Infrastructure plugin

Pronalazi informacije o ciljanom sustavu (stranici koju skeniramo), na primjer instalirani WAF (firewall web aplikacija), operativni sustav.

Grep plugin

Analizira HTTP zahtjeve i odgovore koje šalju drugi pluginovi i prepoznaju ranjivosti. Na primjer, grep plugin će pronaći komentar u HTML-u koji ima riječ "password" i generira ranjivost.

Standardni slučaj korištenja w3af uključuje odabir nekog od postojećih profila ili izrađivanje vlastitog profila. ukoliko kreiramo vlasiti profil,možemo odabrati pojedinačne testove iz neke od gore navedenih skupina pluginova.

Slika 4. Profil


Slika 5. Mogućnosti postavljanja profila za skeniranje


Ukoliko koristimo konzolni način rada, u pluginu target postavljamo URL ili IP adresu stranice (web aplikacije) koju želimo skenirati te nakon uspješne pohrane naredbom start možemo pokrenuti skeniranje.

Slika 6. Opcije plugina target


Jedan od korisnih pluginova je i output koji služi za odabir načina na koji će rezultati skeniranja biti prikazani i pohranjeni. Slika ispod prikazuje sve mogućnosti.

Slika 7. Način prikaza rezultata (output plugin)


Napredni slučajevi korištenja

Neke web aplikacije koriste tehnologije na bazi preglednika kao što su JavaScript, Flash i Java appleti, tehnologije koje preglednici razumiju,a w3af još uvijek ne može.

Plugin koji se zove spider_man stvoren je za rješavanje ovog problema, omogućuje korisnicima da analiziraju složene web aplikacije. Plugin pokreće HTTP proxy koji korisnik upotrebljava za pristup ciljanom web sučelju,a tijekom tog postupka plugin će izdvojiti informacije iz zahtjeva i poslati ih na omogućene audit pluginove.

Primjer korištenja preuzet sa službene stranice w3af:
w3af>>> plugins
w3af/plugins>>> crawl spider_man
w3af/plugins>>> audit sqli
w3af/plugins>>> back
w3af>>> target
w3af/target>>> set target http://localhost/
w3af/target>>> back
w3af>>> start
spider_man proxy is running on 127.0.0.1:44444 .
Please configure your browser to use these proxy settings and navigate the target site.
To exit spider_man plugin please navigate to http://127.7.7.7/spider_man?terminate.



w3af se može koristiti za prepoznavanje i iskorištavanje ranjivosti u REST API-jima. Za identificiranje ranjivosti također koristimo plugin

  1. Pokrenite spider_man pomoću koraka navedenih u prethodnom odjeljku
  2. Konfiguriranje klijenta REST API-ja za slanje HTTP zahtjeva preko `` 127.0.0.1: 44444`
  3. Pokrenite klijent REST API
  4. Zaustavimo spider_man proxy pomoću naredbe: 'curl -X GET http://127.7.7.7/spider_man?terminate --proxy http://127.0.0.1:44444

Primjer korištenja

w3af GUI pokrećemo tako da se u terminalu pozicioniramo na mapu u kojoj smo instalirali alat i upišemo naredbu ./w3af_gui, nakon čega se otvara korisničko sučelje u kojem dalje možemo mijenjati razne opcije. Kako je korištenje GUI verzije puno jednostavnije od konzole, neću pretjerano detaljno opisivati postupak.



Slika 8. w3af skeniranje


Kao i kod konzole, moguće je kreiranje vlastitog profila za skeniranje, ili odabir nekog postojećeg.


Slika 9. Skeniranje - odabir profila


Važno je napomenuti da je skeniranje web aplikacija koje nisu naše ilegalno. Za potrebe ovog projekta nisam radila vlastite aplikaciju, nego sam skenirala dvije web aplikacije dostupne preko OWASP Broken Web Appication Projecta (OWASPBWA). OWASPBWA je kolekcija ranjivih web aplikacija dostupnih preko virtualne mašine koju je potrebno zasebno instalirati. Nakon uspješne instalacije dobivamo IP adresu preko koje možemo pristupiti tim navedenim ranjivim aplikacijama. Kolekcija osim starih ranjivih verzija nekih web aplikacija kao što su Joomla i WordPress sadrži i niz trening stranica na kojima možemo vježbati vlastita znanja o sigurnosti i ranjivostima aplikacija.


Slika 10. Rezultati skeniranja


Za potrebe projekta odabrala sam triweb aplikacije, Google Gruyere, staru, ranjivu verziju Wordpressa i web aplikaciju Vicnum.


Slika 11. Detalji rezultata skeniranja


Nakon pokretanja skeniranja, nakon kraćeg vremena prekinula sam skeniranje da bih provjerila rezultate.


Slika 12. Web aplikacija Vicnum - skeniranje


Slika 13. Rezultati skeniranja


Slika 14. Detalji pronađene ranjivosti - primjer


Nakon završetka skeniranja u polju Results prikazani su rezultati (ukoliko je pronađena koja ranjivost). Klikom na određenu stavku iz rezultata, vidimo detaljan opis svake od njih te što je pošlo po zlu, to jest, što ne radi kako treba i u kojem dijelu je ranjivost pronađena.



Arachni

Drugi alat koji sam u sklopu projekta trebala analizirati je Arachni. Arachni je modularni, visoko performasni framework temeljen na Ruby programskom jeziku. Kao svim besplatnim alatima, cilj mu je pomoći administratorima i testerima da testiraju ranjivost i sigurnost svojih web aplikacije.ima

Za razliku od drugih skenera , Arachni u obzir uzima dinamičku prirodu web aplikacija pa tako može detektirati promjene nastale tokom prolaska kroz web aplikacijsku kompleksnost i može se prilagoditi temeljeno tome. Na ovaj način se prepoznaju neki vektori napada koji bi inače ostali neprepoznani da ih je običan korisnik išao pronalaziti.

Budući da mu je cijelo okruženje ugrađeno u pregledniku, lako je moguće pronaći i istražiti klijentsku stranu koda. Također, sadrži podršku za visoko-kompleksne web aplikacije koje koriste tehnologije poput JavaScript-a, HTML5, DOM manipulacije i AJAX-a.


Instalacija

Za razliku od w3af, instalacija je puno jednostavnija. Nakon preuzimanja i raspakiravanja prikladnog paketa, preko terminala se pozicioniramo u datoteku bin te upisivanjem naredbe ./arachni_web pokrećemo korisiničko sučelje.


Slika 15. Pokretanje


U pregledniku nakon toga upisujemo localhost:9292 što nam otvara web verziju alata. Nakon otvaranja početne stranice, potrebno se prijaviti, možemo se prijaviti kao regularni korisnik (username:user@user.user, password:regular_user) ili kao administrator (username:admin@admin.admin, password:administrator).

Mogućnosti

Ovaj skener za ranjivosti dolazi sa velikim brojem i potpunom podrškom za razne poznate ranjivosti koje dobra web aplikacija ne bi trebala imati. Najpopularniji proboji koji su poznati i podržani su: XSS, SQL injection, NoSQL injection, Code injection i File inclusion variants. Arachni kontinuirano nadopunjuje i ažurira svoj alat s najnovijim otkrivenim vrstama ranjivosti web aplikacija.

Kao što sam već spomenula, zahvaljujući tome što je sučelje integrirano u web preglednik, Arachni može analizirati i najkompleksnije web aplikacije, ima podršku za: JavaScript/DOM/HTML5/AJAX, praćenje podataka i tijek izvođenja DOM i JavaScript okruženja te omogućuje i dodatno praćenje optimizacija za poznate JavaScript frameworke poput jQuery i AngularJS, što ga čini Arachni jedinstvenim web aplikacijskih skenera.

Neke od dostupnih provjera

Da bi smo vidjeli sve provjere koje omogućava Arachni, u terminal upišemo naredbu arachni --check-list.

Neke od mnogih su:

common_files - Pokušava pronaći zajedničke osjetljive datoteke na serveru

interesting_responses - Prijavljuje sve odgovore servera koji nisu OK

insecure_cookies - Zapisuje "cookieje" koji su korišteni preko kriptiranog kanala, bez da im je postavljena zastavica "secure".

private_ip - Skenira stranice s privatnim IP adresama

hsts -Provjerava da li HTTPS stranicama nedostaje " Strict Transport Security" zaglavlje

unencrypted_password_forms - Pretražuje forme za unošenje lozinke koja ne šalje podatke preko kripitranog kanala HTTPS

xss - Umeće HTML element u ulaz stranice, a zatim parsira HTML oznake i označva odgovor te traži dokaz ranjivosti

code_injection - Umeće dijelove koda i procjenjuje bi li izvršavanje bilo uspješno ili ne

file_inclusion - ubacuje putanje zajedničkih datoteka (kao što je `/ etc / passwd` i` boot.ini`) i ocjenjuje postojanje ranjivosti u uključenim datotekama na temelju prisutnosti relevantnog sadržaja ili pogreške u tijelu HTTP odgovora

Primjer korištenja

Nakon uspješne prijave, otvara nam se ekran sa statističkim podacima svih prošlih skeniranja.


Slika 16. Početni ekran


Kao i kod w3af alata, i ovdje možemo odabrati neki od pstojećih profila ili kreirati svoj profil za skeniranje. Ovdje su, za razliku od w3af, dostupna samo 3 - default, SQL Injection i Cross Site Scripting.

Slika 17. Postavljanje profila


Nakon što odaberemo profil skeniranja, unesemo URL web aplikacije koju želimo skenirati i pokrećemo postupak.


Slika 18. Primjer prikaza rezultata skeniranja


Nakon završetka skeniranja, dobijemo detaljan prikaz pronađenih ranjivosti, kao gore na slici 18. Klikom na pojedinu ranjivost omogućen nam je detaljan opis ranjivosti i gdje je pronađena. Pronađene ranjivosti mogu biti i prikazane u obliku grafa (pie chart), ovisno o opcijama koje odaberemo. Odabir opcija u GUI veriji veoma je jednostavan, dizajn je user friendly i preporučila bih ovaj alata jer daje detaljan uvid u pronađene ranjivosti.

Slika 19. Primjer prikaza rezultata - grafovi


Zaključak

Oba alata analizirana u ovom projektu od velike su koristi prilikom analiza ranjivosti i revizije web aplikacija. I jedan i drugi imaju svojih prednosti, ali i nedostataka. Dok w3af još ne može u potpunosti točno i precizno analizirati kompleksne web aplikacije, Arachni je jedan od boljih besplatnih alata za te potrebe. S druge strane, kao prednost w3af navela bih veliku brzinu i mnogobrojne pluginove koji mogu otkriti različite vrste ranjivosti. Kako je sigurnost temelj dobre web aplikacije, savjetovala bih korištenje čim više ovakvih alata kako bi se što bolje pokrili svi aspekti sigurnosti i moguće ranjivosti.

Literatura

1. [3]Arachni - Web Application Security Scanner Framework (Pristupljeno 02.02.2018.)
2. [4] OWASP: OWASP Top 10 - 2017: The Ten Most Critical Web Application Security Risks(Pristupljeno 02.02.2018.)
3. [5] Andres Riancho : Web Application Attack and Audit Framework (w3af) (Pristupljeno 02.02.2018.)

Osobni alati
Imenski prostori
Inačice
Radnje
Orijentacija
Traka s alatima