뉴비에욤
Webhacking.kr 29번 본문
파일을 몇개 올려보면 위 사진처럼 "시간 | ip | 파일이름+확장자" 형식으로 나타남
아마도 db에 insert -> select 과정을 거치는 듯 한데 예상되는 insert 쿼리는 다음과 같음
"insert into upload(time,ip,fname) valkues ('$time', '$ip', '$fname');
일단 사용자가 변조할 수 있는 값은 파일명이기 때문에, 파일명에 해당하는 컬럼이 몇 번째 삽입되는지 확인해야 함
=> 웹 프록시를 이용하여 파일명을 변경하면서 테스트
에러 발생
에러 발생
에러 발생하지 않음
그런데 insert -> select 쿼리가 실행되면 우측의 결과쪽에 파일명을 변조한 것에 대한 값이 나타나야 하는데 나타나지 않음
=> 아마도 클라이언트의 ip에서 올려진 파일만 보여주는 듯
3 번째 컬럼을 클라이언트 ip의 헥스값으로 입력하여 테스트
=> 첫 번째 입력한 a = 시간 컬럼 (시간 값 또한 변조 가능하다는 것이 확인 됨)
=> 두 번째 입력한 1 = 파일명 컬럼
=> 세 번째 입력한 0x35~~~ = 클라이언트 ip 컬럼
서브 쿼리를 이용하여 위와 같이 입력
'Webhacking.kr' 카테고리의 다른 글
Webhacking.kr 31번 (0) | 2015.08.16 |
---|---|
Webhacking.kr 30번 (0) | 2015.08.16 |
Webhacking.kr 28번 (0) | 2015.08.16 |
Webhacking.kr 27번 (0) | 2015.08.16 |
Webhacking.kr 26번 (0) | 2015.08.16 |
Comments