뉴비에욤

Webhacking.kr 61번 본문

Webhacking.kr

Webhacking.kr 61번

초보에욤 2015. 8. 16. 23:45

 

GET 메소드로 전송되는 id 파라미터 값이 없을경우(사용자가 입력하지 않을 경우) 자동으로

"guest"로 세팅한다.  그리고  함수 필터링과 길이를 제한한다.

 

$q 변수에는 id 변수를 포함하는 쿼리의 실행 결과가 저장되는데, 실행 결과에서 리턴되는

id 값이 "admin" 일때만 문제가 풀린다.

 

 

 

"id=id" 입력 시 실행되는 쿼리는 다음과 같다.

- SELECT id FROM c_61 order by id desc limit 1

- c-61 테이블에서 id 컬럼을 기준으로 첫 번째 데이터를(zombie) 출력한다

 

 

id="admin" as id 입력 시 실행되는 쿼리는 다음과 같다.

- SELECT "admin" as id FROM c_61 order by id desc limit 1

- 위 쿼리에서 사용되는 AS 는 테이틀 컬럼의 이름을 임시로 변경할 수 있다

- SELECT "admin" FROM c_61

- 위 쿼리가 실행되면 admin 은 컬럼 이름이 아니라 문자열로 인식되어 "admin" 이 출력된다.

- as id 부분을 추가함으로써, "admin"을 출력하는 컬럼 이름을 id로 변경한다.

 

 

php에서 제공하는 magic_quotes_gpc 우회를 위해 "admin" 문자열을 hex 값으로 변경하였다.

'Webhacking.kr' 카테고리의 다른 글

Webhacking.kr 60번  (0) 2015.08.16
Webhacking.kr 59번  (0) 2015.08.16
Webhacking.kr 58번  (0) 2015.08.16
Webhacking.kr 57번  (0) 2015.08.16
Webhacking.kr 56번  (0) 2015.08.16
Comments