본문 바로가기

포트폴리오/웹 해킹 공부

웹해킹의 정의와 SQL 인젝션, XSS 공격기법에 대하여.

728x90
반응형
SMALL

웹 해킹에 대하여

웹 해킹이란?


웹 해킹(Web hacking)은 웹 사이트의 취약점을 공격하는 기술적 위협으로,

웹 페이지를 통하여 권한이 없는 시스템에 접근하거나 데이터 유출 및 파괴와 같은 행위를 말한다.

유형으로는 웹 엔진 취약점을 이용한 해킹과 웹 애플리케이션의 취약점을 이용한 해킹, 각종 웹 서버 및 미들 웨어 기본 제공 샘플 파일을 이용한 해킹 등이 있다.

[출처: http://ko.wikipedia.org/wiki/%EC%9B%B9_%ED%95%B4%ED%82%B9]

 

웹해킹 공격 기법들

 

01. SQL INJECTION : 로그인 폼 및 변수 값에 SQL 쿼리를 삽입하여 로그인 우회 DB를 변조하는 공격

 

02. XSS : 게시판 및 URL 파라미터에 스크립트를 삽입하여 해당 글 혹은 링크를 클릭하는 사용자의 정보를 취득하는 공격

 

03 파일 업로드 :  ASP, PHP, JSP 와 같은 파일을 업로드하여 시스템 권한을 획득하는 공격

 

04. 파일 다운로드 : 파일 다운로드 처리 파라미터를 조작하여 시스템 파일에 접근하려는 공격

 

05. 디렉토리 인덱싱 : 특정 디렉토리로 요청할때 파일 목록이 보이는 공격

 

06. 관리자 페이지 노출 : ADMIN MASTER 등의 관리자 페이지 노출과 디렉토리에 대한 추가 취약점으로 인한 권한 획득 공격

 

07. 쿠키변조 : 쿠키내 권한관련 변조 및 도용하는 공격

 

08. URL 파라메터 변조 : 파라미터 변조를 통해 정상적인 절차(관리자 글 작성제한 등)를 우회하는 공격

 

09. 사용자 측 스크립트 변조 : 자바스크립트 및 히든필드변조를 통해 인증 권한을 도용하는 행위

 

10. 에러페이지 노출 : 시스템 에러를 통해 시스템 정보를 획득하는 공격

 

11. 중요정보 노출 : 페이지 및 파일 내에 중요 정보(주민번호 및 계좌번호, 가드번호 등)가 포함되는 경우

 

12. 백업파일 노출 : 백업파일 노출로 인해 시스템 로직을 파악하는 공격

 

13. 기본설치페이지 노출 : 웹서버 기본페이지 등의 노출

 

14. HTTP Method 정보노출 : PUT , DELETE 메소드를 악용하여 파일 생성이나 삭제 등의 공격

[출처] 웹해킹 공격유형1|작성자 김종환

SQL 인젝션중...

SQL 인젝션이란?


SQL Injection 이란 Web hacking 기법 중 하나이다.
웹 애플리케이션의 백엔드에 있는 Database에 질의(쿼리를 보냄)하는 과정 사이에 일반적인 값 외에 악의적인 의도로 악성 구문을 삽입하여 공격자가 강제로 원하는 SQL 쿼리 문을 실행시키는 기법이다. 이때 Database나 시스템에 영향을 준다. 주로 사용자가 입력한 데이터를 필터링, 이스케이핑 하지 못했을 경우에 발생한다. 하지만 근래 모든 데이터베이스 엔진은 유저 입력으로 의도치 않은 동작을 하는 것을 방지하기 위해 escape 함수, prepared statement를 제공한다. 


XSS 공격문

XSS 공격 기법이란?


XSS취약점"은 SQL-Injection 취약점과 함께 웹해킹 대표 공격 기법이라고 할 수 있다.

"크로스 사이트 스크립팅" 이라 불리는 XSS취약점은 보안에 대한 지식이 부족한 웹 프로그래머에 의해 개발된 웹 어플리케이션에서 발견되는 어플리케이션(HTTP) 취약점이다.

대표적 XSS 공격 기법에 대해 알아보자.

<Reflected XSS>

https://xss-game.appspot.com/level1

 

XSS game: Level 1

 

xss-game.appspot.com

여기 나오는 레벨 1이 Reflected XSS 이다.

스크립트를 검색창에 삽입하자
스크립트 실행에 성공하였다!
결과창은 정상 작동 한다.(스크립트는 실행되었음)

공격자는 이러한 취약점이 존재하는 페이지를 미리 탐색한 후, XSS 공격을 위한 스크립트가 포함 된 URL을 공격 대상자에게 노출시키는 방법으로 공격을 수행할 수 있다.        

어택 백터:

1.공격자가 XSS 공격에 취약한 웹 사이트를 찾고, XSS 공격 스크립트를 포함 한 URL을 사용자에 노출시킨다.

2.사용자가 해당 URL을 클릭 할 경우, 취약한 웹 사이트의 서버에 스크립트가 포함 된 URL을 통해 Request를 전송하고, 웹 서버에서는 해당 스크립트를 포함한 Response를 사용자에게 전송하게 된다.


여기까지가 준비한 내용이다. 정보보안 글은 더 쓸 예정이다.

Reflected XSS 실습 캡쳐는 https://xss-game.appspot.com/level1 이 사이트에서 진행하였음을 밝힌다.

이미지들은 구글에서 상업/비상업 용으로 재사용이 가능하다는, COPYRIGHT를 안 밝혀도 되는 사진을 이용하였다.   

반응형
LIST