[Solved in under 7 minutes]
지금은 새벽이 아닌 이제는 아침 06시 44분
잠을 자야하는데 머리로만 생각하고 마음으로는 잘 안되네
가보자

webshell upload해서 cat /flag 하란다.
이제는 대놓고 나 File Upload 취약점이에요! 라네
기대는 안되는만 소스코드를 보면

네~에 넘어갈게요

index.php이니 php webshell을 올려야 한다.
만약에 php가 아니라 jsp, asp, node.js etc.. 여러가지 있지만 그 언어에 맞춰서 올려야 코드가 먹힌다. -> 당연한 소리
php는 바로 올리면 막히니 다른 파일을 올려보면

png파일은 잘 올라가는것을 볼 수 있다.
자. 내가 아는 File Upload 취약점 우회는 세 가지가 있는데
1. 확장자 우화
2. 요청 조작
3. MIME 타입 변경
Burp Suite를 켜서

aa.php 파일을 올리고 제출을 누르면 사진과 같이 Content-Type이 text/php로 되어 있는데 이거를

image/png 로 바꿔주면 이제부터 이 친구는 png입니다.
ㅋㅎㅋㅋㅎㅋ 속이는거다
그리고 Forward를 눌러주면

위와같이 잘 올라간것을 볼 수 있다.
파일 클릭해서 들어가면

ls
Webshell이 잘 작동한다
ls가 잘 먹힌거 확인했고!!
이제 ../ 를 사용하며 상위 디렉토리로 올라가면

ls ../../../../
flag라고 적힌게 보이는데 이제 ls가 아닌 cat로 바꿔주면

cat ../../../../flag
FLAG{~} 값이 보인다 이거를 홈페이지에 삽입하면

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 답 ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
FLAG{V2hhdCBkaWQgeW91IGV4cGVjdD8=}
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
잘된다!
하 ㅡㅡ;; 글 쓰고 Auth Flag 딴거 올려두고 임시저장 누르고 뭐하고 왔는데 사라져있음 하 ㅜㅠㅠㅜㅜ 글 쓴거 다 날라갔음
여하튼 이렇게 풀면 된다!
File Upload/Download 문제는 재밌는데 별로 없어서 조금 슬픔..
이새끼는 왤케 빨리 풀지? 라고 생각 하실수 있는데 당장 LG CTF 할때 File Upload문제 6시간걸려서 풀었습니다.. 그것도 도움 좀 받고.. 허ㅓㅎ
계속 맨땅에 헤딩 합시다!!
Webhacking.kr Old-43 Write-up
이상 보고 끝!