domingo, 5 de agosto de 2012

Xss sem aspas


Bom dia senhores,


Segue aqui um Xss interessante que achei no forum:  http://www.garage4hackers.com/f11/unusual-xss-payload-2522.html 


Vou fazer uma pequena análise no payload utilizado.

 Abaixo o código: 



alert(String(/DcLabs/).substr(1,6) ); 


Note que é a usado o String para definir a string que vamos utilizar. O texto precisa necessariamente estar entre / / justamente para evitar as aspas, logo após é utilizada a função Substr, aqui ela irá extrair a string Dclabs removendo as // . 


Funcionaria sem esta função, mas as barras seriam exibidas no alert ou onde você injetasse o código, e isso poderia causar problemas.


Caso queira utilizar uma string maior, será necessário alterar o deslocamento no substr. Sempre uma posição a mais no inicio e uma a menos no final da string utilizada, evitando assim as //. 


Já este, utiliza o objeto sessionStorage(que serve pra guardar informações da navegação entre janelas ou tabs.) e controles de erro para exibir o alert.
(sessionStorage[!-1]=alert(123))(!-1)

Neste caso, com a ideia é não usar aspas:


(sessionStorage[!-1]=alert( String(/DcLabs/).substr(1,6) ) )(!-1)



Ok! Temos um Xss sem aspas! (: 

Um comentário: