NGA

los.rubiya.kr/goblin

2018. 11. 11. 02:40


이번 문제는 $_GET[no] 에 ', ", ` 등이 필터가 되어 있지만 쿼리를 보면 no 는 닫혀있지 않다. 그래서 쿼리 결과값이 admin 이 나오도록 만들면 해결할 수 있다.


no 가 1 일 때에 결과값은 guest 이 나온다. 우리는 admin 이라는 값을 뽑아야 하고 DB 에 id 값들이 몇개가 있을지 모르므로 그냥 id='admin' 을 만들어 줄건데, $_GET[no] 를 통해서 id='admin' 이라는 값을 만들수 없음으로 admin 이라는 값을 Hex 값으로 넣어주거나  char 이라는 함수 안에 10진수로 변환해 넣어주면 MYSQL 에서는 문자열로 변환해주게 된다.


where id='guest' and no=0 || id=0x61646d696e                        // 0x61646d696e -> admin

where id='guest' and no=0 || id=char(97,100,109,105,110)     // char(97,100,109,105,110) -> admin 


문제에선 id 결과값이 2개 임으로 where id='guest' and no=0||no!=1  처럼도 가능하다.

'WARGAME > LOS' 카테고리의 다른 글

los.rubiya.kr/darkelf  (0) 2018.11.15
los.rubiya.kr/wolfman  (0) 2018.11.15
los.rubiya.kr/orc  (0) 2018.11.15
los.rubiya.kr/cobolt  (0) 2018.11.11
los.rubiya.kr/gremlin  (0) 2018.11.11

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band