반응형

dvwa 9

[DVWA] - File Upload(파일업로드) Low 단계

File Upload(파일업로드) 파일 업로드 취약점은 파일을 업로드하는 기능에 적절한 보안 대책이 적용되어 있지 않을 때 발생한다. 그림 1에서 Browse를 통하여 올릴 파일을 설정할 수 있고 Upload를 통하여 우리가 선택한 파일을 올릴 수 있다. 우리는 웹쉘을 올려 쉘 명령어를 실행시킬 수 있도록 하겠다. webshell.php 공격자가 입력 폼에 명령어를 입력하면 cmd 파라미터 ($_GET['cmd'])를 통해 전달되고, system() 함수를 이용하여 명령어를 실행한다. webshell.php 파일을 업로드하는데 성공을 하였고 업로드 경로 주소를 알려주고있다. 업로드 주소는 ../../hackable/uploads/ 디렉토리 아래에 존재한다. 우리의 경로는 현재 http://192.168...

WEB hacking/DVWA 2022.10.16

[DVWA] - File Inclusion(파일 인클루전)공격 Low 단계

File Inclusion(파일 인클루전) 파일 인클루전 공격은 주로 PHP 애플리케이션을 대상으로 발생한다. PHP는 인클루드라는 기능을 제공하는데, 인클루드 기능은 include라는 함수를 이용하여 다른 파일을 소스코드에 직접 포함시킬 수 있도록 하는 기능이다. 이를 통해 공격자는 본인이 원하는 파일을 인클루드시킬 수 있다. 파일 인클루전 공격은 공격자가 인클루드할 수 있는 파일이 각각 호스트 내부의 파일인지 외부의 파일인지에 따라 로컬 파일 인클루전, 리모트 파일 인클루전으로 구분이 된다. 리모트 파일 인클루전(RFI) POC 코드 이 코드는 간단하게 /etc/passwd 파일의 내용을 출력하도록 요청하는 system()함수를 호출한다. 해당 URL 주소 창을 보면 ?page=include.php ..

WEB hacking/DVWA 2022.10.15

[DVWA] - Cross Site Request Forgery (CSRF) Low 단계

Cross Site Request Forgery (CSRF) CSRF 취약점의 공격방법은 공격자가 피싱을 통하여 공격 대상이 되는 사용자에게 악성 링크를 누르게 하고, 악성 링크를 클릭하면 사용자가 자신도 모르게 자기가 로그인 되어있는 웹 사이트의 어떤 기능을 동작하게 하는 것이다. CSRF 공격은 사용자가 웹 사이트에 정상적으로 접속하고 로그인되어 있는 상태여야지만 공격이 가능하다. 이 페이지는 사용자의 패스워드를 변경하는 사이트이다. admin의 패스워드를 test로 한번 바꾸고 버프 스위트의 프록시 기능을 이용하여 확인하겠다. 그림 2번을 보면 GET요청으로 password_new, password_conf 파라미터에 우리가 입력한 test가 전송이되고 Change 파라미터에는 Change라는 값이..

WEB hacking/DVWA 2022.10.14

[DVWA] - Stored Cross Site Scripting (XSS) Low 단계

Stored Cross Site Scripting (XSS) 방명록을 작성하기전에 공격자 웹서버 apache서버를 구동하고 접근 로그를 모니터링 한다. message에 스크립트를 삽입하려는데 글자 수가 제한되어있다. 하지만 이 제한은 클라이언트 측에서 검사하도록 되어 있기 때문에 쉽게 우회가 가능하다. maxlength가 50으로 제한되어 있다. 우리는 넉넉하게 500으로 값을 수정하고 스크립트를 입력하겠다. 위와 같이 스크립트를 작성하고 방명록을 등록하겠다. 글을 저장하는 순간 다음과 같이 스크립트가 실행된다. 이 페이지의 경우 방명록에 글을 저장하는 순간 글의 내용을 다시 표시해주기 때문에, 리플렉티드 크로스 사이트 스크립팅 취약점과 같이 글을 저장할 때 스크립트가 실행된다. 로그파일을 확인해보자. ..

WEB hacking/DVWA 2022.10.13

[DVWA] - Reflected Cross Site Scripting (XSS) Low 단계

