web application security testing guide
implementació de l'algorisme de dijkstra a Java
Degut a la gran quantitat de dades emmagatzemades a les aplicacions web i a l’augment del nombre de transaccions a la xarxa, les proves de seguretat adequades de les aplicacions web s’estan convertint en un dia a dia molt important.
En aquest article, coneixerem amb detall els termes clau que s’utilitzen a les proves de seguretat de llocs web i al seu enfocament de proves.
Què aprendreu:
- Què són les proves de seguretat?
- Alguns termes clau utilitzats en les proves de seguretat
- Eines de proves de seguretat recomanades
- Enfocament de les proves de seguretat
- Mètodes per a la prova de seguretat web
- Conclusió
- Lectura recomanada
Què són les proves de seguretat?
Proves de seguretat és el procés que comprova si el fitxer les dades confidencials són confidencials o no (és a dir, no està exposat a persones / entitats per a les quals no està pensat) i els usuaris només poden realitzar aquelles tasques que estan autoritzades a realitzar
Per exemple, un usuari no hauria de poder negar la funcionalitat del lloc web a altres usuaris o un usuari no hauria de poder canviar la funcionalitat de l’aplicació web d’una manera no desitjada, etc.
Alguns termes clau utilitzats en les proves de seguretat
Abans de continuar, serà útil familiaritzar-se amb pocs termes que s’utilitzen amb freqüència a les proves de seguretat de les aplicacions web:
Què és la 'vulnerabilitat'?
Aquesta és la debilitat de l’aplicació web. La causa d'aquesta 'debilitat' pot ser deguda als errors de l'aplicació, a una injecció (codi SQL / script) o a la presència de virus.
Què és la 'Manipulació d'URL'?
Algunes aplicacions web comuniquen informació addicional entre el client (navegador) i el servidor a la URL. El canvi de certa informació de l'URL de vegades pot provocar un comportament no desitjat del servidor, que s'anomena ' Manipulació d’URL .
Què és la 'injecció SQL'?
Aquest és el procés d’inserció d’instruccions SQL a través de la interfície d’usuari de l’aplicació web en alguna consulta que el servidor executa.
Què és 'XSS (Cross-Site Scripting)'?
Quan un usuari insereix un script HTML / client a la interfície d’usuari d’una aplicació web, aquesta inserció és visible per a altres usuaris i s’anomena com XSS .
Què és 'Spoofing'?
Es denomina creació de llocs web o correus electrònics semblants a la falsificació Spoofing .
Eines de proves de seguretat recomanades
# 1) Acunetix
cicle de vida del desenvolupament de programari 5 fases
Acunetix és un escàner de seguretat d’aplicacions web de punta a punta. Oferirà una visió de 360 graus de la seguretat de la vostra organització. És capaç de detectar 6500 tipus de vulnerabilitats, com ara injeccions SQL, XSS i contrasenyes febles, etc. Utilitza tecnologia avançada de gravació de macros per escanejar formularis complexos de diversos nivells.
La plataforma és intuïtiva i fàcil d’utilitzar. Podeu programar i prioritzar les exploracions completes, així com les exploracions incrementals. Conté una funcionalitat de gestió de vulnerabilitats integrada. Amb l'ajut d'eines de CI com Jenkins, les noves versions es poden escanejar automàticament.
=> Proveu Acunetix per a la seguretat de les aplicacions web
# 2) Kiuwan
Cerqueu i corregiu les vulnerabilitats del vostre codi en totes les etapes del SDLC.
Kiuwan compleix els estàndards de seguretat més estrictes, inclosos OWASP, CWE, SANS 25, HIPPA i molt més.Integreu Kiuwan al vostre IDE per obtenir comentaris instantanis durant el desenvolupament. Kiuwan admet tots els llenguatges de programació principals i s’integra amb les principals eines DevOps.
=> Escaneja el codi gratis
Enfocament de les proves de seguretat
Per tal de realitzar una prova de seguretat útil d'una aplicació web, el provador de seguretat hauria de tenir un bon coneixement del protocol HTTP.
És important tenir una comprensió de com el client (el navegador) i el servidor es comuniquen mitjançant HTTP.
A més, el provador hauria de conèixer com a mínim els conceptes bàsics de la injecció SQL i XSS.
Amb sort, el nombre de defectes de seguretat presents a l’aplicació web no serà elevat. Tot i així, ser capaç de descriure tots els defectes de seguretat amb precisió amb tots els detalls requerits ajudarà definitivament.
Mètodes per a la prova de seguretat web
# 1) Cracking de contrasenya
Les proves de seguretat a Aplicació web es pot iniciar mitjançant el 'Cracking de contrasenya'. Per iniciar la sessió a les àrees privades de l’aplicació, es pot endevinar un nom d’usuari / contrasenya o utilitzar alguna eina de cracker de contrasenyes. Hi ha una llista de noms d’usuari i contrasenyes habituals juntament amb els crackers de contrasenyes de codi obert.
Si l'aplicació web no aplica una contrasenya complexa ( Per exemple, (amb alfabets, números i caràcters especials o amb un nombre mínim de caràcters obligatori), pot ser que no trigui molt a trencar el nom d’usuari i la contrasenya.
Si s’emmagatzema un nom d’usuari o una contrasenya a les galetes sense xifrar, un atacant pot utilitzar diferents mètodes per robar les galetes i la informació emmagatzemada a les galetes, com ara el nom d’usuari i la contrasenya.
Per obtenir més detalls, consulteu un article sobre “ Prova de cookies de llocs web '.
# 2) Manipulació d'URL mitjançant mètodes HTTP GET
Un provador ha de comprovar si l'aplicació transmet informació important a la cadena de consulta o no. Això passa quan l'aplicació utilitza el mètode HTTP GET per transmetre informació entre el client i el servidor.
millor programari d'actualització de controladors de Windows 10
La informació es transmet a través dels paràmetres de la cadena de consulta. El comprovador pot modificar un valor de paràmetre a la cadena de consulta per comprovar si el servidor l'accepta.
Mitjançant la sol·licitud GET HTTP, la informació de l'usuari es passa al servidor per obtenir dades d'autenticació o obtenir. L'atacant pot manipular totes les variables d'entrada transmeses des d'aquesta sol·licitud GET a un servidor per obtenir la informació necessària o per corrompre les dades. En aquestes condicions, qualsevol comportament inusual de l'aplicació o del servidor web és la porta d'accés de l'atacant a una aplicació.
# 3) Injecció SQL
El següent factor que s’hauria de comprovar és SQL Injection. L’aplicació hauria de rebutjar la introducció d’un pressupost únic (‘) a qualsevol quadre de text. En canvi, si el provador detecta un error en la base de dades, significa que l'entrada de l'usuari s'insereix en alguna consulta que després executa una aplicació. En aquest cas, l'aplicació és vulnerable a la injecció SQL.
Els atacs per injecció SQL són molt crítics, ja que un atacant pot obtenir informació vital de la base de dades del servidor. Per comprovar els punts d’entrada d’injecció SQL a la vostra aplicació web, esbrineu el codi de la base de codis on s’executen consultes directes de MySQL a la base de dades acceptant algunes entrades d’usuari.
Si les dades d'entrada de l'usuari es creen en consultes SQL per consultar la base de dades, un atacant pot injectar sentències SQL o part de les sentències SQL com a entrades de l'usuari per extreure informació vital d'una base de dades. Fins i tot si un atacant té èxit en bloquejar l'aplicació, a partir de l'error de consulta SQL que es mostra en un navegador, l'atacant pot obtenir la informació que busca.
En aquests casos, els caràcters especials de les entrades dels usuaris s’han de manejar / escapar correctament.
# 4) Scripts entre llocs (XSS)
Un provador hauria de comprovar addicionalment l'aplicació web per trobar XSS (scripts entre llocs). Qualsevol HTML Per exemple, o qualsevol script Per exemple, no hauria de ser acceptada per la sol·licitud. Si és així, l’aplicació pot inclinar-se a atacs mitjançant scripts entre llocs.
L'atacant pot utilitzar aquest mètode per executar un script o URL maliciós al navegador de la víctima. Mitjançant scripts entre llocs, un atacant pot utilitzar scripts com JavaScript per robar cookies d’usuari i informació emmagatzemada a les cookies.
Moltes aplicacions web obtenen informació útil i transmeten aquesta informació en algunes variables de diferents pàgines.
Per exemple, http://www.examplesite.com/index.php?userid=123 & consulta = xyz
L'atacant pot transmetre fàcilment algunes dades malicioses o com a paràmetre '& consulta' que pot explorar dades importants d'usuari / servidor al navegador.
Important: Durant les proves de seguretat, el comprovador ha de tenir molta cura de no modificar cap dels següents:
- Configuració de l'aplicació o del servidor
- Serveis que s’executen al servidor
- Dades d’usuari o client existents allotjades per l’aplicació
A més, s’ha d’evitar una prova de seguretat en un sistema de producció.
Conclusió
L’objectiu d’una prova de seguretat és descobrir les vulnerabilitats de l’aplicació web perquè els desenvolupadors puguin eliminar aquestes vulnerabilitats de l’aplicació i protegir l’aplicació web i les dades de qualsevol acció no autoritzada.
Lectura recomanada => Diferència entre SAST / DAST / IAST / RASP
No dubteu a compartir els vostres comentaris / suggeriments sobre aquest article.
Lectura recomanada
- Guia per a principiants sobre proves de penetració d'aplicacions web
- Proves de seguretat (una guia completa)
- Proves alfa i proves beta (guia completa)
- Proves de seguretat de xarxa i millors eines de seguretat de xarxa
- Les millors eines de prova de programari 2021 (Eines d'automatització de proves de control de qualitat)
- Guia completa de proves de verificació de compilació (proves BVT)
- Top 4 eines de proves de seguretat de codi obert per provar aplicacions web
- Proves funcionals contra proves no funcionals