sql >> Database teknologi >  >> RDS >> Mysql

Test for sikkerhedssårbarheder i webapplikationer:bedste praksis?

SQL Injection og XSS er de mest almindelige fejl, som programmører begår. Den gode nyhed er, at de er nemmest at automatisk teste for, så længe du har den rigtige software. Når jeg er på en pentest bruger jeg Sitewatch eller Wapiti for at finde webapplikationssårbarheder. Acunetix er overprissat.

Men du kan ikke bare fyre et eller andet automatiseret værktøj af og forvente, at alt fungerer. Der er en række forholdsregler, du skal tage med ENHVER sårbarhedsscanner, du vælger.

1) sørg for display_errors=Til i din php.ini Sql Injection tests er afhængige af at kunne se mysql fejlmeddelelser på svarsiderne! Ingen fejl, ingen sårbarhed fundet!

2) Scan de godkendte områder af din applikation. Opret en brugerkonto specifikt til test. Acuentix har en nem guide, hvor du kan oprette en login-sekvens. Hvis du bruger wapiti, kan du give en cookie til wapiti eller give wapiti en post-anmodning om at fyre af, men det er lidt vanskeligt.

EFTER du har testet din applikation, så test din server for fejlkonfiguration. For at teste din server skal du køre OpenVAS som er den nye mere gratis version af Nessus, som nu er et kommercielt produkt. Så bør du følge dette op med PhpSecInfo . Disse test vil give dig besked om problemer med din konfiguration, eller hvis du kører gammel sårbar software.

Intet vil nogensinde være 100 % sikkert, NOGENSINDE . Uanset hvad du gør, er der sårbarheder, der vil glide gennem sprækkerne. Der er sårbarheder i alle udviklingsplatforme, der fører til et kompromis, som intet værktøj kan teste for. Der er også fejl i de testværktøjer, du bruger. Der er falske posties og falske negativer og nogle tests, der bare ikke virker , et godt eksempel, jeg har aldrig set et automatiseret CSRF-værktøj, der faktisk finder legitime sårbarheder. Acunetix's CSRF-test er totalt spild af tid.

Der er også OWASP-testvejledningen som går mere i detaljer. Dette må ikke forveksles med OWASP Top 10 som også er en fremragende ressource. PHP Security Guide er også en fantastisk ressource for php-programmører.



  1. Hvornår skal jeg bruge Start/End Blocks og Go nøgleordet i SQL Server?

  2. UTF-8:vises korrekt i databasen, dog ikke i HTML på trods af utf-8 tegnsæt

  3. Hvordan påvirker uforanderlige, stabile og flygtige søgeord funktionsadfærd?

  4. De bedste SQL Server Performance-fora til hjælp til de sværeste spørgsmål