Reflected Cross Site Scripting (XSS) 리플렉티드 크로스 사이트 스크립팅 취약점은 요청 메시지에 입력된 스크립트 코드가 즉시 응답메시지를 통해 출력되는 취약점이다. BeEF 공격 프레임워크는 웹 브라우저 기반의 침투 프레임워크로 게시판에 스크립트를 삽입해서 특정한 행동을 취하게 하는 공격 기법인 XSS 공격 모듈을 만드는데 특화된 툴이다. [Webhacking] BeEf 를 이용한 XSS 취약점 공격 The Brower Exploitation Framework - 웹 브라우저 기반의 공격 BeEF는 웹 브라우저를 공격하기 위한 여러 공격 모듈이 포함된 공격 테스트 프레임워크이다. 게시판에 스크립트를 삽입해서 특정한 행동을 haerinn.tistory.com 위 사이트를 참고하였..

WEB hacking/DVWA 2022.10.11

[DVWA] - Command Injection Low 단계

Command Injection 커멘트 인젝션(Command Injection)이란 명령어를 삽인한다는 뜻으로, 웹 요청 메시지에 임의의 시스템 명령어를 삽입하고 전송하여 웹 서버에서 해당 명령어를 샐행하도록 하는 공격이다. input 박스에 ip 주소를 입력하면 해당 ip주소로 ping명령어를 실행한 후 그 결과를 리턴해 주는 페이지이다. 일단 로컬 ip주소(127.0.0.1)을 입력하고 실행해 보겠다. 그림 2와 같이 ping명령어를 실행한 결과를 출력한다. 소스코드를 한번 살펴보겠다. 소스코드 소스코드를 살펴 보면 shell_exex()라는 함수가 호출된다. 이 함수는 시스템 명령어를 내리는 함수이다. ping 뒤에 $target이라는 변수가 오는데, 이 변수는 우리가 입력한 값이다. 하지만 소스코..

WEB hacking/DVWA 2022.10.10

[DVWA] - SQL Injection(Blind) Low 단계

SQL Injection(Blind) 블라인드 SQL인젝션이란 결과를 직접적으로 알 수는 없어도, 참과 거짓일 때의 결과 차이를 분석하여 어떤 정보를 알아내는 기법이다. User ID값에 1을 한번 넣어보겠다. ID값에 1을 입력하니, 데이터베이스에 존재한다는 메시지만 나온다. 다음 '(싱글쿼터)를 입력하여 어떤 결과를 나타내는지 확인하겠다. id값에 1부터 6까지 넣어봤는데 1에서 5까지는 계정이 존재를 하였고 6부터는 계정이 존재하지 않는다. 싱글쿼터를 입력하니 데이터베이스에 사용자가 존재하지 않다고 뜬다. 그냥 sql injection문제에서는 싱글쿼터를 입력하면 에러가 났는데 sql injection(blind)에서는 에러가 나지 않는다. 그래서 sql 쿼리문이 사용되고 있는지 알기 어렵다. 만약..

WEB hacking/DVWA 2022.10.09

[DVWA] - SQL Injection Low 단계

SQL Injection Where 구문 우회 SQL Injection문제이다. 소스코드를 한번 보겠다. id값을 get방식으로 받고 쿼리 부분에서 user_id가 id인 users테이블에서 first_name과 last_name을 가져오는 것을 알 수있다. User ID부분에 '(싱글쿼터)를 넣으면 그림 3과 같은 에러가 뜬다. SQL 문법에서 에러가 났다고 한다. 왜냐하면 쿼리 부분을 보면 user_id = ''' 이라고 들어가기 때문에 싱글쿼터의 쌍이 맞지않아 형식에러가 발생한다. User ID에 1을 넣어본다. User ID에 1을 넣으면 ID가 1인 사용자인 admin 사용자가 출력한다. 이제 아래와 같은 값을 넣어 보겠다. ' or '1' = '1 sql 쿼리문을 조작하여 user_id = '..

WEB hacking/DVWA 2022.10.08

[DVWA] - Brute Force Low 단계

DVWA 소개 DVWA는 모의해킹 테스트를 위한 환경이다. DVWA의 기본 사용자 계정은 admin/password이다. Security Level을 Low로 설정하고 Brute Force를 클릭한다. Brute Force Low 단계 password에 1234를 입력을 하니 Username 또는 password가 옳지않다고 한다. 패스워드를 여러 번 틀리게 입력하더라도, 계속 아이디와 패스워드가 일치하지 않다고만 표시할 뿐 시간 지연과 같은 다른 제한은 발생하지 않는다. 이런 경우 브루트 포스 공격에 취약하다고 할 수있다. 버프 스위트를 확인해보면 username = admin이고 password = 1인 패킷을 보낸것을 알 수 있다. 방금 입력한 요청에서 마우스 우클릭 메뉴를 이용하여 인트루더로 보낸..

WEB hacking/DVWA 2022.10.07
반응형