Wargame/webhacking2017. 5. 5. 00:29

webhacking.kr 사이트의 18번 문제를 보면 다음과 같다.

SQL Injection 문제이고 index.phps 페이지를 제공해 주었다.

index.phps 페이지를 보면 다음과 같다.

no라는 변수를 받아서 여러가지 문자를 필터링한다.

id='guest'이고 전달받은 no변수의 값에 대해 challenge18_table에 있을 경우 해당 id를 변수 q에 저장한다.

q의 값이 admin이면 문제가 풀리는 것 같다.

일단 id가 admin 이어야하기 때문에 기존 where문을 이용하면 안될 것 같다.

즉, id='guest' and no=$_GET[no] 이 조건을 무효화 시켜야 한다.

그러기 위해서 no 값에 0을 넣으면 true and false가 되기 때문에 무효시킬 수 있다.

그리고 나서 admin의 no값을 찾아야 하는데, 페이지만 봐서는 알 수가 없다.

일단 1을 넣으면 다음과 같은 화면을 볼 수 있다.

guest의 no 값이 1인것을 알 수 있다.

chellenge18_table에 어떤 데이터들이 들어 있는지 모르지만 guest의 no 값이 1이기 때문에

admin의 no 값은 2일 확률이 높다.

no=0%0Aor%0Ano=2를 입력해보면 문제가 풀린다.

'Wargame > webhacking' 카테고리의 다른 글

[webhacking.kr] 23번 문제  (0) 2017.06.09
[webhacking.kr] 24번 문제  (0) 2017.06.08
[webhacking.kr] 17번 문제  (0) 2017.05.04
[webhacking.kr] 16번 문제  (0) 2017.05.04
[webhacking.kr] 15번 문제  (0) 2017.05.04
Posted by Imp3rio