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 조건 외에 있을 다른 조건을 무효화 하고(--를 통해서)
'를 통해서 문장을 완성해주기 위해서이다.
그랬더니 문제가 풀렸다.
'Wargame > Webhacking.kr' 카테고리의 다른 글
Webhacking.kr old 27번 문제 풀이 (0) | 2021.04.27 |
---|---|
Webhacking.kr old 25번 문제 풀이 (0) | 2021.04.27 |
Webhacking.kr old 54번 문제 풀이 (0) | 2021.04.10 |
Webhacking.kr old 39번 문제 풀이 (0) | 2021.04.10 |
Webhacking.kr old 38번 문제 풀이 (0) | 2021.04.10 |