반응형

WEB hacking 79

드림핵 CSRF

CSRF 공격 코드 HTML img 태그 공격 예시 javascript 공격 예시 //새 창 띄우기 window.open('https://aaa.aaa.com/aaa?to=jon&amount=1337'); // 현재 창 주소 옮기기 location.href = 'https://aaa.aaa.com/aaa?to=jon&amount=1337'; location.replace('https://aaa.aaa.com/aaa?to=jon&amount=1337'); 드림핵 CSRF 실습 코드(내 코드) 드림핵 CSRF 실습 코드(답) img 태그(onerror="fetch('url');") img 태그에서 src를 1로 설정을 하였기 때문에 사진이 나오지 않는다. 따라서 onerror를 설정하여 사진이 나오지 않았을..

드림핵 cookie (Level1) Write up

문제 설명 https://dreamhack.io/wargame/challenges/6/ cookie 쿠키로 인증 상태를 관리하는 간단한 로그인 서비스입니다. admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다. Reference Introduction of Webhacking dreamhack.io 위 사이트에서 해당 문제를 풀 수 있다, admin 계정으로 로그인을 성공하면 플래그를 획득할 수 있다. 문제 파일을 다운로드 받는다. #!/usr/bin/python3 from flask import Flask, request, render_template, make_response, redirect, url_for app = Flask(__name__) try: FLAG = open('./f..

드림핵 session-basic (Level1) Write up

문제 설명 https://dreamhack.io/wargame/challenges/409/ session-basic Description 쿠키와 세션으로 인증 상태를 관리하는 간단한 로그인 서비스입니다. admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다. Reference Background: Cookie & Session dreamhack.io 위 사이트에서 해당 문제를 풀 수 있다, admin 계정으로 로그인에 성공하면 플래그를 획득이 가능하다고 한다. 쿠키와 세션으로 인증 상태를 관리하는 서비스이다. #!/usr/bin/python3 from flask import Flask, request, render_template, make_response, redirect, url_for ..

자바 역직렬화 취약점 공격

자바 역직렬화 취약점 공격 자바 역직렬화 취약점은 OWASP Top 10 2017에서 새롭게 선정되었다. 자바 역직렬화 취약점은 공격자가 원격에서 코드를 실행할 수 있느 RCE(Remote Code Execution) 공격으로 이어지기 때문에 매우 심각한 영향을 줄 수 있는 취약점이다!! 자바 프로그램상에서 어떤 객체가 생성되면 그 객체는 메모리에 상주하게되고, 프로그램이 실행되는 동안 필요에 따라 사용된다. 하지만 프로그램이 종료되면 메모리에 있던 객체는 사라지게된다. 객체는 지금까지 프로그램이 사용하면서 저장한 데이터가 있는데, 그 데이터를 다음 번 프로그램 실행시에도 계속 사용하여야 한다면 메모리에 있는 객체와 데이터를 파일이나 DB에 저장해야 할 것이다. 이때 저장을 하기위해 객체를 바이트 스트림..

[비박스(bWAPP)] - PHP-CGI 취약점 공격(metasploit)

PHP 버전 5.3.12와 5.4.2 이전 버전에서 소스코드가 노출되거나 공격자가 임의의 코드를 실행할 수 있는 취약점(CVE-2012-1823)이 존재한다. 이 취약점은 요청 URL의 쿼리스트링 부분을 잘못 처리해서 발생하는 취약점이다. PHP-CGI 취약점 공격 비박스의 php환경은 그림 1에서 보는 것처럼 5.2.4버전인 것을 알 수 있다. 따라서 PHP-CGI 취약점 공격이 가능하다. 비박스의 /admin/ 경로에서 공격을 실습하도록 하겠다. 웹 브라우저 주소창에서 경로 뒤에 ?-s를 입력을 하면 PHP의 소스코드를 읽을 수 있다. 이 취약점을 이용하여 임의의 코드 실행도 가능하다!! msfconsole으로 메타스플로잇을 실행한다. 공격과정 1. search 명령어로 공격 모듈 검색 2. use ..

[비박스(bWAPP)] - 쉘쇼크 취약점

