[목차]
1. 웹 해킹이란 무엇인가?
2. 웹 해킹 공격 종류와 영향력
3. 웹 해킹 필수 도구 / 웹 프록시
4. 웹 해킹 관련 업무
5. 모의해킹 진단의 현실
6. 웹 해킹 공부 방향
[출처] 인프런 크리핵 티브님 동영상 강의
https://www.inflearn.com/course/web-hacking-%EB%AA%A8%EC%9D%98-%ED%95%B4%ED%82%B9#
[웹 해킹이란 무엇인가]
웹 어플리케이션 :
웹 프로그램 언어인 PHP / JSP / ASP / ASPX로 작성된 프로그램으로
웹 브라우저를 통해 실행.
웹의 취약점 및 보안 허점(Security Hole)을 이용해
허가되지 않은 악의적인 행위를 하는 것.
ex) DB에서 정보를 탈취하는 SQL Injection
ex) 서버 내 중요 파일 다운로드 취약점
웹 해킹은 단순히 웹 서비스뿐 아니라 서비스를 형성하는 프레임워크,
나아가 웹 어플리케이션 서버에 대해 공격을 수행하게 된다.
웹 해킹이 주목받기 시작한 시점은 방화벽이 도입된 시점부터.
방화벽은 IP와 Port, Protocol을 기반으로 패킷 필터링을 하게 되는데
방화벽이 들어서면서부터 대외 서비스가 필요 없는 포트에 대한
차단이 시작되었고 (ex. telnet / ssh / ftp / sftp / DB 관련 포트 등)
그러다 보니 자연스레
'외부에서 접근 가능한 유일한 통로인 웹 서비스'를 이용하는
공격이 늘어나게 된 것.
웹 해킹의 일반적인 공격 절차 :
공격 대상 지정 > 정보 수집 > 취약점 분석 > 공격 > 결과 도출
가장 중요하고 위 절차보다 중요한 것은 정보 수집
[웹 해킹 공격의 종류]
1. SQL Injection (웹 해킹의 꽃)
App에서 DB로 질의를 하게 되는데
개발자가 의도한 정상적인 SQL 구문을 질의하는 것이 아닌
공격자가 제작한 SQL 구문을 삽입함으로써
공격자가 의도한 비정상적인 SQL 구문을 질의하는 것.
악의적 사용 예 :
인증 우회 (로그인)
DB 내 중요 정보 조회 및 탈취
시스템 명령 실행
2. Command Injection (파일 업로드)
시스템 명령어 실행.
사용자 입력값을 통해 시스템 명령을 실행하는 기능에 대해서
공격자가 자신이 의도한 시스템 명령어를 삽입하는 공격 기법.
해당 공격을 성공시키는 조건이 까다로운데
사용자 입력값을 통해 서버 사이드에서 시스템어를 수행하는 기능이
구현되어 있어야 한다.
해당 기능/취약점은
관리자 페이지에 있을 가능성이 높다.
3. XPATH Injection
구조화되어 있는 XML의 요소들의 값이나 속성들의 값을 탐색하는 경로를
표현한 것이 XPATH라고 하는데(xpath 쿼리) sql injection과 비슷하게
공격자가 자신이 만든 xpath 구문을 삽입해 XML 구조에 대한 값이나 문서를 탈취하는 공격
4. XXE Injection (XML / External / Entities)
공격자가 XML Requests의 DTD 선언을 통해
XML 문서에서 외부 문서(External Entity)를 참조하는 기능을 악용,
공격자가 의도하는 다른 파일이나 다른 URL을 외부로부터
호출, 실행시켜 공격자가 원하는 공격을 수행한다.
악의적 사용 예 :
/etc/passwd 등 서버의 로컬 파일 출력
서비스 거부 공격
참고 : https://wave1994.tistory.com/2
5. XSS (Cross-Site-Scripting)
웹 사이트 취약점 공격의 하나로
게시판이나 웹 메일 등에 공격자가 악의적 스크립트를 삽입,
일반 사용자가 해당 스크립트의 게시글을 읽게 함으로서
공격자가 원하는 피싱 작업을 할 수 있게 한다.
악의적 사용 예:
a. 다른 사이트로 redirection을 의도해 session hijacking을 한다.
b. 해당 사용자의 브라우저 취약점을 이용해 사용자 동의 없이
악성코드를 강제적으로 받게 한 후 실행시키는 drive-by-download 공격
(https://ghostshell.tistory.com/192)
대부분의 웹 해킹 공격 목적과는 다르게 클라이언트를 대상으로 한 공격.
6. CSRF (Cross-Site Request Forgery)
XSS와 비슷한 방식의 사이트 간 요청 위조/변조 공격.
사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를
특정 웹사이트에 요청하게 하는 공격을 말함.
악의적 사용 예:
유명 경매 사이트인 옥션에서 발생한
개인 정보 유출 사건에서 사용된 공격 방식
7. 파일 업로드 취약점
웹 쉘을 올려 해당 서버의 권한을 탈취.
시스템 명령어를 실행하는 Command Injection과 비슷.
8. 파일 다운로드 취약점
해당 서버의 지정된 경로의 정해진 파일을 받지 못하도록
경로를 조작해 지정된 경로 외에 있는 공격자가 의도한 파일을 받도록 조작.
파일 다운로드 취약점을 통해 파일 업로드 취약점을 찾는 경우가
대단히 많다! 이 취약점이 없다면 업로드 취약점이 발생하지 않는 경우도 많다.
9. 파라미터 변조 취약점
해킹스럽지 않은 쉽고 간단한 공격.
사용자 입력값(파라미터)을 통해 결과, 응답을 처리하는 페이지들이
session이 아닌 parameter를 통해 정보를 조회하는 페이지의
취약점을 사용해 값을 변조해 다른 사용자의 정보를 열람.
10. 웹 페이지 접근 제어 부재
11. 페이지 내 중요 정보 노출
12. WAS / 프레임 워크 취약점
Tomcat / Weblogic / WebSphere / zeus 등의
취약점을 이용한 공격.
ex) RCE 원격 시스템 명령어
13. 웹 해킹의 피해 영역
웹 서버는 경유 서버일 뿐, 이를 통해 내부에 침투,
중요 민감 정보를 탈취해 금전적 이득을 취한다.
* 요즘은 서버 보안이 많이 강화되어
사용자 공격 쪽으로 방향이 틀어졌다고 한다. (XSS)
14. 견고한 웹 사이트 보안을 구축하려면
보안 솔루션 도입 > 개발자 보안 교육 >
정기적 취약점 진단 실시 > 보안 인력 확보 >
임원 대상 보안 의식 제고
가 필요.
[웹 해킹 필수 도구 / 웹 프록시]
1. 프록시 서버 사용 목적 구성도
프록시 서버 = 중개 역할 서버
웹 브라우저로는 확실한 분석이 가능하지 않기 때문에
취약점, 공격포인트를 놓치는 경우가 많다.
웹 브라우저보다 웹 프록시를 보는 시간이 많으면
제대로 된 분석을 하고 있을 확률이 높다.
'오직 웹 프록시의 요청에 의한 응답만을 믿어라.'
2. 웹 프록시 도구의 종류
* Burp Suite : 가장 많이 사용되는 웹 프록시로 다양한 확장 기능 사용 가능.
웹 사이트 보안 테스팅을 목적으로 개발됨. (JAVA 기반)
* Paros
* Fiddler
* ZAP : OWASP 프로젝트에서 제공되는 웹 프록시
[웹 해킹 관련 업무]
보안 관제 모의해킹 버그 헌팅(리버싱/시스템)
보안 컨설팅 침해 사고 대응 보안담당자
1. 진단 종류
* 웹 모의해킹 진단 : 시나리오 기반 / 블랙박스(제공 정보 없음) 진단
* 웹 취약점 진단 : 체크리스트 방식으로 진행. 진단 깊이가 없는 취약점 유무 판별 수준
* 소스코드 진단
* 모바일 앱 진단
* APT 모의훈련
* C/S 진단
* IOT 진단
2. 모의해킹 vs 웹 취약점 진단 업무 차이 (중요)
모의해킹은 발견된 취약점으로 어떤 추가 피해가
발생할 수 있는지 깊이 있게 들어감. (깊이)
시간이 오래 걸림.
취약점 진단은 전수 진단. (넓이)
내부 침투 등의 심화 공격은 하지 않음.
체크리스트 기반으로 각 기능별 취약 여부를 빠르게 판별할 때 사용.
[모의해킹 진단의 현실]
모의해킹 업무인데 취약점 유무만 판별하는 일이 많다고 한다.
두 업무의 차이를 인지하고 확실히 실력을 쌓고 성장하기 위해서
어떻게 공부를 해나가야 할지 고민해야 한다.
[웹 해킹 공부 방향]
'WEB 진단 > WEB 진단' 카테고리의 다른 글
웹 모의해킹 실습 서버 [DVWA] 소개 및 설치 방법 (0) | 2021.02.10 |
---|---|
웹 모의해킹 실습 서버 [DVWA] 소개 및 설치 방법 (0) | 2021.02.10 |
웹 모의해킹 실습 서버 [OWASP Juice Shop] 소개 및 설치 방법 (0) | 2021.02.03 |
웹 모의해킹 실습 서버 [XVWA] 소개 및 설치 방법 (0) | 2021.02.01 |
웹 모의해킹 실습 서버 [Webgoat] 소개 및 설치 방법 (0) | 2021.02.01 |