38 lines
1.2 KiB
Markdown
38 lines
1.2 KiB
Markdown
# Client Side is Still Bad
|
|
|
|
Se nos da una dirección [URL](http://2018shell2.picoctf.com:55790/)
|
|
donde encontramos un portal de acceso. Revisando el código fuente encontramos
|
|
un script que ejecuta la página:
|
|
|
|
```javascript
|
|
<script type="text/javascript">
|
|
function verify() {
|
|
checkpass = document.getElementById("pass").value;
|
|
split = 4;
|
|
if (checkpass.substring(split*7, split*8) == '}') {
|
|
if (checkpass.substring(split*6, split*7) == 'd366') {
|
|
if (checkpass.substring(split*5, split*6) == 'd_3b') {
|
|
if (checkpass.substring(split*4, split*5) == 's_ba') {
|
|
if (checkpass.substring(split*3, split*4) == 'nt_i') {
|
|
if (checkpass.substring(split*2, split*3) == 'clie') {
|
|
if (checkpass.substring(split, split*2) == 'CTF{') {
|
|
if (checkpass.substring(0,split) == 'pico') {
|
|
alert("You got the flag!")
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
alert("Incorrect password");
|
|
}
|
|
}
|
|
```
|
|
|
|
Si ponemos atención podremos ver que la función realiza la comparación
|
|
contra la flag, de aquí sólo queda unirla correctamente.
|