본문 바로가기
  • True knowledge exists in knowing that you know nothing. -Socrates-
Study/webhacking.kr

webhacking.kr 18번 문제

by intadd intadd 2017. 6. 13.


안녕하세요 오늘은 webhacking.kr 18번 문제를 풀어보도록 하겠습니다.

이번 문제는 약간 풀 때 이상했던 점이 있는 문제였습니다.


일단 아래는 소스코드입니다.


sql injection을 통해 query의 반환 값이 admin이면 @solve()를 줍니다.

제가 생각 했던 query는 

id='guest' and no=-1 or id="admin"

입니다. 근데 이상하게 이 반환값을 admin으로 안주더라고요

흠.. 왜 그런지는 잘 모르겠습니다만.


문제 풀이 방법은 no를 이용하여 푸는 문제입니다.

no=1일 때는 guest를 출력 해주는데

no에 2를 넣으면 solve를 줍니다.


필터

공백 필터 우회 %0a


query문 해석

id='guest' and no=-1 or no=2

위의 쿼리를 해석하면

(id가 guest이고(and)no=-1)이거나 no가 2인 값

이라고 해석 할 수 있습니다.


guest의 no는 1이기 때문에 id='guest' and no=-1은 거짓이 됩니다.

그러므로 no=2인 값이 반환값으로 돌아오게 되는 것 입니다.




'Study > webhacking.kr' 카테고리의 다른 글

webhacking.kr 23번 문제  (0) 2017.06.13
webhacking.kr 21번 문제  (0) 2017.06.13
webhacking.kr 18번 문제  (0) 2017.06.13
webhacking.kr 17번 문제 풀이  (0) 2017.06.13
webhacking.kr 16번 문제  (0) 2017.06.13
webhacking.kr 15번 문제  (0) 2017.06.13

댓글0