LFI (1)

밍기적·2022년 11월 13일
0

웹해킹

목록 보기
7/35
post-thumbnail

LFI(Local File Inclusion)


  • 공격(포함)할 파일이 공격대상 서버에 존재하며 우리는 이 파일을 악용하는 것입니다.
  • 즉 우리는 해당 서버에 파일에 접근하여 그 파일을 열어보는 행위를 하는 것입니다.

이러한 취약점은 동일한 서버에 존재하는 모든 파일을 읽을 수 있게 됩니다.

따라서 현재 DVWA에 디렉터리는 /var/www/dvwa지만 이곳에 속하지 않고 외부에 존재하는 파일 또한 읽을 수 있게 됩니다.

이 취약점이 중요한 이유로는 위와같이 다른 모든 파일을 읽을 수 있기 때문입니다.

서버 컴퓨터에 저장된 파일을 읽기 위해서 URL을 이용합니다.

해당 서버가 리눅스 계열 운영체제를 사용한다면 사용자 계정 정보를 /etc/passwd 파일에 저장할 것이고 더 나아가 /etc/shadow 파일까지 접근할 수 있다면 최선일 것입니다.


저희가 보고 있는 웹페이지는 include.php 파일이라는 것을 주소창의 page변수의 값으로 알 수 있습니다.
해당 파일이 실제로 존재하는 파일인지 확인할 수도 있습니다.


URL을 조작하여 해당 파일이 실제로 fi 디렉터리 내부에 존재하는 것을 확인할 수 있습니다.

할 수 있습니다.

이 파일로부터 /etc/passwd 파일까지 접근을 위해서 상위 디렉터리로 이동해야합니다.

  • 총 5번의 상위 디렉터리 이동이 필요함
  • 현재 위치가 /var/www/dvwa/vulnerabilities/fi/include.php이므로

/../../../../../etc/passwd로 page 파라미터를 변경해줍니다.


해당 서버에 존재하는 사용자 계정 정보를 확인할 수 있습니다.

DVWA 보안 레벨을 Medium으로 변경 후 동일하게 접근해보았습니다.

  • low 단계와 동일하게 해당 파일에 접근이 가능합니다.

LFI 취약점은 서버에서 파일을 읽을 수 있도록 하고 암호 또는 민감한 정보가 있는 파일을 읽을 수 있습니다.

0개의 댓글