[root-me.org - Web-Client] Javascript - Authentication
글 작성자: caputdraconis
반응형
철새답게 여러 사이트를 돌아다니다가 root-me.org에 앉아보았다...
기본적인 로그인 화면이 뜨고 뭐 다른 보이는게 없으니 소스코드를 살펴보자.
<html>
<head>
<script type="text/javascript" src="login.js"></script> <script type="text/javascript" src="login.js"></script>
</head>
<body><link rel='stylesheet' property='stylesheet' id='s' type='text/css' href='/template/s.css' media='all' /><iframe id='iframe' src='https://www.root-me.org/?page=externe_header'></iframe>
<fieldset style="margin-top: 10px; padding: 10px;" width="60%">
<legend><b>Login</b></legend><br/>
<form name="login" method="POST" action="">
Username : <input name="pseudo" /><br/>
Password : <input type="password" name="password" /></br></br>
<input onclick="Login()" type="button" value="login" name="button" />
</form>
</fieldset>
</body>
</html>
login.js에 속해있는 Login() 함수를 호출하는 버튼을 클릭하면 사용자가 입력한 pseudo(아이디)와 password(비밀번호)가 Login() 함수로 들어가는 것으로 보인다. 그럼 login.js를 살펴볼까...?
/* <![CDATA[ */
function Login(){
var pseudo=document.login.pseudo.value;
var username=pseudo.toLowerCase();
var password=document.login.password.value;
password=password.toLowerCase();
if (pseudo=="4dm1n" && password=="sh.org") {
alert("Password accepté, vous pouvez valider le challenge avec ce mot de passe.\nYou an validate the challenge using this password.");
} else {
alert("Mauvais mot de passe / wrong password");
}
}
/* ]]> */
앞에서 사용자의 값을 가져오고 그걸 모두 소문자화 시킨다. 그리고 pseudo가 "4dm1n", password가 "sh.org", 이 두가지 조건을 모두 만족하면 "이 비밀번호를 정답 인증하는데 써라~_~"라는 느낌의 문장이 alert 된다.
그럼 그냥 Flag 작성칸에 sh.org을 입력해주면~?
쉬운 문제였다 :)
반응형
댓글
이 글 공유하기
다른 글
-
[root-me.org - Web-Server] HTTP - Open redirect
[root-me.org - Web-Server] HTTP - Open redirect
2020.09.15 -
[root-me.org - Web-Client] Javascript - Obfuscation 1
[root-me.org - Web-Client] Javascript - Obfuscation 1
2020.09.14 -
[Webhacking.kr] Challenge old-33
[Webhacking.kr] Challenge old-33
2020.08.16 -
[LOS / LORD OF SQL INJECTION] gremlin
[LOS / LORD OF SQL INJECTION] gremlin
2020.08.16