본문 바로가기

Kali Linux

(7)
Kali Linux - DVWA실습 (XSS, Cross-Site Scripting) ing.. XSS ? XSS는 관리자가 아닌 이가 웹 페이지에 스크립트 코드를 삽입할 수 있는 취약점을 공격하는 기법이다. 비슷한 웹 해킹 기술로 CSRF가 있는데, CSRF와 가장 큰 차이점은 공격 대상이 다르다는 것이다. CSRF는 웹 서버를 공격한다. 희생자는 자신의 의도와 관계없이 해커가 의도한 대로 서버에 공격을 가하는 것이다. XSS는 희생자의 웹 브라우저를 공격한다. 사용자의 웹 브라우저에서 스크립트 코드가 실행되어 세션쿠키 등을 탈취하는 공격이 대표적이다. XSS는 대표적으로 Reflected XSS, Stored XSS로 구분된다. Reflected XSS Reflect, 즉 반사되는 XSS공격을 의미한다. 사용자의 웹 브라우저에서 세션쿠키를 탈취하는 Reflected XSS 이메일 등으로 악성 스..
Kali Linux - DVWA실습 (SQL Injection) SQL Injection ? SQL Injection은 보안 취약점을 이용하여 악의적인 SQL문을 실행시켜 데이터베이스를 조작하는 Code Injection의 한 종류이다. 보통 입력값을 이용하여 동적인 쿼리를 구성하는 경우 해당 취약점이 생긴다. DVWA를 이용한 SQL Injection (Low Level Security) Low Level 소스코드 아래 코드의 취약점은 WHERE user_id = '$id;' 부분이다. 입력받은 id값을 그대로 문자취급하여 쿼리문에 포함시키기 때문이다. 우회 방법1 (or) 공격에 성공하여 모든 회원 정보를 조회하였다. 1' or '1' = '1 을 입력한 SQL문을 보자. 언제나 참이기에 모든 회원정보를 조회 가능하다. 우회 방법2 (칼럼 개수 알아내기 Union..
Kali Linux - DVWA실습 (Captcha Attack) Captcha ? Captcha(Completely Automated Public Turing test to tell Computers and Humans Apart) 컴퓨터와 인간을 구별하는 완전히 자동화된 테스트이다. 컴퓨터가 아닌 실제 사람에 의해 수행되는지 검증하는 과정이다. Brute Force와 같이 컴퓨터에 의해 자동적으로 실행되는 공격에 효과적으로 대응 가능하다. 아래 그림과 같은 인증 방식을 captcha인증이라 한다. DVWA를 이용한 Captcha 공격 (Low Level Security) 패스워드 변경과 Captcha를 통과하였다. 패스워드 변경 요청을 인터셉트 한 결과이다. 요청 파라미터로 step, password_new, password_conf, g-recaptcha-resp..
Kali Linux - DVWA실습 (File Upload Attack) File Upload Attack? 파일 업로드 공격은 웹 상에서 이미지, 동영상, 음악파일 등 여러 파일을 업로드하는데 있어 발생하는 취약점을 공격한다. 이번에는 웹 쉘의 기능을 하는 PHP파일을 생성하고 해당 파일을 업로드하여 웹 상에서 쉘 명령어를 실행하도록 한다. 사전준비 업로드 시킬 웹 쉘 기능을 포함하는 PHP파일 작성 HTTP form에서 입력된 값을 GET방식으로 전달받는다. isset을 통해 값이 세팅된 경우 system함수를 이용하여 쉘 명령어를 수행한다. 생성한 php파일을 /root 디렉토리에 위치시킨다. DVWA를 이용한 File Upload 공격 (Low Level Security) 파일 업로드 전 파일 업로드 하단에 파일이 업로드 된 경로를 확인한다. ../../ 두 번의 상위..
Kali Linux - DVWA실습 (File Inclusion) File Inclusion? 파일 인클루전은 PHP로 구현된 웹 서버의 취약점을 공격하는 기법으로 PHP의 include 기능을 악용하는 방식이다. PHP는 incude의 파라미터로 넘어온 PHP파일을 현재 웹 페이지에 삽입할 수 있다. 공격자는 악의적인 PHP파일을 생성하여 공격대상 웹 페이지에 include의 파라미터로 넘겨 공격을 수행하거나 현재 시스템의 로컬 파일에 접근한다. File Inclusion 공격 종류 Local File Inclusion (LFI) 이미 같은 시스템 내에 존재하는 파일을 include시키는 방식이다. Remote FIle Inclusion (RFI) 외부에 있는 파일을 원격으로 include시키는 방식이다. DVWA를 이용한 File Inclusion 공격 (Low L..
Kali Linux - DVWA실습 (Command Injection) Command Injection (CI) ? CI는 입력 값의 취약점을 이용하여 임의 OS명령어를 수행시키는 공격 기법이다. 라눅스의 경우 대표적인 CI기법으로 입력 값의 뒤에 ;(세미콜론)과 함께 OS명령어를 삽입하는 방식이 있다. 리눅스는 ;로 구분되는 경우 ;를 기준으로 명령어를 순차적으로 수행한다. DVWA를 이용한 Command Injection 공격 ** 공격 대상 웹 애플리케이션 ** IP를 입력받아 해당 IP로 Ping명령어를 수행하는 간단한 웹 애플리케이션이다. (ping 127.0.0.1 -c 4) c : ping요청 횟수 공격 대상 웹 애플리케이션 소스코드 공격1 입력 값으로 IP(127.0.0.1)뒤에 ; ls -al를 수행 Ping 128.0.0.1 -c 4 와 ls -al 명령어..
Kali Linux - DVWA실습 (Brute Force) DVWA?? Damn Vulnerable Web App 취약한 웹 애플리케이션 상에서 모의해킹을 학습하기 위해 제공되는 툴이다. DVWA를 이용한 Brute Force공격 및 대응방안 Password를 알아내기 위한 Brute Force공격 1. 임의 PW를 입력 2. 잘못된 PW입력 후 BurpSuit를 통해 Request를 확인 (BurpSuit-Proxy-HTTP History) 3. 해당 Request를 Intruder로 전송 (해당 Request 오른쪽 클릭-Send to Intruder) 4. Intruder에서 값을 바꾸며 공격을 시도할 변수를 설정 (Intruder - Positions) 4-1 Clear로 설정 초기화 (초기에 요청 값이 들어오는 모든 곳이 변수처리 되어 있음) 4-2 값..