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?
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.
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.
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:
Tags und Links asp.net-mvc asp.net-web-api unit-testing