Web Hacking/webhacking.kr 풀이 17

old-24 write-up

문제 정보 https://webhacking.kr/challenge/js-1/ Challenge 14 webhacking.kr 풀이 문제에 접속하면 전에 있던 문제와 같이 입력 폼과 check 버튼이 보인다. 똑같이 소스 코드를 보면 다음과 같다. 이를 분석해보면 먼저 폼의 이름은 pw이고 제출을 했을 때 ck함수를 실행하고 false를 반환한다. 다음 입력으로 input_pwd이름의 문자열을 받아 check를 클릭하면 ck 함수를 실행하도록 되어있다. ck 함수를 분석하면 ul이라는 변수는 document.URL이고, 다음으로 ul 변수에 indexOf 함수로 .kr의 위치를 찾고 있으며, 이는 .의 위치만 찾으면 된다. 사이트의 이름은 webhacking.kr이므로 .은 10이다. 이를 30을 곱하면..

old-16 write-up

문제 정보 https://webhacking.kr/challenge/js-3/ Challenge 16 webhacking.kr 풀이 문제에 접속하면 다음과 같이 *표시가 보인다. [Ctrl+U] 단축키를 통해서 페이지의 소스 코드를 확인하면 다음과 같다. Challenge 16 * 소스 코드를 딱 봤을 때 이는 콘솔창으로 별을 움직이고 mv 함수에서 cd 인자의 값이 124이면 do it이라고 한다. f12를 눌러 개발자 도구에서 콘솔 창을 열어 console.log(mv(124))를 입력해주니 풀렸다.

old-17 write-up

문제 정보 https://webhacking.kr/challenge/js-4/ Challenge 17 webhacking.kr 풀이 문제에 처음 접속하면 다음과 같이 입력 폼과 check 버튼의 제출 버튼이 있다. 123을 입력해보면 Wrong이란 문자열이 출력된다. [Ctrl+U] 단축키를 통해서 페이지 소스 코드를 확인해보면 입력폼의 이름은 login이며, 소스 코드는 다음과 같다. 소스 코드를 분석하면 sub() 함수는 login의 pw 값이 unlock이면 location.href 함수를 이용해서 페이지를 이동하고 아니면 alert(Wrong)을 출력한다. 먼저 unlock를 파이썬을 이용해 계산하면 다음과 같이 7809297.1이 나왔다. 입력 폼에 7809297.1을 넣고 Check 버튼을 누..

old-18 write-up

문제 정보 https://webhacking.kr/challenge/web-32/ Challenge 18 webhacking.kr 풀이 가장 처음 접속하면 SQL Injection 문제인 것을 알 수 있고, view-source 버튼이 있다. view-source의 소스 코드는 다음과 같다. 분석해보면 index.php에 get 메소드를 통해서 이름이 no인 입력문자열을 받아서 제출하는 폼이 존재한다. 또한 아래 php 코드를 통해서 no라는 파라미터를 get 메소드로 요청받게 되면 preg_match 함수인 정규표현식을 통해서 no 파라미터 값에 키워드가 포함된다면 no hack이라는 문자열을 출력한다. $result 부분에는 요청되는 쿼리를 보여주고 있다. 그 아래는 id가 guest라면 hi gue..

old-26 write-up

문제 정보 https://webhacking.kr/challenge/web-11/ Challenge 26 webhacking.kr 풀이 문제에 접속하면 바로 view-source를 누르도록 되어있다. 소스 코드는 다음과 같다. 소스 코드를 분석해보면,먼저 preg_match 함수를 통해서 GET 메소드 방식으로 받아오는 id 파라미터에 대해서 admin 이 포함되어 있다면 no! 라는 문자열을 출력하고 exit 함수를 실행한다. 다음으로 id 파라미터에 있는 값을 디코딩을 수행하고 id에 admin이 있다면 해결하는 것을 알 수 있다. view-source 다음과 같이 id 파라미터에 admin을 그냥 포함시켜 요청하면 no!를 출력한다. burp suite를 이용해서 admin이란 단어를 URL 인코딩..

old-24 write-up

문제 정보 https://webhacking.kr/challenge/bonus-4/ Challenge 24 agentfacebookexternalhit/1.1; kakaotalk-scrap/1.0; +https://devtalk.kakao.com/t/scrap/33984 webhacking.kr 풀이 문제에 접속하면 다음과 같이 client ip 와 agent 폼이 보이고 그 밑에는 Wrong IP라고 한다. 아래는 view-source를 눌렀을 때 나오는 소스 코드이다. 소스 코드를 딱 봤을 때 처음 view-source를 누르기 전인 client ip와 agent를 echo를 통해서 보여주고 있다. 또 그 아래에는 ip가 127.0.0.1일 때 solve(24)를 통해서 문제를 풀 수 있다고 나와있다..

old-54 write-up

문제 정보 https://webhacking.kr/challenge/bonus-14/ Challenge 54 webhacking.kr 풀이 문제에 접속하면 ? 문자의 위치에 flag 값을 빠르게 한 글자씩 보여준다. 여기서 개발자 도구에서 콘솔 창에 소스 코드를 수정해서 다시 출력하면 flag 값을 획득할 수 있을 것이라고 생각했다. 다음은 f12를 눌렀을 때 나오는 소스 코드이다. function run(){ if(window.ActiveXObject){ try { return new ActiveXObject('Msxml2.XMLHTTP'); } catch (e) { try { return new ActiveXObject('Microsoft.XMLHTTP'); } catch (e) { return nu..