안녕하세요 이번에 LFI 실습 문제을 풀어보면서 한 번 더 정리해보겠습니다.
게시판에 이미지 파일을 올려보는데 바로 <?php system($_GET['cmd']); ?> 로 변형해서 올리겠습니다.
그리고 이 사이트에서 파라미터로 include하는 곳을 찾아봅니다.
찾다 보니 인사말에서 lang으로 php문을 받는 게 있네요!
여길 이용 하겠습니다.
버프스위트로 넘어가서 저희가 게시판에 변형해서 올린 jpg 파일 다운로드 경로를 가져오겠습니다.
/lfi_1/files/hello/hello.JPG
그리고 이 파일의 위치를 가져와서 그대로 include 하는 파라미터에 넣겠습니다.
그리고 난뒤에 ../을 붙여서 파일 위치를 찾아보겠습니다.
그리고 이제 저희가 입력해 둔 한 줄 웹 쉘을 이용해서 cmd=ls 보내보겠습니다.
그럼 그 이미지 파일 안에 있는 소스들이 실행되면서 ls 명령문을 실행하게 되는 거죠!
그다음에 자세히 보면 topSecret 폴더가 있습니다.
cmd=ls+topSecret 들어가서 flag.txt 정보를 가져오겠습니다.
이렇게 답이 나오는 것을 알 수 있습니다.
오늘은 간단하게 LFI 실습을 해보았습니다.
대응 방법은 간단합니다.
DB에 파일 저장하게 하는 방법
또는 파일 서버를 따로 만든다.
또는 파일 검증 하는 겁니다!
감사합니다.
'보안지식' 카테고리의 다른 글
LFI,RFI 정리 (1) | 2023.06.09 |
---|---|
[노말틱 모의 해킹 취업반 2주차 해킹과제 (1)] 인증 우회 가능 공격 방법 정리 (0) | 2023.04.08 |
[노말틱 취업반 2주차 정리] 로그인 인증 (0) | 2023.04.07 |