Cross Site Scripting (XSS) Twitter / WafW00f release 0.24
Primeiramente comentarei de um XSS encontrado no twitter pelo time da N-Stalker junto com o time da iBliss (http://www.ibliss.com.br) . Fazendo alguns testes rotineiros encontramos uma situação aparentemente não muito fácil de explorar globalmente mas com possibilidades de roubo de sessão dentre outros fatores.
O twitter tem um campo de pesquisas http://www.twitter.com/timeline/search?q= .
Se digitassemos algo como <script language=javascript>alert(‘XSS’)</script> no search nada aconteceria. O problema seria quando você salvasse o search e realizando o reload na página o código era carregado .
A falha foi reportada para o security do twitter
Discovered 29/11/2009
Vendor Disclosure 02/12/2009
Patched 09/12/2009
Disclosure 09/12/2009
A correção foi extremamente rápida e vale parabenizar a equipe de desenvolvedores/equipe de segurança do twitter.
Além do report do XSS testamos o release 0.24 do WafW00f escrito pelo Sandro Gauci e pelo nosso amigo Wendel aka Dumdum. Essa ferramenta visa detectar a presença de web application firewalls e com isso colaborar com uso de possíveis técnicas de evasion para bypassar e ter maior sucesso no pentest ou analise de vulnerabilidade web .
A ferramenta suporta a detecção dos seguintes WAF’s
spooker@notsecure:/LABS/waffit$ python wafw00f.py –list
WAFW00F – Web Application Firewall Detection Tool
By Sandro Gauci && Wendel G. Henrique
Can test for these WAFs:
Profense
NetContinuum
Barracuda
HyperGuard
BinarySec
Teros
F5 Trafficshield
F5 ASM
Airlock
Citrix NetScaler
ModSecurity
DenyALL
dotDefender
webApp.secure
BIG-IP
URLScan
WebKnight
SecureIIS
BeeWare
Imperva
spooker@notsecure:/LABS/waffit$
A ferramenta basicamente envia algumas requisições consideradas maliciosas pela maioria dos web application firewalls e baseado nas respostas enumera o que está sendo utilizado . Fiz um teste em um hosting que conheço que utiliza Imperva e o resultado foi perfeito.
Algumas das requisições maliciosas enviadas pelo mesmo :
send: ‘GET /../../../../etc/passwd HTTP/1.1\r\nHost: www.domain.com\r\nAccept-Encoding: identity\r\nAccept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\nAccept: */*\r\nUser-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b1) Gecko/20081007 Firefox/3.0\r\n\r\n’
send: ‘GET / HTTP/1.1\r\nHost: www.domain.com\r\nAccept-Encoding: identity\r\nTransfer-Encoding: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz<RECORTADO>\r\nAccept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\nAccept: */*\r\nUser-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b1) Gecko/20081007 Firefox/3.0\r\n\r\n’
send: ‘GET /cmd.exe HTTP/1.1\r\nHost: www.domain.com\r\nAccept-Encoding: identity\r\nAccept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\nAccept: */*\r\nUser-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b1) Gecko/20081007 Firefox/3.0\r\n\r\n’
spooker@notsecure:/LABS/waffit$ python wafw00f.py http://www.domain.com
WAFW00F – Web Application Firewall Detection Tool
By Sandro Gauci && Wendel G. Henrique
Checking http://www.domain.com
The site http://www.domain.com is behind a Imperva
Number of requests: 8
spooker@notsecure:/LABS/waffit$
A ferramenta é bem interessante para ajudar no uso ou não de técnicas de evasion e não sei se existem números ainda quanto a eficácia da mesma em todas os WAFs listados mas certamente a ferramenta continua em crescimento e vamos aguarda o release 0.25 .
Links:
http://waffit.googlecode.com/
http://pentestit.com/2009/12/13/update-wafw00f-revision-24/
Aproveitando a equipe da N-Stalker gostaria de desejar Feliz Natal e Ótimo Ano Novo a todos que nos acompanham.
N-Stalker Team