새단장한 webhacking.kr의 Old challenge 3번문제 풀이입니다.

 

링크로 들어가면 다음과 같은 페이지가 나옵니다.

그냥 solved를 눌러보니,

뭔가 복잡한 url query 파라메터가 나오곤 No라고 뜬 뒤 원래 페이지로 돌아가게 됩니다.

 

뭔가 스도쿠같이 생긴것 같아서 한번 풀어보도록 하겠습니다.

 

판때기가 크지 않기 때문에 스도쿠를 풀기는 쉬워보입니다.

우선 가장 아래줄은 5라고 되어있는데, 5x5 스도쿠이기 때문에 다 눌러버리면 됩니다.

 

그리고 중간 위쪽을 보면 1 1 1로 되어 있는데, 5칸 중 1 1 1이 되려면 O X O X O 방식으로 색칠하는 방법의 수 밖에 없습니다.

 

마찬가지로 왼쪽 가장 윗 줄 도 1 1 1이므로 1가지 경우의 수 밖에 나오지 않습니다.

 

칠한 모습입니다.

 

그리고 위쪽에 3이 두개가 있는데 둘다 마지막 칸에 붙어서 나올 수 밖에 없습니다. 한 덩어리뿐이기 때문입니다.

해당 부분까지 그려주면 모든 조건이 다 만족된 것 처럼 보입니다. 이대로 solved를 눌러봅시다.

이런 페이지가 나타납니다.

 

test라고 작성한 뒤 submit을 눌러보겠습니다.

위와 같은 페이지가 나타나게 됩니다.

 

내용이 db에 입력될 것 같으니 sqli의 영원한 친구 'or 1=1-- 를 입력해 보았습니다.

 

이스케이프가 된 채로 값이 입력이 되었습니다.

answer 값에 sqli를 시도해보기 위해서 hidden 값을 바꾼 뒤 제출해 보겠습니다.

query error라는 값이 나타납니다. injection point가 맞는 것 같습니다.

 

sql injection에서 테스트할때 많이 쓰는 input인 'or 1=1-- 를 answer값에 넣어서 한번 요청해보도록 하겠습니다.

 

burp suite를 이용해서 요청을 보내보면

 

오른쪽을 보면 already solved가 뜨게 됩니다. 이미 한번 푼 뒤 다시 풀기 때문에 저렇게 나옵니다.

 

 

+ Recent posts