WarGame/Webhacking.kr

[Webhacking.kr] old-14 Answer

Old-14 Domain & Tool

  • 구분 : 코드 읽기
  • 문제풀이에 사용된 도구 
    • Chrome 103.0.5060.66, 개발자 도구

 


Old-14 Question & Answer

문제 페이지에서는 오로지 INPUT TAG UI하나 밖에 없다. TEST용으로 조그마한 SQL Injection을 넣어보자

으흠... 아직 SQL Injection문제가 아니라는 장담은 할 수 없지만, 아닌가 보다. 관리자도구(F12)를 열어서 코드를 읽어보자

아래와 같은 코드를 찾을 수 있다.

<html>
<head>
<title>Challenge 14</title>
<style type="text/css">
body { background:black; color:white; font-size:10pt; }
</style>
</head>
<body>
<br><br>
<form name=pw><input type=text name=input_pwd><input type=button value="check" onclick=ck()></form>
<script>
function ck(){
  var ul=document.URL;
  ul=ul.indexOf(".kr");
  ul=ul*30;
  if(ul==pw.input_pwd.value) { location.href="?"+ul*pw.input_pwd.value; }
  else { alert("Wrong"); }
}
</script>
</body>
</html>

중간함수인 ck의 의도대로 한번 동작해보자 다음과 같은 순서를 거친다.

  • url에서 문자열 ".kr"의 index를 구한다.
  • 그 값에 30을 곱한다. 
  • 만약 그 값이 INPUT의 입력값고 같다면 그 값을 파라미터로 이동한다.

관리자도구에서 정확한 .kr의 인덱스를 찾아보자.

18이다. 즉 30을 곱하면 540이고, 540을 INPUT에 넣어보자

NICE!

'WarGame > Webhacking.kr' 카테고리의 다른 글

[Webhacking.kr] old-16 Answer  (0) 2022.07.22
[Webhacking.kr] old-15 Answer  (0) 2022.07.22
[Webhacking.kr] old-12 Answer  (0) 2022.07.15
[Webhacking.kr] old-11 Answer  (0) 2022.07.14
[Webhacking.kr] old-10 Answer  (0) 2022.07.14