Inleiding
In het verleden zijn veel populaire websites gehackt. Hackers zijn actief en proberen altijd websites te hacken en gegevens te lekken. Daarom is het testen van de beveiliging van webapplicaties erg belangrijk. En dit is waar webapplicatie beveiligingsscanners om de hoek komen kijken.
Een beveiligingsscanner voor webapplicaties is een softwareprogramma dat automatisch black-box tests op een webapplicatie uitvoert en beveiligingslekken identificeert. Scanners hebben geen toegang tot de broncode; ze voeren alleen functionele tests uit en proberen beveiligingslekken te vinden. Er zijn diverse betaalde en gratis scanners voor kwetsbaarheden in webapplicaties beschikbaar.
In dit bericht zetten we de beste gratis open-source webapplicatie kwetsbaarheden scanners op een rij. Ik voeg de tools in willekeurige volgorde toe, dus denk niet dat het een ranglijst van tools is.
Ik voeg alleen open-source tools toe die kunnen worden gebruikt om beveiligingslekken in webapplicaties te vinden. Ik voeg geen tools toe om kwetsbaarheden in servers te vinden. En verwar gratis tools en open-source tools niet met elkaar! Er zijn verschillende andere tools gratis beschikbaar, maar ze bieden geen broncode aan andere ontwikkelaars. Open-source tools zijn tools die broncodes aanbieden aan ontwikkelaars, zodat ontwikkelaars de tool kunnen aanpassen of kunnen helpen bij de verdere ontwikkeling.
Dit zijn de beste open-source webapplicatie penetratie testing tools.
Grabber
Grabber is een webapplicatie scanner die veel beveiligingslekken in webapplicaties kan detecteren. Het voert scans uit en vertelt waar de kwetsbaarheid zich bevindt. Het kan de volgende kwetsbaarheden detecteren:
- Cross-site scripting
- SQL injectie
- Ajax testen
- File inclusion
- JS source code analyzer
- Backup file check
Het is niet snel in vergelijking met andere beveiligingsscanners, maar het is eenvoudig en draagbaar. Deze moet alleen worden gebruikt om kleine webapplicaties te testen, omdat het te veel tijd kost om grote applicaties te scannen.
Deze tool biedt geen GUI-interface. Het kan ook geen PDF-rapporten maken. Deze tool is ontworpen om eenvoudig en voor persoonlijk gebruik te zijn. Als u denkt aan het voor professioneel gebruik, zal ik het niet aanraden.
Deze tool is ontwikkeld in Python en een uitvoerbare versie is ook beschikbaar als u wilt. De broncode is beschikbaar, dus u kunt het aanpassen aan uw behoeften. Het hoofdscript is grabber.py, dat eenmaal uitgevoerd andere modules aanroept zoals sql.py, xss.py of andere.
Download het hier.
Broncode op GitHub.
Vega
Vega is een ander gratis open-source web kwetsbaarheden scanner en test platform. Met deze tool kunt u beveiligingstesten van een webapplicatie uitvoeren. Deze tool is geschreven in Java en biedt een GUI-gebaseerde omgeving. Het is beschikbaar voor OS X, Linux en Windows.
Het kan worden gebruikt om SQL-injectie, header-injectie, directory listing, shell-injectie, cross-site scripting, file inclusion en andere web applicatie kwetsbaarheden te vinden. Deze tool kan ook worden uitgebreid met behulp van een krachtige API geschreven in JavaScript.
Tijdens het werken met de tool, kunt u een paar voorkeuren instellen, zoals het totale aantal padafstammelingen, het aantal kindpaden van een knooppunt en de diepte en het maximale aantal verzoeken per seconde. U kunt gebruik maken van Vega Scanner, Vega Proxy en Proxy Scanner, en ook scannen met credentials. Als u hulp nodig heeft, kunt u bronnen vinden in de documentatiesectie:
Documentatie is hier.
Download Vega hier.
Zed Attack Proxy
Zed Attack Proxy is ook bekend als ZAP. Deze tool is open-source en is ontwikkeld door OWASP. Het is beschikbaar voor Windows, Unix/Linux en Macintosh platforms.
Ik vind dit persoonlijk een goede tool. Het kan worden gebruikt om een breed scala aan kwetsbaarheden in webapplicaties te vinden. De tool is heel eenvoudig en gemakkelijk te gebruiken. Zelfs als je nieuw bent op het gebied van penetratietesten, kun je deze tool gemakkelijk gebruiken om te beginnen met het leren van penetratietesten van webapplicaties.
Dit zijn de belangrijkste functionaliteiten van ZAP:
- Onderscheppende proxy
- Automatische scanner
- Traditionele maar krachtige spiders
- Fuzzer
- Web socket support
- Plug-n-hack-ondersteuning
- Authenticatie-ondersteuning
- REST-gebaseerde API
- Dynamische SSL-certificaten
- Smartcard en client digitale certificaten ondersteuning
U kunt deze tool gebruiken als een scanner door het invoeren van de URL om het scannen uit te voeren, of u kunt deze tool gebruiken als een onderscheppende proxy om handmatig tests uit te voeren op specifieke pagina’s.
Download ZAP hier.
Wapiti
Wapiti is een web-kwetsbaarheidsscanner waarmee u de beveiliging van uw webapplicaties kunt controleren. Het voert black-box tests uit door webpagina’s te scannen en gegevens te injecteren. Het probeert payloads te injecteren en te zien of een script kwetsbaar is. Het ondersteunt zowel GET- als POSTHTTP-aanvallen en detecteert meerdere kwetsbaarheden.
Het kan de volgende kwetsbaarheden detecteren:
- File disclosure
- File inclusion
- Cross-site scripting (XSS)
- Commando uitvoering detectie
- CRLF injectie
- SEL injectie en XPath injectie
- Weak .htaccess configuratie
- Backup file disclosure
- Vele andere
Wapiti is een command-line applicatie, dus het is misschien niet makkelijk voor beginners. Maar voor experts zal het goed werken. Om deze tool te gebruiken, moet je veel commando’s leren, die je kunt vinden in de officiële documentatie.
Download Wapiti met broncode hier.
W3af
W3af is een populair raamwerk voor aanvallen op webapplicaties en audits. Dit raamwerk is bedoeld om een beter platform te bieden voor het penetreren van webapplicaties. Het is ontwikkeld met behulp van Python. Met behulp van deze tool kunt u meer dan 200 soorten zwakke plekken in webapplicaties identificeren, waaronder SQL-injectie, cross-site scripting en nog veel meer.
Het wordt geleverd met een grafische en console-interface. U kunt het gemakkelijk gebruiken, dankzij de eenvoudige interface.
Als u het met een grafische interface gebruikt, denk ik niet dat u problemen zult ondervinden met de tool. U hoeft alleen maar de opties te selecteren en dan de scanner te starten. Als een website authenticatie nodig heeft, kunt u ook authenticatie modules gebruiken om de sessie-beveiligde pagina’s te scannen.
We hebben deze tool al in detail behandeld in onze vorige W3af walkthrough series. U kunt deze artikelen lezen om meer over deze tool te weten te komen.
U kunt de broncode op de GitHub repository hier openen.
Download het van de officiële website hier.
WebScarab
WebScarab is een op Java gebaseerd beveiligingsraamwerk voor het analyseren van webapplicaties die gebruikmaken van het HTTP- of HTTPS-protocol. Met beschikbare plugins kunt u de functionaliteit van de tool uitbreiden.
Deze tool werkt als een onderscheppende proxy; u kunt de verzoeken en antwoorden bekijken die in uw browser binnenkomen en naar de server gaan. U kunt ook het verzoek of antwoord wijzigen voordat ze door de server of browser worden ontvangen.
Als u een beginner bent, is deze tool niet voor u. Deze tool is ontworpen voor degenen die een goed begrip hebben van het HTTP-protocol en codes kunnen schrijven.
WebScarab biedt vele functies die penetration testers helpen om nauwgezet aan een webapplicatie te werken en beveiligingslekken te vinden. Het heeft een spider die automatisch nieuwe URL’s van de doelwebsite kan vinden. Het kan gemakkelijk scripts en de HTML van de pagina extraheren. De proxy observeert het verkeer tussen de server en uw browser, en u kunt controle nemen over het verzoek en antwoord door gebruik te maken van beschikbare plugins. De beschikbare modules kunnen gemakkelijk de meest voorkomende kwetsbaarheden detecteren, zoals SQL-injectie, XSS, CRLF en vele andere kwetsbaarheden.
De broncode van de tool is beschikbaar op GitHub hier.
Download WebScarab hier.
Skipfish
Skipfish is een andere mooie webapplicatiebeveiligingstool. Het crawlt de website en controleert vervolgens elke pagina op verschillende veiligheidsrisico’s. Aan het eind maakt het een eindrapport.
Dit programma is geschreven in C. Het is geoptimaliseerd voor HTTP-afhandeling en gebruikt een minimum aan CPU. Het beweert dat het gemakkelijk 2.000 verzoeken per seconde kan verwerken zonder de CPU te belasten. Het gebruikt een heuristische benadering tijdens het crawlen en testen van webpagina’s, en beweert een hoge kwaliteit en minder valse positieven te bieden.
Dit hulpprogramma is beschikbaar voor Linux, FreeBSD, MacOS X en Windows.
Download Skipfish of code van Google Codes hier.
Ratproxy
Ratproxy is een open-source hulpprogramma voor het controleren van webapplicaties, dat kan worden gebruikt om beveiligingslekken in webapplicaties te vinden. Het ondersteunt Linux, FreeBSD, MacOS X en Windows (Cygwin) omgevingen.
Dit gereedschap is ontworpen om de problemen te overwinnen die gebruikers gewoonlijk ondervinden bij het gebruik van andere proxy gereedschappen voor veiligheidscontroles. Het is in staat om onderscheid te maken tussen CSS stylesheets en JavaScript codes. Het ondersteunt ook de SSL man-in-the-middle aanval, wat betekent dat je ook gegevens kunt zien die door SSL gaan.
Je kunt hier meer over deze tool lezen.
Download het hier.
SQLMap
SQLMap is een andere populaire open-source penetratie test tool. Het automatiseert het proces van het vinden en misbruiken van SQL-injectie kwetsbaarheden in de database van een website. Het heeft een krachtige detectie-engine en vele nuttige functies. Op deze manier kan een penetratietester eenvoudig een SQL injectie controle uitvoeren op een website.
Het ondersteunt een reeks van database servers, waaronder MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase en SAP MaxDB. Het biedt volledige ondersteuning voor zes soorten SQL-injectietechnieken: time-based blind, Boolean-based blind, error-based, UNION query, stacked queries en out-of-band.
Toegang tot de broncode op GitHub hier.
Download SQLMap hier.
Wfuzz
Wfuzz is een andere vrij beschikbare open-source tool voor webapplicatie penetratie testen. Het kan worden gebruikt om GET en POST parameters te brute-forcen voor het testen tegen verschillende soorten injecties zoals SQL, XSS, LDAP en vele anderen. Het ondersteunt ook cookie fuzzing, multi-threading, SOCK, proxy, authenticatie, parameter brute-forcing, meerdere proxy en vele andere dingen.
Deze tool biedt geen GUI interface, dus je zult met de command-line interface moeten werken.
Je kunt hier meer lezen over de mogelijkheden van de tool.
Download Wfuzz van code.google.com hier.
Grendel-Scan
Grendel-Scan is een andere mooie open-source web applicatie beveiligingstool. Dit is een automatische tool voor het vinden van beveiligingslekken in webapplicaties. Veel functies zijn ook beschikbaar voor handmatige penetratie testen. Deze tool is beschikbaar voor Windows, Linux en Macintosh en is ontwikkeld in Java.
Download de tool en de broncode hier.
Watcher
Watcher is een passieve web security scanner. Het valt niet aan met ladingen verzoeken of crawlt de doelwebsite. Het is geen aparte tool maar een add-on van Fiddler, dus je moet eerst Fiddler installeren en dan Watcher om het te gebruiken.
Het analyseert stilletjes de verzoeken en antwoorden van de gebruikersinteractie en maakt dan een rapport over de toepassing. Omdat het een passieve scanner is, heeft het geen invloed op de hosting of cloud-infrastructuur van de website.
Download Watcher en de broncode hier.
X5S
X5S is ook een Fiddler add-on bedoeld om een manier te bieden om cross-site scripting kwetsbaarheden te vinden. Dit is geen automatische tool, dus je moet begrijpen hoe coderingsproblemen kunnen leiden tot XSS voordat je het gebruikt. U moet handmatig het injectiepunt vinden en vervolgens controleren waar XSS zich in de applicatie zou kunnen bevinden.
We hebben X5S in een eerdere post behandeld. U kunt dat artikel raadplegen om meer te lezen over X5S en XSS.
Download X5S en de broncode van Codeplex hier.
U kunt ook deze officiële handleiding raadplegen om te weten hoe u X5S gebruikt.
Arachni
Arachni is een open-source tool ontwikkeld voor het bieden van een omgeving voor penetratietesten. Deze tool kan verschillende kwetsbaarheden in de beveiliging van webapplicaties detecteren. Het kan verschillende kwetsbaarheden detecteren, zoals SQL-injectie, XSS, lokale bestandsinclusie, bestandsinclusie op afstand, ongeldige omleiding en vele anderen.
Download deze tool hier.
Eindwoord
Dit zijn de beste open-source webapplicatie beveiligingstest tools. Ik heb mijn best gedaan om een lijst te maken van alle tools die online beschikbaar zijn. Als een tool al vele jaren niet meer is bijgewerkt, heb ik het hier niet genoemd; dit komt omdat als een tool meer dan 10 jaar oud is, het compatibiliteitsproblemen kan veroorzaken in de recente omgeving.
Als je een ontwikkelaar bent, kun je ook lid worden van de ontwikkelaarscommunity van deze tools en ze helpen groeien. Door deze tools te helpen, vergroot je ook je kennis en expertise.
Als je wilt beginnen met penetratietesten, zal ik je aanraden Linux distributies te gebruiken die zijn gemaakt voor penetratietesten. Deze omgevingen zijn Backtrack, Gnacktrack, Backbox en BlackBuntu. Al deze tools worden geleverd met diverse gratis en open-source tools voor website penetratie testen.