뉴비에욤

Webhacking.kr 29번 본문

Webhacking.kr

Webhacking.kr 29번

초보에욤 2015. 8. 16. 01:31

 

  파일을 몇개 올려보면 위 사진처럼 "시간 | 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