Security

File Upload

File Upload 공격

File Upload

File Upload Attack


웹서버 파일 업로드 기능에 취약점이 있는 경우 칼리 리눅스에 있는 reverse shell php 파일을 업로드 한다.
먼저 칼리 리눅스에서 reverse shell php 파일을 파일을 찾는다.


Test Image


php-reverse-shell.php 에서 ip를 수정하자.
Copy
vi php-reverse-shell.php

Test Image

target 웹서버에 php-reverse-shell.php을 업로드 한다.
이때 php 확장자 때문에 업로드가 안되면 php5로 수정해서 업로드 해본다.
php 파일이 어떤 folder에 업로드 됬는지 확인하기 위해 gobuster로 검색을 해본다.
칼리 리눅스에서 netcat을 실행하자.
웹서버에 업로드된 php 파일을 실행하면 reverse shell 이 열린다.


Test Image


다음 명령어를 이용해서 bash shell 을 생성하자.
Copy
python3 -c 'import pty;pty.spawn("/bin/bash")'

Test Image
이 명령어는 칼리 리눅스에서 Python3 인터프리터를 실행하고, 그 안에서 pty 모듈을 사용하여 새로운 대화형 셸을 스폰(spawn)하는 역할을 한다.
이렇게 하면 현재 실행 중인 셸에서 새로운 대화형 셸을 실행할 수 있다.
여기서 pty는 “pseudo-terminal”의 약자로, 터미널과 유사한 환경을 제공하는 파이썬 모듈이다.
pty.spawn() 함수는 새로운 프로세스를 시작하고, 해당 프로세스와 상호작용할 수 있는 PTY(가상 터미널) 세션을 설정한다.
이렇게 하면 새로운 대화형 셸을 제어할 수 있다.

합법적인 권한과 허가 없이 다른 사람의 시스템을 대상으로 수행하는 것은 불법이다.
윤리적이고 합법적인 사용을 준수해야 한다.