관리 메뉴

FU11M00N

Lord Of Injection gremlin(1) 단계 본문

Web Hacking/Lord of injection

Lord Of Injection gremlin(1) 단계

호IT 2019. 10. 27. 22:38

 

로드오브 인젝션의 첫번째 문제인 gremlin 이다.

먼저 코드먼저 분석하자면

preg_math 함수가 보이는데 이 함수는 정규식을 표현하는것으로  '/' 으로 시작한다.

이 문제에서 들어가면 안되는 단어와 특수문자는 prob , _(언더바) , ( ) 이다.

 

그리고 mysql_fetch_array 부분이 보인다. 이것은 값을 배열로 가져오겠다는 뜻이다.

여기서 중요한점은 mysql을 사용한다는것이다 mysql의 주석은 # , -- , /* */ 이다.

하지만 -- 의 주석은 반드시 한 칸의 공백이 들어가야 인식이된다.

 

그 다음 코드를 보자면 $query 부분에 SQL 쿼리를 생성시키는 시키는모습이 보이는데 인자값으로

$_GET[id]와, $_GET[pw]의 값을 받는다. 즉 $_GET[pw]는 사용자가 임의로 변경시킬 수 있는 입력 값이다.

$query 문이 실행되었을 때, 만족되는 값이 하나라도 나타나면 성공으로 보인다.

-- 뒤에 오는 것들은 모두 주석으로 처리된다.

%27은 여기서 URL 인코딩이 된 값으로 ' 문자(싱글쿼터)를 뜻한다!

 

URL창에 ? 으로 이어줘서 id=' or 1=1 -- 를 써준다

id= ' or 1=1쿼리의 결과를 참으로 만들어주는 구문이다!!

그럼 Clear가 뜨면서 1단계는 성공이다.

 

 

 

 

Comments