Dork's port

LOS 18번 NIGHTMARE 본문

Lord Of Sql injection

LOS 18번 NIGHTMARE

Dork94 2019. 2. 8. 15:31

푸는데 생각보다 오래걸렸던 문제네요 :)




6자 이내로 pw의 조건을 참으로 바꾸고 뒤에 and id!='admin'을 우회해야 하는 문제입니다.


6자 이내가 아니였다면 조금더 쉬웠을 것 같은데.. or 1 만 생각하는 사고에 갇혀서 조금 헤맸네요 :) 


mysql 서버를 구축하여 이래저래 해보다가 pw=('')의 값이 리턴 값의 형태일 것이라고 유추하여 연산자를 이용해서 비교해보니 참이 아닐때는 0값을 리턴하더라구요 :)


그래서 pw=('')=0과 같이 and 이전의 값을 true로 셋팅해주었습니다.


그리고 이제 뒤의 and를 주석처리해야해야하는데 # (%23)이나 --가 필터링 되어있습니다.


mysql에서 테스트 하던 도중 세미콜론을 이용하여 문장의 끝을 가르킨다는 것에 착안하여 ';'를 해봤지만 실패..


그래서 주석 우회 기법을 쳐보니 블로그 (https://security04.tistory.com/171)에 세미콜론 뒤에 널바이트를 붙여 문장을 끝을 알리는 방식으로 우회가 가능하더라구요.


그래서 아래와 같이 쿼리문을 작성하니 클리어! 




이때 세미콜론뒤에 %00을 추가해주셔야 합니다! 



'Lord Of Sql injection' 카테고리의 다른 글

LOS 20번 DRAGON  (2) 2019.02.14
LOS 19번 XAVIS  (0) 2019.02.08
LOS 17번 SUCCUBUS  (0) 2019.01.12
LOS 16번 ZOMEBIE_ASSASSINE  (0) 2019.01.12
LOS 15번 ASSASSIN  (0) 2019.01.12
Comments