웹 해킹에 대한 틀은 알고 있지만 내용이 정리되지 않아서 세부 개념을 정리하고자 해당 게시물을 작성하였다.
1. 웹 해킹이란?
1) 개념
웹 어플리케이션 해킹 이라고도 부르고 웹 서비스 상에서 발생될 수 있는 모든 보안 허점(Security Hole)을 이용해 악의적인 행위를 하는것이다.
웹 서비스를 대상으로 공격을 주로하지만 프레임워크(Spring), 웹 어플리케이션 서버 대상으로 공격을 수행할수도 있다.
웹 어플리케이션: PHP, JSP, ASP언어로 작성된 프로그램이고 웹브라우저로 실행할 수 있다.
2) 웹 해킹이 증가하게된 이유
방화벽이 도입되면서 웹 해킹이 더욱 주목을 받게 되었다.
방화벽은 IP, Port기반으로 차단을 수행하고, 흐름을 Inbound, Outbound로 설정하는 보안장비이다.
방화벽 내부에 웹서버만 존재할 경우 Inbound 정책에 HTTP, HTTPS만 허용하고 그외의 포트는 차단하게된다.
Attacker들은 방화벽에서 허용되어있는 웹을 통해 취약점을 찾게된다.
3) 웹 해킹의 보편적인 공격 절차
절차는 절차일 뿐 절차에 얽매이지 말고 웹 해킹은 정보수집의 싸움이기 때문에 정보수집은 주기적으로 이루어져야 한다.
공격 대상 지정 → 정보 수집 → 취약점 분석 → 공격 → 결과 도출
2.웹 해킹의 종류
1) SQL Injection
사용자 입력값에 SQL구문을 입력하여서 Application에서 DB로 비정상적인 질의를 하게된다.
대표적으로 정보 조회 및 인증우회를 수행한다.
2) Command Injection
사용자 입력값에 시스템 명령 구문을 이용하여 자신이 의도한 시스템 명령을 삽입하는 공격이다.
관리자페이지를 이용하여 공격하는 경우가 많다.(Apache, Wordpress, FCKeditor Page)
3) XPath Injection
XPath는 XML의 요소나 속성을 표현한는 값이다.
Xpath구문을 삽입하여 XML구조에 대한 값을 탈취하는 공격이다.
4) XML External Entity (XXE)
XML 외부 개체를 참조할 경우 XML이아닌 다른 파일을 불러들이는 공격이다.(/etc/passwd)
5) Cross Site Script (XSS)
공격자가 게시판에 악의적인 스크립트가 담긴 게시글을 삽입하고 희생자가 해당 게시글을 클릭할 경우 해당 스크립트가 실행되어 공격하는 기법이다.세션 하이제킹, 피싱, 웹브라우저 취약점을 이용해 난독화를 통해 Dririve by download(DBD) 공격을 수행할 수 있다.
6) Cross Site Request Forgery (CSRF)
공격자가 게시판에 악의적인 스크립트가 담긴 게시글을 삽입하고 해당 게시글을 클릭할 경우 사용자의 인증권한을 이용하여 의도하지 않은 요청이 서버에 전송되는 공격기법이다.
스크립트에 의해 사용자의 패스워드를 변경할 수 있다.
7) 파일 업로드 취약점(File Upload Vernerability)
파일을 업로드하는 영역에 일반 파일이 아닌 악성 파일(웹쉘)을 업로드한다.
웹쉘을 통해 시스템 명령 제어 권한을 탈취할 수 있다.
8) 파일 다운로드 취약점(File Download Vernerability)
지정된 경로가아닌 경로의 파일을 다운로드하는 공격이다.(/etc/passwd)
파일 다운로드 취약점을 이용하여 파일 업로드 취약점을 이용하는 경우가 많다.
9) 파라미터 변조 취약점(Parameter Manipulation Vurnerability)
mypage등 정보보호 페이지가 파라미터를 통해 정보가 전달된다면 다른값을 임의로 입력하여 다른 사용자의 정보를 열람한다.
간단한 공격이지만 개발자가 놓치기 쉬운 부분이다.
10) 웹페이지 접근 제어 부재
관리자 페이지에 일반 사용자가 접근하는 공격이다.
11) 페이지 내 중요 정보 노출
페이지내에 개인정보나 패스워드가 담긴 정보를 탈취하는 공격이다.
- 그이외에도 WAS 취약점, 프레임워크 취약점(RCE 공격) 등이 있다.
웹 공격을 통해 시스템 명령어 실행, 서버 내 정보 탈취, 기업 중요 정보 탈취, 고객 개인정보 탈취 및 인증우회를 수행한다.
3. 웹해킹을 통한 피해 영역
웹 해킹을 이용해 웹 서버를 공격할 수 있지만 웹 서버를 경유 서버로 이용하여 다른 서버를 공격할 수 있다.
4. 웹해킹을 대응 방법
보안 솔루션 도입, 개발자 보안 교육, 정기적 취약점 진단, 보안 인력 확보, 임원 대상 보안의식 제공 등이있다.
5. 웹 프록시
웹브라우저를 믿지 말고 오직 웹 프록시의 요청에 의한 응답만 믿어라.
(웹브라우저를 많이 보면 공격 흐름을 놓칠 수 있다.)
1) 프록시 란?
서버와 클라이언트 사이의 중개 역할으로 클라이언트, 서버의 요청과 응답을 전달해주는 역할을 수행한다.
클라이언트 내부 또는 외부에 존재할 수 있고 웹해킹을 진행할 때 주로 웹브라우저에 웹 프록시를 통해 주고받는다.
2) 웹 프록시 도구의 종류
버프 스위트(Burp Suite), 파로스, 피들러, ZAP 등을 사용한다.
가장 많이 쓰이는 웹 프록시 도구는 버프 스위트이다.
[참조]
웹 해킹과 모의해킹 현업에 대한 이야기: https://www.inflearn.com/course/web-hacking-%EB%AA%A8%EC%9D%98-%ED%95%B4%ED%82%B9
'Hacking & Security > Hacking & Security Theory' 카테고리의 다른 글
세션 하이제킹(Session Hijacking)이란? (2) | 2020.08.15 |
---|---|
보안 공격 패러다임의 전환 및 공격 동향 분석 (0) | 2020.07.23 |
[Theory]봇넷(BotNet) 이란? (0) | 2020.06.15 |
웹 공격 분석 (1) | 2020.04.09 |
보안관제 관련 이론 정리 (2) | 2020.03.11 |
공부&일상 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요! 질문은 언제나 환영입니다😊