Como dar um bypass no sistema de personalização de camisetas da nike
Considerando essa máteria Personalização de camisas da Nike permitia ataque ao PSDB, mas preservou PT e Dilma, quando eu fiz os testes, varias palavras do meio politico eram proibidas.
Dente elas :
Olhando mais de perto eu percebi que talvez conseguisse alterar a resposta e permitir a entrada dessas palavras bloqueadas.
Ao digitar a palavra para personalização, é feito uma chamada AJAX, para a seguinte url?
http://www.nikedigitalsis.com.br/nikeid/_loja/admin/ws/blacklist.aspx?c=builder.callback_text&s=NIKE&sku=575280-703&id_sku=252101&_=1405046073706
Os Parametros são?
O restante dos parametros não é importante.
O Retorno dessa chamada é um jsonp
Quando Ok?
Quando Non-Ok
Percebido isso, foi bem simples enganar o sistema.
1° - É preciso alterar o apache para ele responder ".aspx" como um php
2° - Criar a arvore de diretorio no raiz do seu server
.
└── nikeid
└── _loja
└── admin
└── ws
└── blacklist.aspx
3° - Criar o seguinte script e salvar com o nome de "blacklist.aspx"
4° - Alterar os hosts da maquina e adicionar a seguinte linha
Dai em diante basta navegar na personalização e qualquer palavra enviada terá retorno OK!. Lembrando que a palavra não deve passar de 10 caracteres, pois há uma verificação posterior do tamanho.
Dente elas :
- Dilma
- Lula
- Aecio
- PT
- PSDB
- Fora Dilma
- Fora
- Fora Aecio
- Fora PT
Olhando mais de perto eu percebi que talvez conseguisse alterar a resposta e permitir a entrada dessas palavras bloqueadas.
Ao digitar a palavra para personalização, é feito uma chamada AJAX, para a seguinte url?
http://www.nikedigitalsis.com.br/nikeid/_loja/admin/ws/blacklist.aspx?c=builder.callback_text&s=NIKE&sku=575280-703&id_sku=252101&_=1405046073706
Os Parametros são?
- c => a função de retorno
- s => o texto a ser validado
O restante dos parametros não é importante.
O Retorno dessa chamada é um jsonp
Quando Ok?
builder.callback_text({"s": "NIKE", "ok": true, "message": ""});
Quando Non-Ok
builder.callback_text({"s": "DILMA", "ok": false, "message": "Palavra não disponível para personalização."});
Percebido isso, foi bem simples enganar o sistema.
1° - É preciso alterar o apache para ele responder ".aspx" como um php
<FilesMatch "\.aspx$"> SetHandler application/x-httpd-php </FilesMatch>
2° - Criar a arvore de diretorio no raiz do seu server
.
└── nikeid
└── _loja
└── admin
└── ws
└── blacklist.aspx
3° - Criar o seguinte script e salvar com o nome de "blacklist.aspx"
<?php
$str = $_GET['s']
echo 'builder.callback_text({"s": "'.$str.'", "ok": true, "message": ""})';
?>
4° - Alterar os hosts da maquina e adicionar a seguinte linha
127.0.0.1 nikedigitalsis.com.br
Dai em diante basta navegar na personalização e qualquer palavra enviada terá retorno OK!. Lembrando que a palavra não deve passar de 10 caracteres, pois há uma verificação posterior do tamanho.
Comments
Post a Comment