쉘쇼크 취약점 쉘쇼크(shellshock)는 bash쉘의 취약점이다. CVE id는 CVE-2014-6271이다. 쉘쇼크는 시스템 환경변수에 다음과 같이 특정 패턴의 문자열과 함께 임의의 명령어가 저장되어 있으면 쉘이 실행될 때 해당 명령어가 실행되는 취약점이다. () { :;}; 쉘쇼크 취약 여부 테스트 스크립트 env x='() { :;}; echo DANGER' bash -c 'echo test' 이 명령문은 x 환경 변수에 쉘쇼크 공격 패턴과 명령어를 지정한 뒤 bash 쉘을 실행하여 지정한 명령어가 실행되는지 확인한다. 쉘쇼크에 취약한 버전일 경우 echo 명령어가 실행되어 DANGER가 출력이된다. 쉘쇼크에 취약하지 않은 버전은 DANGER 문자열이 출력되지 않는다. 쉘쇼크 취약점은 CGI로 ..

[비박스(bWAPP)] - 하트블리드 취약점

하트블리드 취약점 하트블리드 취약점은 지금까지 알려진 취약점 중에서도 가장 유명하다고 할 수 있는 취약점이다. 2014년에 공개되었으면 SSL/TLS 프로토콜을 구현한 OpenSSL 라이브러리 중 1.0.1 ~ 1.0.1f 버전에 존재하는 취약점이다. 원래 HTTPS로 구현된 웹사이트들은 안전하다고 알려져있지만 하트블리드 취약점으로 인해 민감한 정보가 노출될 수 있다. 취약점이 SSL/TLS 하트비트라는 확장 기능에서 발견되었기 때문에, 하트블리드라는 이름이 생겼다. 하트 블리드 취약점을 이용하면 공격자는 웹 서버 호스트의 메모리를 읽을 수 있게 되어 사용자의 로그인 정보 및 그 밖에 노출되면 안되는 민감한 정보들을 탈취 할 수 있다. Nginx 웹 서버가 취약한 OpenSSL 저번을 사용하고 있다. 힌..

[비박스(bWAPP)] - XML External Entity Attacks(XXE)

XXE 취약점 XXE(XML eXternal Entity) 취약점은 XML 타입의 데이터가 웹 요청을 통해 전송되고, 서버에서 XML 외부 엔티티를 처리할 수 있도록 설정된 경우 나타날 수 있다. 사용자가 웹 애플리케이션으로 전달되는 XML 데이터를 직접 업로드하거나 수정할 수 있는 경우, 공격자는 외부 엔티티를 참조하는 XML 데이터를 전송하여 파일과 같은 서버 내부의 정보를 탈취하거나 서비스 거부 공격, SSRF 등의 공격을 수행할 수 있다. 실습 페이지에 Any bug?라는 버튼이 존재한다. 이 버튼을 누르면 secert이 버튼에 표시된 문자열로 초기화 된다. Content-type 헤더가 text/xml로 설정되어있고 바디에서 XML 형태의 데이터가 전송되고 있다. XXE 취약점 공격은 이와같이 ..

[비박스(bWAPP)] - Directory Traversal - Files

리눅스에서 ../ 문자열은 파일의 경로를 지정할 때 사용되면 상위 디렉터리의 경로를 지정한다. 디렉터리 트레버설 취약점은 파일 경로를 지정하는 파라미터의 값으로 이러한 ../ 문자열의 입력을 허용함으로써 발생하는 취약점이다. ../../../etc/와 같은 방법으로 추트 디렉터리를 거쳐 다른 디렉터리를 지정할 수 있게 되므로 호스트 내부의 모든 파일에 접근하는 것이 가능하다. bWAPP의 A7 Directory Traversal - Files을 선택하여 실습을 진행한다. Directory Traversal - Files 실습 실습 페이지의 URL을 보면 page 파라미터에 message.txt가 지정되어 전달되고 있다. 이 실습 페이지는 page 파라미터에 저장된 파일인 message.txt 파일의 내용..

[비박스(bWAPP)] - 관리자 페이지 인증 우회

관리자 페이지는 종종 admin, admin.php, admin.jsp 등과 같은 URL로 되어 있어 쉽게 추측할 수 있다. DirBuster와 같은 자동화 툴을 이용하여 이러한 URL을 쉽게 찾을 수 있다. 그림 1은 dirbuster을 사용하여 URL을 알아냈다. 사용 명령어 gobuster dir -u http://192.168.60.136/bWAPP -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -t 100 gobuster을 사용하여 디렉토리 스캔을 진행하였다. /admin이라는 디렉토리가 발견이 되었고 이 디렉토리가 관리자의 URL이라고 생각을 하고 접속을 진행하였다. 단순히 URL을 추측하여 입력함으로써 관리자 페이지에 접근하..

반응형