티스토리 뷰
[Web] 웹 파싱, Java를 이용하여 특정한 웹 사이트에 접속하여 반환된 HTML 문서를 자유자재로 파싱하는 방법에 대해서 알아보자.
꿈을 위해 잠을 잊은 그대에게 2018. 8. 12. 02:211. 웹 해킹
1.1 정의
웹 해킹(영어: web hacking)은 웹 사이트의 취약점을 공격하는 기술적 위협으로, 웹 페이지를 통하여 권한이 없는 시스템에 접근하거나 데이터 유출 및 파괴와 같은 행위를 말한다.
1.2 위험성
1. 최근 발생하는 모든 Hacking 중 75% 이상이 Web Application의 취약성을 악용한 공격이다.
2. Web Application 계층의 공격은 방화벽, 침입탐지시스템, 침입차단시스템 등으로 방어할 수 없다.
3. e-business를 위해서 80포트는 오픈 될 수 밖에 없다.
4. Web Application 계층의 악의적인 공격은 24시간 365일 운영되어야 하는 Web Service를 중단시킬 수 있다.
1.3 공격법
XSS
- XSS(Cross-Site Scripting)는 게시물에 악성코드를 포함하는 스크립트를 심어놓고 게시물을 읽는 사용자PC에서 개인정보를 추출하는 해킹기법.
CSRF
- CSRF(Cross Site Requset Forgrry)는 게시판에 악성코드를 삽입하고, 사용자가 해당게시물을 읽었을때 공격이 수행된다는점 XSS와 유사함.
차이점은 XSS는 사용자PC에서 개인정보를 유출 하지만, CSRF는 사용자 PC를 통해 웹서버를 공격한다는 점.
피싱
- 피싱(Phishing)은 은행이나 증권사이트와 비슷한 웹사이트를 만들어 놓고, 사용자의 금용정보나 개인정보를 탈취하는 기법.
파밍
- 파밍(Pharming)은 DNS를 해킹해서 정상적인 도메인 이름을 호출해도 위장사이트가 전송되게 하는 해킹기술.
SQL인젝션
- SQL인젝션(Injection)은 HTML input태그를 이용한다.
2. 웹 해킹의 기초
2.1 개요
- 컴퓨터 시스템은 본질적으로 해킹에 취약하다. 컴퓨터가 처음 만들어 졌을 때는 보안보다는 기능성에 초점을 두었다. 단일 시스템으로 몇 십년동안 운영되었다가 인터넷이 발달하면서 시스템이 사용자 다수에게 노출 되었다. 이 때 부터 해커가 시스템을 인지하고 공격하기 시작한 것.
- 그러므로 컴퓨터는 우리에게 제공하는 다양한 기능, 편의성을 제공 하지만 해커에게는 공격을 위한 수단을 제공.
- 웹은 기본적으로 인터넷 브라우저, 웹 서버, 데이터베이스 3개의 요소로 구성.
- 각 요소별로 역할이 명확히 분리.
- 인터넷 브라우저는 사용자의 입력을 처리하고 웹서버로 부터 받은 데이터를 가공해 화면을 구성,
- 웹서버는 HTTP요청을 분석해 정해진 기능을 수행.
- 데이터베이스는 데이터를 안전하게 관리하면서 자료입력과 조회 기능을 지원.
- 해커는 웹이 지원하는 기능을 악용.
3. 실습
3.1 특정 웹 사이트 파싱
파싱을 시도할 url을 입력
temp.contains("rel")
태그의 rel 속성을 가진 소스코드를 출력
Chrome의 소스보기(Ctrl + U)
전체를 파싱해서 출력할 수도 있다.
소스보기(Ctrl + U)를 통하여
태그의 원하는 class 값만을 contains 메소드로 비교하여
깔끔하게 출력할 수 있다.
'Hacking' 카테고리의 다른 글
[Web] CSRF(Cross Site Request Forgery) 공격 기법 (8) | 2018.08.12 |
---|---|
[Web] XSS(Cross Site Scripting) 공격의 개요와 실습 (0) | 2018.08.12 |
[Web] 세션 하이재킹, 세션을 이용한 개인정보 해킹과 세션 보안의 중요성 (2) | 2018.08.12 |
[Web] 스니핑, 패킷 분석을 통해 GET 방식과 POST 방식을 구분하기 (0) | 2018.08.12 |
- Total
- Today
- Yesterday