Network/DVWA 12

Exercise 3. CSRF

CSRF공격이란? Cross Site Request Forgery 사이트 간 요청 위조 피싱을 활용해 사용자 모르게 패스워드 변경! 옥션 해킹 사건에서 사용된 공격기법 (출처:인프런/화이트해커가-되기위한-8가지) DVWA 실습 (Low) 패스워드를 변경하면 바로 변경이 되어서 버프스위트로 확인을 해보았다. GET으로 값을 넘겨주는 것을 확인해 볼 수 있다. 이벤트에 응모하는 임시 페이지 입니다. 이 링크를 누르시면 이벤에 등록이 됩니다!! Click! 이번은 피싱이기에 오픈소스를 이용해 CSRF코드를 받아 이벤트페이지로 바꾸어 주었다. 그럼 구글 메일을 이용해 피싱을 해보기로했다. 나의 운영하는 웹서버에 html파일을 올린다음 url주소를 이용해 응모하기를 만들어 주었다. 이로써 'hacked'로 비밀번..

Network/DVWA 2019.08.09

Exercise 12. JavaScript

DVWA (Low) 이러한 폼이 주어져있고 아무값이나 입력하면 틀리다고 나온다. 소스코드의 전반적인 내용은 MD5 로 이루어져있다. 버프스위트로 봤을때 토큰과 phrase를 비교해주면 success 인것 같다. 그런데 좀 익숙하다 token이 md5로 구성이 되었지 않을까하고 Decryption을 해주었다. 'ChangeMe'를 원하는대로 MD5로 Encryption을 해주었다. 결과는 PunatrZr 음 히든에 토큰이 들어있다. 소스코드가 돌면서 만들어 내는것이 아니라 고정적으로 들어있었다는것?!? 소스코드를 보니 토큰이 어떻게 만들어졌나 보니 ROT13으로 인코딩하고 MD5으로 Encryption 한 결과값이였다. 결국 ChangMe였다는것..! 아.. success 를 제출하면 성공이라고 한다. 처..

Network/DVWA 2019.08.09

Exercise 11. CSP Bypass

Content-Security-Policy 브라우저에 XSS와 관련된 공격을 막아주는 헤더이다. 기본적으로 브라우저는 요청하는 모든 코드를 실행하는데 CSP를 설정함으로써 제한적으로 실행시킬수 있다. 다음 4개의 키워드를 선택 적용할 수 있다. 'none' 어떤 것도 허용 X 'self' 현재 출처에서는 허용 O , 하위 도메인에서는 허용 X 'unsafe-inline' 인라인 자바스크립트 , 인라인 스타일 허용 'unsafe-eval' eval과 같은 텍스트 - 자바 스크립트 메커니즘을 허용 장단점이 있다. 보안에 강력하게 대응할 수 있지만 설정을 잘못하면 css, script 가 처리안되어 골치 아파진다..! 모질라 개발자 사이트에 예시를 보면 다음과 같다. Content-Security-Policy..

Network/DVWA 2019.08.09

Exercise 10. XSS

자바스크립트 웹 애플리케이션에서 사용되는 언어 HTML : 텍스트, 이미지 등 정적인 내용을 표시 자바스크립트 : 동적인 기능 구현(예. 마우스를 가져가면 메뉴의 색이 변함) 와 같이 구현 XSS 공격이란? 클라이언트 쪽의 웹브라우저를 공격하는 기법 # 그런다음 URL에 #을 넣어주어 경고 상자를 표시 할 수 있다. # 문자 뒤에 모든 것이 브라우저에서 쿼리의 일부로 처리되지 않고 조각으로 처리되므로 서버에 전송되지 않는다. 성공~ Reflected (Low) 이름을 입력하는 폼이 나온다. 소스코드를 읽어보니 get방식으로 name을 읽어와서 출력해주고 있다. 여기에 어떠한 보호기법도 없기 때문에 간단하게 공격을 해보았다. alert문이 성공적으로 뜨는 것을 확인해 볼 수 있었다. Stored (Low)..

Network/DVWA 2019.08.09

Exercise 9. Weak Session IDs

DVWA 실습 (Low) 'Generate'버튼을 누르게 되면 dvwaSession이라는 쿠키를 생성하게 된다고 한다. 소스코드를 보면 last_session_id 가 존재하지 않으면 0이 되고 아니면 1씩 추가 해준다. 개발자모드 네트워크로 확인해본 결과 dvwaSession이 기존 3에서 요청하게 되면 4로 응답이 오는것을 확인해 볼 수 있었다. (Medium) medium 단계에서의 dvwaSession의 값은 time()이다. ※time() 은 1970년 1월 1일 0시 0분 0초부터 지금까지 지나온 초를 정수형태로 리턴해주는 함수 버튼을 눌렀을때의 시간의 값이 dvwaSession에 저장되는것 같다. 그렇다면 이 값을 날짜로 바꾸어 주는 함수 data()를 이용해 php문을 짠후 실행시켜 보았다..

