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

webhacking.kr 26번 문제

by intadd intadd 2017. 6. 13.


안녕하세요 ㅎㅎ : )


webhacking.kr 26번 문제 풀이 하겠습니다.


일단 php 코드를 확인하면 

GET파라미터 id 를 입력 받아 admin과 비교합니다. (eregi 함수 사용)

그 후 urldecode를 한 id 값이 admin과 일치 하면 solve를 줍니다.


저는 처음에 eregi 함수 취약점 인줄 알았는데 ㅠ

아니였습니다. (%00admin)


힌트는 urldecode에 있습니다. 

저는 처음에 admin을 urlencode 해서 보내면 첫 번째 if 문을 우회 할 수 있지 않을까 했습니다.


url encode는 원래 특수문자 등과 같은 문자들만 hex로 바꾸어 주는 건데요

text to hex 와 거의 동일합니다.

그러므로 admin을 url encode 한 값은 아래와 같습니다.

%61%64%6d%69%6e


id=%61%64%6d%69%6e

를 입력했는데 .. no 가 출력이 되더라고요

이유는 브라우저에서 자동적으로 url decode를 하는 것 같습니다.

즉 url 에서는 admin 과 %61%64%6d%69%6e는 같은 "admin" 문자열과 동일하게 본다는 것입니다.


그러면 즉 %61%64%6d%69%6e이 문자열을 한번 더 url encode 한다면 문제가 해결 됩니다.




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

webhacking.kr 26번 문제  (0) 2017.06.13
webhacking.kr 25번 문제  (0) 2017.06.13
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

댓글0