본문 바로가기

프로젝트/DVWA 실습

DVWA 실습 #8-3 - SQL Injection(high) 2021/01/15 - [프로젝트/DVWA 실습] - DVWA 실습 #8 - SQL Injection DVWA 실습 #8 - SQL Injection DVWA의 일곱 번째 실습 대상인 SQL Injection이다. 현재 데이터베이스에는 5명의 사용자 정보(이름, 비밀번호 등)가 저장되어 있으며 SQL Injection으로 이들의 비밀번호를 탈취하는 것이 목적이다. 현재 haruhiism.tistory.com 문제 해결 방법 이번 단계에서는 로그인한 사용자의 세션에 id 조회 파라미터를 담고 있다. 그래서 한번 조회한 값은 다른 실습 페이지로 이동했다가 돌아와도 그대로 남아있는 것을 볼 수 있다. 하지만 굳이 별도의 창을 띄우는 것은 Burp Suite의 Repeater 같은 툴로 요청을 반복할 수 있기 .. 더보기
DVWA 실습 #8-2 - SQL Injection(medium) 2021/01/15 - [프로젝트/DVWA 실습] - DVWA 실습 #8 - SQL Injection DVWA 실습 #8 - SQL Injection DVWA의 일곱 번째 실습 대상인 SQL Injection이다. 현재 데이터베이스에는 5명의 사용자 정보(이름, 비밀번호 등)가 저장되어 있으며 SQL Injection으로 이들의 비밀번호를 탈취하는 것이 목적이다. 현재 haruhiism.tistory.com 문제 해결 방법 이번 단계에서는 사용자에게서 직접 id 값을 입력받지 않고 HTML의 셀렉트박스를 이용해서 지정된 값만 입력할 수 있도록 제한하고 있다. 하지만 이는 별 의미가 없는게 결국 GET이든 POST든 전달되는 데이터를 수정하면 되기 때문에 Burp Suite를 이용해서 이전 단계에서 사용했.. 더보기
DVWA 실습 #8-1 - SQL Injection(low) 2021/01/15 - [프로젝트/DVWA 실습] - DVWA 실습 #8 - SQL Injection DVWA 실습 #8 - SQL Injection DVWA의 일곱 번째 실습 대상인 SQL Injection이다. 현재 데이터베이스에는 5명의 사용자 정보(이름, 비밀번호 등)가 저장되어 있으며 SQL Injection으로 이들의 비밀번호를 탈취하는 것이 목적이다. 현재 haruhiism.tistory.com 문제 해결 방법 이번 단계에서는 어떤 SQL Injection 필터링도 적용되어 있지 않기 때문에 모든 SQL Injection 기법을 사용할 수 있다. 먼저 확인을 위해 따옴표를 입력해보면 다음처럼 에러가 발생하는 것을 볼 수 있다. 이는 소스 코드에서 오류 발생 시 die() 함수를 이용해 쿼리 .. 더보기
DVWA 실습 #8 - SQL Injection DVWA의 일곱 번째 실습 대상인 SQL Injection이다. 현재 데이터베이스에는 5명의 사용자 정보(이름, 비밀번호 등)가 저장되어 있으며 SQL Injection으로 이들의 비밀번호를 탈취하는 것이 목적이다. 현재는 해당 사용자의 ID를 입력하면 이름(First Name, Surname)만 출력하고 있으며 난이도에 따라 ID 입력 방식이 조금씩 달라지고 있다. SQL Injection? SQL Injection은 사용자 입력이 서버측에서 실행되는 SQL 쿼리에 삽입되어 의도했던 것과 다른 동작을 수행하게 되는 취약점이다. 이전에 실습했던 커맨드 인젝션처럼 Injection 취약점으로 데이터베이스 종류에 따라 형태는 달라지지만 데이터베이스와 연결된 대부분의 사이트에서 공격 대상이 된다. 공격자는 이.. 더보기
DVWA 실습 #7-3 - Insecure CAPTCHA(high) 2021/01/14 - [프로젝트/DVWA 실습] - DVWA 실습 #7 - Insecure CAPTCHA DVWA 실습 #7 - Insecure CAPTCHA DVWA의 여섯 번째 실습 대상인 Insecure CAPTCHA다. 현재 문제에서는 CAPTCHA를 이용하여 비밀번호 변경 기능을 다른 프로그램이 공격하지 못하도록 방어하고 있다. 이 잘못 적용된 CAPTCHA 시스템을 악용 haruhiism.tistory.com 문제 해결 방법 이번 단계부터는 비밀번호 변경 과정이 하나로 통합되고 CSRF 토큰 같은 user_token 파라미터가 전달된다. 불필요하게 분할된 과정을 하나로 합치고 CAPTCHA 뿐 아니라 CSRF 토큰을 이용하여 추가적으로 인증하고 있는 것이다. 그래서 이전처럼 step 항목 값.. 더보기
DVWA 실습 #7-2 - Insecure CAPTCHA(medium) 2021/01/14 - [프로젝트/DVWA 실습] - DVWA 실습 #7 - Insecure CAPTCHA DVWA 실습 #7 - Insecure CAPTCHA DVWA의 여섯 번째 실습 대상인 Insecure CAPTCHA다. 현재 문제에서는 CAPTCHA를 이용하여 비밀번호 변경 기능을 다른 프로그램이 공격하지 못하도록 방어하고 있다. 이 잘못 적용된 CAPTCHA 시스템을 악용 haruhiism.tistory.com 문제 해결 방법 이번 단계에서는 비밀번호 변경 과정(step 1, step 2) 사이에 인증 로직을 적용하기 위해 새로운 헤더가 추가되었다. 변경할 비밀번호를 입력하고 CAPTCHA를 통과하는 것까지는 동일하지만 step 2에 대한 요청에는 'passed_captcha' 파라미터가 tr.. 더보기
DVWA 실습 #7-1 - Insecure CAPTCHA(low) 2021/01/14 - [프로젝트/DVWA 실습] - DVWA 실습 #7 - Insecure CAPTCHA DVWA 실습 #7 - Insecure CAPTCHA DVWA의 여섯 번째 실습 대상인 Insecure CAPTCHA다. 현재 문제에서는 CAPTCHA를 이용하여 비밀번호 변경 기능을 다른 프로그램이 공격하지 못하도록 방어하고 있다. 이 잘못 적용된 CAPTCHA 시스템을 악용 haruhiism.tistory.com 문제 해결 방법 이번 단계에서는 비밀번호 변경 요청 및 확인 두 과정을 거쳐야 한다. 이는 실습 페이지에 step 파라미터로 전달되는 값으로 구분하는데 본래 정상적인 요청이라면 다음처럼 동작한다. 먼저 비밀번호 입력 폼에 변경될 비밀번호를 입력하고 CAPTCHA를 통과한다. 그리고 버튼.. 더보기
DVWA 실습 #7 - Insecure CAPTCHA DVWA의 여섯 번째 실습 대상인 Insecure CAPTCHA다. 현재 문제에서는 CAPTCHA를 이용하여 비밀번호 변경 기능을 다른 프로그램이 공격하지 못하도록 방어하고 있다. 이 잘못 적용된 CAPTCHA 시스템을 악용하여 현재 로그인한 사용자 모르게 비밀번호를 바꾸는 것이 목적이다. CAPTCHA? CAPTCHA란 현재 서비스를 사용하고 있는 주체가 진짜 사람인지 컴퓨터 프로그램인지 구분하기 위해 고안된 프로그램이다. 뒤틀린 형태의 텍스트나 여러 방향으로 잘린 이미지 등 사람이 아니면 알아보기 힘든 콘텐츠로 시험하여 자동화된 봇이 악의적인 작업(spamming 등)을 수행하지 못하도록 하는 게 주목적이며 브루트 포스 방지, 추가 인증 등 다양한 용도로 사용되고 있다. 옛날에는 왜곡된 텍스트를 분석.. 더보기