[SUA] 1. 웹/어플리케이션 서비스의 구성 이해

2020. 4. 24. 00:42정보보안/웹 어플리케이션 해킹

728x90

※ 웹해킹 : 모의해킹 시 가장 먼저 마주하게 되는 최전선의 단계

-> 웹 모의해킹/ 웹취약점 진단/ 웹 컨설팅 으로 이어 질 수 있다.

 

1. 웹(WEB)

- 웹/애플리케이션 ------- 웹 브라우져 (eg. 크롬/파이어폭스/웨일) : HTML, CSS, JS
                 +------ 웹 프로토콜 : HTTP(80), HTTPS(443)
                 +------ 웹 서버(웹 엔진) : Apache , IIS
                 +------ 웹 어플리케이션 : ASP, JSP, PHP - (Server-side Script)
                 +------ DB 서버 : SQL
                 └------ 파일서버

 

 

<웹/어플리케이션 서비스의 구조>

 

웹/어플리케이션 해킹을 위해서는 먼저 웹 서비스의 구조에 대해 이해해야 한다.

1. 공격 대상이 무엇이고, 

2. 이를 위해 필요한 지식은 무엇인지

알기 위해서이다.

 

일반적으로 우리는 사용자(클라이언트)로서 웹서비스에 접근을 하게 된다.

웹서비스에 접근할 때는 URI」를 사용해 웹페이지에 접근하게 된다.

여기서 가장 첫번째인 URI와 메타문자에 대한 접근이 가능하다.

  • 구글 검색 해킹
  • 디렉토리 리스팅
  • 파일 다운로드 취약점 - DB 접속
  • (추후 업데이트 TBD)
※ 파라미터가 있으면 URI, 없으면 URL이라고 부른다

 

< 웹 프록시 BuripSuite를 활용하여 URI 조작 시, 웹 프록시 구성도>

 

 

 

이렇게 웹페이지를 클릭하게 되면 「HTTP」 라는 프로토콜을 타고 「웹서버」에  html, css, js file을 요청하게 된다.

이 파일들은 「Client-Side 언어」라고 하며 「Front-end」 라고도 한다. 둘은 같은 의미를 지닌다.

이들은 Client 언어를 해석하는 브라우저 내부의 엔진에 의해 화면에 뿌려진다.

 

<Client가 만날 수 있는 것들>

 

바로 이 HTML, CSS, JS 를 1차적으로 제일 먼저 만나게 되며 해커가 주목해야 될 것은 HTML과 JS에 있다.

  • HTML : Front-end 개발자가 작성한 HTML 소스 코드 중 주석 처리 된 부분을 노려 정보를 획득
  • JavaScript : 동적으로 실행되며, 로그인시 폼(form) 작성 및 Submit(제출버튼) 등 서버에 정보를 전달 할 수 있음

 

이를 위해서 아래와 같은 도구를 사용한다.

  • 웹 브라우져(eg. 크롬) 의 F12 버튼을 눌러 개발자도구를 사용
  • HTML : F12 > Elements 창을 사용 ( ※ 수정 : iframe tag 등 추후 기술 필요)

또한, php와 이미지들도 HTTP 요청시 client에게 같이 넘어온다. php가 서버측 언어라고 client에게 전송되지 않을거란 생각은 하지 않도록 한다. 그 이유는 php 코드 안에 html소스, java script 소스가 포함될 수 도 있기 때문이다.

 

이곳에서 발생 가능한 공격으로는 아래와 같은 것이 있다.

  • XSS (Cross Site Script) : 타 이용자의 인증정보/쿠키를 탈취
  • Drive by Download : HTML iframe Tag 사용, 다른 서버에 연결시켜서 다운받게 함

 

 

 

다음으로는 웹서버에 도착하게 된다.

  • 서버 에러페이지
  • 디렉토리 리스팅

 

 

 

 

2. 웹 취약점 점검 진단 리스트

 

 

3. 웹 해킹 도구

  • 웹 브라우저 개발자 도구 :  HTML, CSS, Java Script
  • Burp Suite : Proxy(HTTP Web Protocol)
  • Fiddler : 웹 디버거
  • OWASP ZAP : 웹 프록시 디버거
  • Charles : 웹 프록시 디버거
  • Nmap : Port Scan
  • SQLmap : sql-injection
  • John the Ripper : password crack
  • Cooxie Toolbar : IE 전용

 

4. 

웹 모의해킹 진단 : 시나리오 기반 진단, 블랙박스 진단 , Red-Blue 팀

모의해킹 : 깊이, 정보를 뽑아냈는지.

취약점 진단 : 넓게, 취약점의 개수