Network/DVWA 2019.08.09

Exercise 8. SQL Injection (Blind)

블라인드 SQL 인젝션 공격이란? 장님(blind man)이 지팡이를 이용해 집을 찾아갈때 바닥을 두드리며 이곳이 어딘지 이길이 맞는지 1개씩 짚어보는 것과 같이, 조건문 실행 결과에 원하는 값 1글자가 ascii 값으로 50 보다 큰지 100 보다 큰지 비교하여 1글자씩 데이터를 알아내는 공격기법이다. 일반적인 SQL 인젝션 의 경우 조작된 쿼리를 입력 해 한번에 원하는 데이터를 얻을 수 있지만, 블라인드 SQL 인젝션은 쿼리 결과에 따른 서버의 참과 거짓 반응을 통해 공격을 수행한다. 1을 입력했을때 원하는 데이터를 보여주는 것이 아닌 존재한다 즉, 참으로 결과를 보여주는 것을 알 수 있다. 6을 입력했을때는 존재하지 않다고 보여주고 있다. 블라인드 SQL 인젝션을 수행하기 앞서 필요한 기본적인 함수..

Network/DVWA 2019.08.08

Exercise 7. SQL Injection

SQL Injection 공격이란? 데이터베이스에 전송되는 SQL 쿼리문을 조작하여, 데이터를 변조하거나 허가되지 않은 정보에 접근 예전부터 최근까지 꾸준하게 사용 2011년 소니해킹 2015년 뽐뿌 해킹 2015년 어나니머스 WTO 해킹 (출처:인프런/화이트해커가-되기위한-8가지) DVWA 실습 (Low) - 먼저 소스코드를 확인을 해보았다. ID, First name, Surname 으로 출력을 해주게 되어있다. 요런식으로 1~5까지 정보가 나오는 것을 확인해 볼 수 있었다. // Check database $query = "SELECT first_name, last_name FROM users WHERE user_id = '$id';"; 소스코드에서 보면 이런식으로 입력이 들어간 것을 확인해 볼 수..

Network/DVWA 2019.08.08

Exercise 6. Insecure CAPTCHA

CAPTCHA 공격이란? (출처:인프런/화이트해커가-되기위한-8가지) DVWA 실습 (Low) 처음에 그냥 패스워드 변경이 되어 버려서 버프스위트로 확인, 우회를 해보았다. 요청을 2개를 보내는데 step1에는 g-recaptcha-response가 전송이 되는데 이게 인증을 하는 부분이기에 넘겨주고 step2에서는 인증을 하는 부분이 없어서 2에서 패스워드를 우회를 했다. 과연 됬나 확인을 해보았다.

Network/DVWA 2019.08.08

Exercise 5. File Upload

파일 업로드 공격이란? 파일이 업로드 되는 페이지(게시판, SNS등)에 악성 파일(웹셀)을 업로드 (출처:인프런/화이트해커가-되기위한-8가지) DVWA 실습 (Low) 나는 먼저 이런식으로 작성을 해주었다. 파일명은 "1.php" 파일을 업로드 한후 그 업로드 한 파일의 경로에 맞춰 들어가 보았다. phpinfo()나 system() 함수를 이용하여 공격을 시도해 보았다. // 1.php

Network/DVWA 2019.08.08

Exercise 4. File Inclusion

파일 인클루젼 공격이란? 지정한 파일을 PHP include()로 소스코드에 삽입 로컬파일인클루젼(LFI) - 이미 시스템에 존재하는 파일을 인클루드 리모트파일인클루젼(RFI) - 외부에 있는 파일을 원격으로 인클루드 (출처:인프런/화이트해커가-되기위한-8가지) DVWA 실습 (Low) 소스코드는 다음과 같다. 파일업로드 공격 메인은 다음과 같다. 먼저 찾은것은 1,2,3을 지나서 file4.php을 넣었는데 우연찮게 발견했다.. 근데 이게 끝이 아니라는게 느낌이 왔다. 커맨드 인젝션을 이용해 fi 디렉토리를 찾고 어디쯤에 있는지 찾았다. ※패스 트래버설(Path Traversal) 공격 : ../ 를 이용하여 상위디렉토리로 접근하는것 ?page=../../../../../../etc/passwd 을 이..

Network/DVWA 2019.08.08