# Related site issues/WEBHACKING.KR

Webhacking.kr Challenge 39 풀이. 오른쪽 마우스를 누른 후 페이지 소스를 누른다. 일단 특별한 것은 없고 body 부분에 index.php가 존재한다. index.php로 들어간다. index.phps 페이지를 보면 입력 값에 대해 replace와 substr이 있다.쿼리문을 보면 '$_POST[id]와 같이 값이 전달되고 있다.싱글 쿼터가 $_POST[id] 앞에는 있는데 뒤에는 존재하지 않는다.즉 id 값과 싱글 쿼터 = (')을 넣으면 문제를 풀 수 있다는 말이다.근데 replace에서 싱글 쿼터는 필터링 된다는 걸 알 수 있다.자. 다시 쉽게 설명해보겠다.첫 번째 str_replace 부분을 보면 [\] 문자를 지운다.두 번째 str_replace 부분을 보면 ['] -> [..
Webhacking.kr Challenge 38번 풀이. 문제를 들어가면 위와 같은 화면이 등장한다. asdf를 입력하고 login을 누르면 반응이 없다. asdf를 입력하고 admin을 누르면 위와 같은 화면이 등장한다.일단 오른쪽 마우스를 눌러서 페이지 소스를 누른다. 음........특별한 건 없다. 힌트는 admin.php에 있다고 적혀 있다.admin.php로 가본다. 1을 입력해보니 자신의 ip:1이라고 로그가 남는 거 같다.일단 힌트가 admin이라고 했으니 admin을 입력 후 login을 누른다. you are not admin라는 메시지가 뜬다.임의로 asdfg를 입력 후 admin을 눌러본다. 위의 화면처럼 'asdfg'을 입력하면 "112.172.166.130:asdfg"라고 로그에..
Webhacking.kr Challenge 26 풀이. index.php를 누른다. 일단 소스 코드는 간단하다.get을 통해 데이터 id가 admin이면 문제가 해결된다.eregi 함수를 본다면 get[id]에서 admin 문자열이 보이면 함수가 종료된다.즉 admin에 다른 형태의 갓으로 넣어줘야 된다는 것을 알 수 있다.$GET[id] ~~~ 를 보면 id에 urldecode(get[id])를 저장한다는 것을 알 수 있다.urldecode는 php에서 처음 본 함수인데 해당 문자열을 말 그대로 url를 디코딩하는 함수.즉 admin을 url 인코딩한 값을 id에 넣어주면 urldecode에 의해 admin에 바꾸고 그게 즉 문제 풀이.간단히 url 표를 이용해보겠다. 위의 표를 보고 admin을 바꾸..
Webhacking.kr Challenge 24 풀이. 일단 문제를 클릭하자마자 위와 같은 화면이 등장했다.클라이언트에는 공인 ip가 출력되에 있다.일단 오른쪽 마우스를 클릭해 페이지 소스 보기를 누른다. 생각보다 단순하다. 소스는 index.php라고 있으니 index.php로 들어간다. 일단 코드를 해석해보겠다. extract($_SERVER) #extract는 배열 속의 키 값을 변수화 시켜준다. 즉 $_SERVER의 값을 변수화 시키는 것이다.extract($_COOKIE) #$_COOKIE의 값을 변수화 시킨다.if(!$REMOTE_ADDR) $REMOTE_ADDR=$_SERVER[REMOTE_ADDR] 문제에 접속한 클라이언트 IP가 없으면,REMOTE_ADDR 변수에 문제에 접속한 클라이언트..
Webhacking.kr Challenge 16 풀이. 문제를 들어가자마자 아래와 같은 화면이 등장했다. 신기한 건 아무거나 입력하면 작은 별이 늘어난다. 일단 오른쪽 마우스를 눌러 페이지 소스를 본다. mv() 함수와 kk() 함수가 정의되어 있다.mv() 함수는 특정 키가 눌렸을 때 큰 별이 이동하는 것을 정의한 함수이고kk() 함수는 작은 별을 생성해서 출력해주는 함수이다.mv() 함수에서 동작하는 키 값을 보니 아스키값으로 되어 있는 것을 알 수 있다.100, 97, 119, 115는 각각 d,a,w,s이고 각각 오른쪽, 왼쪽, 위, 아래 순으로 큰 별을 이동하도록 정의되어 있다.124는 문자( | )로 페이지 이동이 이루어진다.문제는 아래 화면을 봐도 알듯이 아스키 코드는 100번대가 없다. 뭐..
Webhacking.kr Challenge 15 풀이. 문제를 클릭하자마자 위의 화면이 등장한다.그리고 화면이 튕겨져 나온다.그래서 ESC를 눌러 임의로 팅겨져 나오는 것을 막아봤다. 그래서 오른쪽 마우스를 눌러 페이지 소스를 확인해봤다. 다른 것보다 Password가 나와있다. Password는 off_script라고 나온다.그래서 Auth(=인증)을 해봤다.
Webhacking.kr Challenge 14 풀이. 일단 임의로 asdf를 누른 다음 check를 눌러본다. 오른쪽 마우스를 페이지 소스 보기를 눌러서 소스를 확인해본다. 일단 스크립트 소스를 확인해본다.function은 사용자 정의 함수다.ul은 변수에 document.URL 값을 넣는 것이다.var는 자바스크립트 언어라는 것을 알려주고, ul에 ul.indexOf(".kr")의 값을 넣는다.cf) indexOf는 문자열 안에 조건이 되는 문자열이 몇 번째 위치에 존재하는지를 확인하는 함수다."[문자열]".indexOf("[검색할 문자열]", [검색시작위치]);즉 변수 ul에 있는 문자열 중 .kr이 시작하는 위치를 숫자로 표현하여 다시 ul에 저장한다는 것이다.그 다음은 ul*30의 값을 ul에 ..
Webhacking.kr Challenge 17 풀이. 17번을 클릭해서 들어가면 위의 화면이 뜬다. asdf를 입력하고 check를 눌렀더니 Wrong이라는 페이지가 뜬다.잘 모르겠으니 오른쪽 마우스를 눌러 페이지 소스를 본다. 스크립트 부분을 보면 무슨 계산식이 존재한다. 그 밑에는 if(login.pw.value==unlock){alert("Password is "+unlock/10); } else { alert("Wrong"); } 라는 것이 적혀 있다.이 말은 즉슨 unlock에 위에 있는 계산식의 값을 저장을 하라는 뜻이다. 그리고 만약 login.pw.value의 값이 unlock의 값과같으면 Password is + (unlock/10)을 출력하고, 해당하지 않는다면 Wrong을 출력하라고..
Allblackk
'# Related site issues/WEBHACKING.KR' 카테고리의 글 목록 (3 Page)