WarGame/Rootme
rootme - Javascript - Authentication 2
m0nd2y
2021. 2. 8. 17:06
해당 문제 사이트를 접속하면
id 와
password를 요구하는 prompt 창이 뜹니다.
해당 페이지의 로그인 코드를 확인하면
function connexion(){
var username = prompt("Username :", "");
var password = prompt("Password :", "");
var TheLists = ["GOD:HIDDEN"];
for (i = 0; i < TheLists.length; i++)
{
if (TheLists[i].indexOf(username) == 0)
{
var TheSplit = TheLists[i].split(":");
var TheUsername = TheSplit[0];
var ThePassword = TheSplit[1];
if (username == TheUsername && password == ThePassword)
{
alert("Vous pouvez utiliser ce mot de passe pour valider ce challenge (en majuscules) / You can use this password to validate this challenge (uppercase)");
}
}
else
{
alert("Nope, you're a naughty hacker.")
}
}
}
위와 같은 코드를 확인할 수 있는데 이를 아래와 같이 수정해줬습니다.
function connexion(){
var username = prompt("Username :", "");
var password = prompt("Password :", "");
var TheLists = ["GOD:HIDDEN"];
console.log(TheLists)
for (i = 0; i < TheLists.length; i++)
{
console.log(TheLists[i].indexOf(username))
if (TheLists[i].indexOf(username) == 0)
{
var TheSplit = TheLists[i].split(":");
var TheUsername = TheSplit[0];
var ThePassword = TheSplit[1];
console.log(TheUsername)
console.log(ThePassword)
if (username == TheUsername && password == ThePassword)
{
alert("Vous pouvez utiliser ce mot de passe pour valider ce challenge (en majuscules) / You can use this password to validate this challenge (uppercase)");
}
}
else
{
alert("Nope, you're a naughty hacker.")
}
}
}
이렇게 변환해서 실행하면
위와 같이
username : GOD
password : HIDDEN을 얻을 수 있고
이를 인증하면됩니다 :)