it-swarm-eu.dev

Wie führe ich eine Sicherheitsüberprüfung für eine PHP - Anwendung durch?

Ich habe eine PHP -Anwendung, die ich gerne auf Sicherheit geprüft hätte. Ich bin mit den meisten allgemeinen Sicherheitsproblemen vertraut, möchte aber sicherstellen, dass ich nichts verpasst habe.

Welche Schritte sollte ich unternehmen, um ein Selbstaudit durchzuführen? Welche Tools stehen zur Verfügung? Was ist der beste Weg, um einen externen Prüfer zu finden? Irgendwelche Empfehlungen?

Interessiert an Whitebox/Codereview Audit und Blackbox/Pentest?

44
VirtuosiMedia
27
M.S. Dousti

Sie sollten mit jedem interaktiven Web-Proxy beginnen, z. B. Burp-Proxy, Paros usw.
Ich selbst bin ein Teil von Fiddler . Unabhängig davon, für welches Tool Sie sich entscheiden, können Sie den gesamten Anforderungs-/Antwortfluss untersuchen und mit den Anforderungen nach Javascript interagieren. Toller Ort, um zu beginnen.

Irgendwann stelle ich mir vor, dass OWASPs Code-Crawler PHP auch ...) unterstützt, obwohl ich momentan kein kostenloses automatisiertes Tool dafür kenne. Nur manuelle Augäpfel für jetzt...
Natürlich können Sie sich für einen der großen Anbieter entscheiden, z. Fortify, Ounce Labs usw. - aber das ist ziemlich teuer und eine weitere Dose Würmer ...

11
AviD

Schauen Sie sich Googles Skipfish an: http://code.google.com/p/skipfish/wiki/SkipfishDoc

6
Nev Stokes

Es gibt Unmengen von Werkzeugen und es ist wirklich eine persönliche Präferenz dafür, was man für einen Pentest verwenden wird. Probieren Sie also alle von mir und anderen genannten aus und wählen Sie diejenigen aus, die am besten zu Ihnen passen.

Für die Überprüfung des Sicherheitscodes (Whitebox-Test) würde ich die Verwendung von RIPS empfehlen. Es ist das Beste unter denen, die ich versucht habe.

Für einige Blackbox-Tests benötigen Sie auf jeden Fall einen abfangenden Proxy. Es gibt viele davon, aber ich würde vorschlagen, dass Sie sich Fiddler ansehen, wenn Sie unter Windows arbeiten. Burp / WebScarab / Zed Attack Proxy sind auch großartig. Wenn Sie einige der Injektionstests automatisieren möchten, greifen Sie auf einige gängige Nutzdaten von fuzzdb zu.

Machen Sie sich auch mit Browser-Addons wie Firebug und Chrome Developer Tools, sie sind eine große Hilfe) vertraut.

Versuchen Sie abschließend Lesezeichen aus Open Penetration Testing Bookmarks Collection . Es ist eine riesige Liste (nur damit Sie wissen, wie viele Werkzeuge es gibt), aber es gibt viele Edelsteine ​​darin.

6

Wenn Sie sicherstellen möchten, dass Sie nichts verpassen, ist es am besten, einen Experten zu beauftragen, sich das anzuschauen. Zu viele Probleme treten auf Websites auf, auf denen ein Entwickler einfach nicht weiß, dass er nicht den Best Practices folgt, oder nicht versteht, dass gängige "sichere" Praktiken überhaupt nicht sicher sind! (z. B. "Ich muss mein SQL nicht parametrisieren, solange ich einfache Anführungszeichen durch einfache Anführungszeichen mit Backslash ersetze, oder?").

Wenn Sie ein Unternehmen sind, beauftragen Sie ein externes Pentesting-Unternehmen, um einen Test Ihrer Anwendung durchzuführen. Sie sind nicht sehr teuer und werden die meisten Probleme finden. Es ist sicherlich billiger für ein Unternehmen, eine Pentesting-Firma einzustellen, als Tage Zeit damit zu verschwenden, Mitarbeiter auf das volle Gehalt zu schulen, um einige Fehler zu finden, und es ist sicher billiger als zu versuchen Bauen Sie Ihr Unternehmen nach einem schwerwiegenden Verstoß gegen Kundendaten wieder auf.

3
SecurityMatt