kangsecu's B1og

.htaccess 웹쉘 업로드 공격 본문

Web Hacking

.htaccess 웹쉘 업로드 공격

Kangsecu 2018. 4. 14. 04:07

.htaccess란?

htaccess는 hypertext access의 약자로, Apache웹 서버의 디렉토리를 설정하는 기본 파일

특정 디렉토리에 위치하고, 해당 디렉토리 및 모든 하위 디렉토리에 영향을 행사

여기에 사용자가 요구하는 특정 기능이나 옵션을 수행하는 내용을 추가하는데, hide 상태로 저장됨

주로 config 파일로 사용이되는데, 이럴 경우 파일이름을 변경해줘야함

AccessFilename을 이용해서 httpd.conf이라는 서버설정파일에 추가해야함.

--------------------------------------------------------------------------------------------------------------------------------------------------

이렇게 .htaccess를 이용하면 서버설정, 특정 기능등 웹서버 및 웹페이지에 많은 영향을 미침, 그러므로 이를 악용하여 해킹이 가능.

주로 PHP웹 어플리케이션에서 .htaccess를 이용하여 다양한 exploit이 가능.

-------------------------------------------------------------------------------------------------------------------------------------------------- 

1. 여러가지 확장자 파일로도 웹쉘 업로드

AddType application/x-httpd-php .txt +(추가하고 싶은 확장자)를  .htaccess를 먼저 서버에 올려놓은 후에,

webshell.txt등의 txt파일을 업로드하여 웹쉘 공격이 가능.


2. php code leak

전에 워게임 문제풀이 중에서도 많이 사용하던 기법인데, 주로 상용되거나 ctf나 워게임등에선 php를 인터페이스에 출력시켜주지 않지만, .htaccess의 설정파일을 이용하면 웹 어플리케이션 클라이언트 인터페이스에 php코드를 유출 시킬수 있다. php_flag engine off 를 이용하여 php엔진을 종료시키면 된다. 

http://kangsecu.tistory.com/72?category=701982  본 문제는 webhacking.kr의 28번 문제풀이인데,  바로 이 문제가 .htaccess를 이용하여php code leak취약점 을 하는 문제이다 . 이렇듯 실제 코드를 보여주지 않는 웹 어플리케이션에 공격을 하면 php코드의 열람이 가능하므로 해커가 코드를 분석하여 해킹을 하는등,  보안상으로 큰 문제가 생길 수 있다.


3. Redirection Upload

리다이렉션 파일 업로드. 특정 url에 접근을 하면 다른 url로 접속이 되는 형식이다. 이러한 기법을 이용하여 클라이언트가 접근하려고 한 url을 해커가 임의로 제작해둔 피싱url로 리다이렉트 시킨다면, 클라이언트의 정보가 해커에게로 넘어가는등 여러 피해를 야기할 수 있다.사용방법은 .htaccess에 Rewrite를 이용

RewriteEngine On

RewriteCond %{HTTP_HOST}^(kangsecu.tistory.com)

RewriteRule (.*) http://google.co.kr/$1

라는 파일을 설정해주면, kangsecu.tistory.com이라는  url을 접근을 할때, google.co.kr로 리다이렉트가 되는데, 이러한 설정을 이용한다.


4. .htaccess파일을 webshell로 이용

.htaccess 역시 서버에서 실행되는 서버설정파일이기 때문에, .htaccess자체에 webshell코드를 작성한다면 업로드가 가능하다.


5. Appending Malware

웹을 접근할때, redirect를 하는 대신에, 해커가 미리 지정해둔 파일에 malware및 악성코드를 로드하는 기법이다. 이러한 기법을 이용하면 이제 해커의 대상은 더이상 웹서버만이 아니고, 개인 클라이언트도 희생양이 될 수 있다.

php_value auto_append_file "/tmp/kangsecu.php" 이러한 파일을 업로드 해주면, 해당 디렉터리 및 모든 하위 디렉터리에 해커가 만든 kangsecu.php파일이 로드되고, 해당 웹사이트에 접근한 클라이언트는 해커가 지정한 malware및 악성코드의 피해를 입게된다.


'Web Hacking' 카테고리의 다른 글

.htaccess Exploit  (0) 2019.05.12
xss game  (0) 2018.06.20
Cross Site Tracing (XST)  (0) 2018.04.24
XXE Injection  (0) 2018.04.14
NoSQL injection  (0) 2018.04.12