wargame - web/webhacking.kr

    [webhacking.kr]old-03 Write Up

    [webhacking.kr]old-03 Write Up

    이 문제는 SQL Injection문제이다. 해당 문제 페이지에 접속하면 아래와 같은 퍼즐(물론 전부 칠해져 있진 않다)이 존재한다. 숫자에 맞게 퍼즐을 맞추면 아래와 같이 칠해지고 solved를 누르면 아래와 같은 페이지가 나온다. 여기서부터 문제의 시작이다. 문제 풀이 나는 다음과 같은 순서로 문제를 해결했다. your name에 아무거나 대입해봤다. 그 결과 이름은 계속 바뀌지만, answer과 ip는 그대로였고, SQL injection을 시도해봤지만 해당 쿼리문이 그대로 나와 먹히지 않는다는 걸 알 수 있었다. 계속 answer과 ip가 그대로인 것을 보고 패킷을 잡아보았다. answer과 id가 post 방식으로 넘어가는 것을 알 수 있다. answer부분에 SQL injection 쿼리('o..

    [Webhacking.kr] old-06 Write Up

    [Webhacking.kr] old-06 Write Up

    이 문제는 코드를 해석해서 푸는 문제이다. 쓱 봤을 땐 base64를 이용하는 문제로 보인다. 코드 해석1 - encoding 이 부분은 인코딩하여 cookie값을 설정하는 부분이다. 위에서부터 순서대로 해석해보자 1. $val_id 에 guest 값을 세팅하고, $val_pw 에 123qwe 를 세팅한다. 2. for문을 보면 $val_id , $val_pw 을 base64인코딩하여 다시 $val_id , $val_pw 에 저장한다. 이 과정을 20번 반복한다. 3. base64 인코딩을 20번 반복한 결과를 가지고 1은 !, 2는 @, 3은 $,... 등으로 변환한다. 4. 변환한 값을 cookie값으로 저장한다. 코드 해석2 - decoding 이 부분은 디코딩하는 부분이다. 앞에서 세팅한 cook..

    [Webhacking.kr] old-01 Write Up

    [Webhacking.kr] old-01 Write Up

    이 문제는 php코드를 볼 줄 안다면 바로 해결할 수 있다. 코드까지도 필요없고 setCookie가 뭔지 $_COOKIE[] 가 뭔지만 안다면 풀 수 있다. 소스코드 확인 소스코드를 보면 SetCookie함수를 이용해 user_lv = 1 로 쿠키값을 설정한다. 이 값이 3보다 크고 4보다 작으면 solve(1) 을 실행하는 것을 알 수 있다. 실제로 user_lv 가 1인지 EditThisCookie로 확인한 결과 1이 설정되어있는 것을 확인할 수 있다. 문제 해결 이 값을 3보다 크고 4보다 작은 값으로 설정하면 된다.