Wargame/Webhacking.kr

Webhacking.kr old 19번 문제 풀이

esyeonge 2021. 4. 27. 18:44

19번 문제를 클릭하면 위와 같은 화면이 뜬다.

form 태그가 있는 것으로 보아 SQL Injection 문제임을 유추할 수 있다.

코드를 보자.

 

코드에서는 최대 입력 값이 5라는 것을 제외하고는 별 다른 내용을 찾을 수 없었다.

 

입력되어 있던 admin을 보내면 'you are not admin'이라는 메시지와 함께 url에서 id 변수로 admin 값을 넘기는 것을 볼 수 있다.

 

id 값에 1을 넣어서 보내니 hello 1이 뜨는 것을 확인할 수 있었다. 그런 다음 logout을 위해 logout 버튼을 눌렀는데도 logout이 되지 않았다. 그래서 그냥 url만 이용해야겠다고 생각했고, sql 문법일 테니까 id에 admin을 넣고 뒤에 문법은 주석처리 하는 admin'--을 입력하였다.

 

이때 admin'--을 입력한 이유는, 

where문에 있을 id=admin 조건 외에 있을 다른 조건을 무효화 하고(--를 통해서) 

'를 통해서 문장을 완성해주기 위해서이다.

 

그랬더니 문제가 풀렸다.