뉴비에욤
Webhacking.kr 45번 본문
"mb_convert_encoding" 함수를 통해 GET[id] 값을 입력 받음
사용자가 입력한 id, pw 값을 이용하여 쿼리를 실행하고 결과가 'admin'인 경우에만 클리어 됨
* mb_convert_encoding
- 문자열의 인코딩 방식을 변경하는 PHP 함수
- 인코딩 과정에서 "magic_quotes_gpc" 옵션을 우회할 수 있는 취약점 존재
* magic_quotes_gpc
- 싱글 쿼터('), 더블쿼터("), 백슬래시(\)와 같은 문자가 입력되면 앞쪽에 슬래시(/)을 이스케이프(연결)하여 문자열로 인식 시킴
- ' => \' ( %27 => %5c%27 )
* mb_convert_encoding 함수로 문자 인코딩 방식 변경
- %al%5c 와 같은 문자는 한 개의 문자로 인식
- %al ~ %fe 범위 해당
- %al' => %al%5c%27
id : %bf%27 or id=0x61646d696e#
* 0x61646d696e == admin
* # = %23
pw : 1
위와 같이 변수를 입력했을 때 실행되는 쿼리는 다음과 같다.
select id from members where id='' or id=0x61646d696e# ' and pw=md5('1')
'Webhacking.kr' 카테고리의 다른 글
Webhacking.kr 47번 (0) | 2015.08.16 |
---|---|
Webhacking.kr 46번 (0) | 2015.08.16 |
Webhacking.kr 44번 (0) | 2015.08.16 |
Webhacking.kr 43번 (0) | 2015.08.16 |
Webhacking.kr 42번 (0) | 2015.08.16 |
Comments