Schwachstellentests in ASP.NET MVC

9

Ich habe an der testbasierten Entwicklung von ASP.NET MVC und ASP.NET WebAPI mit dem NMock-Komponententest teilgenommen, aber die meisten Komponententests, die ich schreibe, drehen sich um Testfunktionen.

Aus der Sicht des Unit Testing:

Gibt es Frameworks, um die Schwachstelle von Access Points auf Controllern zu testen? (oder andere Komponenten)

Vom Standpunkt der automatisierten / manuellen QA-Tests

Gibt es (bevorzugt Open Source) Tools zum Testen der Schwachstelle einer Website, die auf ASP.NET MVC basiert, manuell oder automatisch, die für die Qualitätssicherung verwendet werden kann?

    
frictionlesspulley 12.05.2013, 23:32
quelle

2 Antworten

3

Ich würde Ihre ASP.NET MVC-Anwendung genauso testen wie jede andere Webanwendung, die auf einer anderen Plattform erstellt wurde.

Im Wesentlichen sind Ihre Angriffsvektoren die Webseiten und Server, die die Anwendung hosten. Denken Sie darüber aus Sicht der Angreifer nach. Sie haben keine Möglichkeit, den Code in Ihren Controllern und Modellen zu sehen, aber sie können Folgendes tun.

  • Durchsuchen Sie Ihre Server nach Betriebssystemversion, Webserverversion, Datenbankversion, die Sicherheitslücken enthalten kann.
  • Durchsuchen Sie Ihre Webseiten auf anfälliges JavaScript, Eingabeformulare, Abfragezeichenfolgenparameter usw.
  • Versuchen Sie, Ihre Webanwendung durch entdeckte Sicherheitslücken auszunutzen

Sie können eine beliebige Anzahl von Anwendungen verwenden, um Ihre Site auf xss, csrf, sql injection usw. zu testen. Ein guter Ausgangspunkt ist OWASP Ссылка Machen Sie sich mit Top 10 vertraut Ссылка

Lesen Sie auch diesen SO-Post zu Open-Source-Schwachstellen-Scannern Ссылка

Denken Sie daran, dass die beiden Hauptangriffsvektoren Benutzereingaben und Serverkonfigurationen sind.

Ich würde auch empfehlen, sich NMap und MetaSploit anzuschauen. Nmap kann verwendet werden, um offene Ports auf einem Server zu finden, und MetaSploit ist ein Framework zum Ausnutzen von Schwachstellen.

    
user2353007 13.05.2013 02:43
quelle
1

Nun, einer der größten Bereiche, die Sie sich ansehen sollten, ist ModelBinding, da dies normalerweise massive Sicherheitslücken schafft.

Schauen Sie sich beispielsweise diese Frage an und prüfen Sie, ob Sie die Sicherheitslücke erkennen können:

Dinis Cruz 18.07.2013 13:36
quelle