내가 만들어 놓은 웹서버에 파일 업로드 공격을 해볼 것이다.
파일 업로드 기능을 만들 때 별다른 보안조치를 하지 않아서 바로 가능할 것이다.
먼저 test를 할 수 있는 쉘을 올릴 것이다.

이것을 먼저 올려서 실행이 되는지 확인을 해볼 것이다.

테스트 파일은 업로드되었고 이 파일의 경로를 확인하기 위해 이미지 파일을 하나 올려서 경로를 확인할 것이다.

파일이 있는 경로를 알아냈다.
우리가 올렸던 test.php를 확인해 볼 것이다.

이제 웹 쉘을 올려서 파일 업로드 취약점을 공격할 것이다.

이렇게 웹 쉘을 만들어주고 게시판에 올릴 것이다.

이렇게 웹 쉘을 업로드했고 이제 파일이 있는 경로로 들어가 볼 것이다.

테스트 파일은 다운에 성공했지만 웹 쉘은 실패하였다.
그러면 경로로 그냥 진입해 볼 것이다.


파일은 업로드돼있고 클릭하면 진입할 수 없다.
URL로 파라미터를 넘기니까 ?cmd=ls를 뒤에 붙여봤다.

웹 쉘이 동작하는 화면이다.
왜 이렇게 됐는지는 더 찾아봐야겠다.

서버의 소스코드를 볼 수 있다.
board.php의 소스를 보면

이런 식으로 전체 소스를 볼 수 있다.
여기엔 DB명과 암호도 전부 있었다.
조금 더 만질 줄 알면 권한도 상승시켜서 DB를 다 날려버릴 수도 있고 서버를 다운시킬 수도 있을 것이다.
파일 업로드 취약점은 여러 가지로 많이 위험하다는 것을 느끼게 되었다.
'공부 > 해킹 과제' 카테고리의 다른 글
인증/인가 취약점 (0) | 2023.06.16 |
---|---|
File Upload 마무리 및 File Download (0) | 2023.06.10 |
File Upload (8) | 2023.06.02 |
SSRF 실습 (0) | 2023.06.01 |
CSRF 1, 2, 3 문제풀이 (0) | 2023.05.30 |