링크:
요약:
- sql injection으로 내부 dashboard의 admin 권한을 얻음
- upload.php라는 기능에서 php 확장자를 필터링하지만 modify.php라는 이전에 올린 파일을 수정하는 기능에서는 php 필터링을 확장하지 않아서 쉽게 php 파일을 업로드하는 것이 가능했다. (웹쉘 업로드)
- 문제는 이 웹쉘 업로드한 것을 S3로 옮길 뿐더러 경로를 알 수 없다는 것. 이것을 우회하기 위해 modify.php에 여러번 리퀘스트 패킷을 발생시키니 레이스 컨디션이 발생하여 에러와 함께 파일의 풀경로가 출력됨
- 위의 얻은 경로를 계속 요청하며 파일을 업로드하면 S3로 옮기기 전에 파일이 남아있을 때 운좋게 접속하면 쉘 획득