Skip Navigation

XE 레이아웃 카메론 XE LAYOUT CAMERON XE1.9.0


HACKING

기본문서
2015.07.21 05:50

웹 해킹 기본

최종 접속일 : 17-12-11 가입일 : 12-07-19
레벨 : 만렙!! P : 17,904,821
(*.185.23.170) 조회 수 135 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
Extra Form
원문주소 http://muscle-fairy.tistory.com/161

Hacking은 대략 세가지 정도로 나눌 수 있다.

시스템 해킹

네트워크 해킹

웹 해킹 =-> 웹 애플리케이션을 통해서 발생되는 해킹

 

웹 해킹을 성공하게 되면 해커들은 대부분 메인페이지를 Deface 하곤 한다.

Defaced

=-> 과시

 

그러나 Deface의 경우 해킹당했다는 것을 바로 알 수 있지만 해킹당했는지 모르는것은 더 큰일이다.

 

Mass SQL Injection

intext "<script src=" site kr

=-> 이런게 검색되는 이유는 관리자들이 잘 모르기 때문.

 

세계 웹해킹 실시간 현황 =-> www.zone-h.com(Archive * 있는 곳 보기)

 

Web Application은 해커들의 공격으로부터 무방비 상태이다.

-최근 들어 발생하는 모든 Hacking 중 75% 이사이 Web Application의 취약성을 악용한 공격이다

-Web Application 계층의 공격은, 방화벽, 침입탐지 시스템, 침입차단시스템 등으로 방어할 수 없다.

-e-business를 위해서 80포트는 오픈 될 수 밖에 없다.

-Web Application 계층의 악의적인 공격은 24/365 운영되어야 하는 Web Service를 중단시킬 수 있다.

 

Why?

-대부분의 정보시스템을 Web으로 구축 : Busniess 중심축

-Web Program 지식의 일반화 : 많은 교육 기관 및 풍부한 예제

-Web Hacking 기술의 보편화 : 손쉬운 Hacking 도구 및 관련 자료

-정보시스템 개발 시 보안 고려사항 미 반영

-운영 노하우 부족 - WAS(Web Application Service) 설정 미흡

-시스템 기능구현을 증시한 개발 : 촉박한 개발 일정

 

WEB BASIC Knowledge

Web Broswer의 정의 : 사용자가 만든 Request 메시지를 작성해서 웹 서버로 보내고, 웹 서버에서 Response을 받아서                                사용자에게 뿌려줌

WWW : 인터넷에서 이루어지는 서비스 중 하나. 정보공유의 목적으로 개발

HTTP : 웹 서버와 웹 브라우저간의 문서교환을 하기 위한 통신규약

Web Application : PHP, ASP 등 브라우저 들을 통해 접근할 수 있는 응용프로그램

 

 

URL 메타 문제

 

http://search.naver.com/search.naver?where=nexearch&query=%EC%9B%B9+%ED%95%B4%ED%82%B9&sm=top_hty&fbm=2&ie=utf8

 

? Parameter를 넘겨줄 때 사용

& Parameter 구분자

= Parameter 전달자

% Hex 값으로 표현

+ 공백 문자

% 16진수 HEX값 표현

 

 

웹 구조

client =-> transport =-> web server =-> app =-> connector =-> DB

IE                                  Apache         PHP         ADO           MY-SQL

Opera                               IIS              JSP        ODBC          MS-SQL

Mozilla                                              ASP                           ORACLE

Netscape

 

inurl dbconn.inc site kr

=->잘못 코딩할 경우 db아이디와 db패스워드가 노출됨

 

HTTP MESSAGE

Client

 

Request

-요청 라인    

-요청 헤더    

-공백 라인

-메시지 본문

 

요청 라인

Get /view.html HTTP/1.0

 

요청 헤더

User-Agent: Mozila/4.0 (compatible; MSIE 6.0; Windows NT5.0(중요)

Accept: text/html; */* =->별로 안중요

Cookie: name = value

Referer : http://www.naver.com/index.html(여기는 잘 이용하는 곳이 네이버, 어디를 통해서 왔는가를 확인할 때 Referer)

Host : www.naver.com

 

METHOD

 

GET : 요청라인을 통해서 자원 요청

POST : 메시지 본문을 통해서 자원 요청

HEAD : HTTP Header 정보만 수신

TRACE : Request의 loopback 테스트

PUT(중요) : URL에 자원을 생성(파일 업로드)

DELETE(중요) : url의 자원을 삭제(index 페이지 지움)

OPTIONS : 응답 가능한 HTTP 메소드를 요청(어떤 옵션을 사용하는지, PUT과 DELETE가 있네? 스크립트 언어 사용해                 서 OPTIONS 돌려서 PUT, DELETE를 찾음)

CONNECT : 터널링의 목적으로 연결 요청

 

통신규약에는 GET방식도 무제한으로 보내도록 하고 있음 IE 얼마전에 2047글자 까지 받음

post는 무제한으로 받는데 그럴 경우 DDoS가능 일반적으로 90초 까지만 받음

 

구글 엑셀러레이터 사건

GET 방식이어서 번호로 하다보니, 삭제인지 수정인지 모름(들어가 본 곳마다 삭제됨)

 

HTTP VERSION(버전 별 지원 METHOD)

HTTP/0.9             HTTP/1.0                                   HTTP/1.1

GET                GET, POST, HEAD    GET, POST, HEAD, OPTIONS, PUT, DELETE, TRACE, CONNECT

 

 

HTTP는 TCP 통신을 하지만 연결 지향적인 성격을 버렸다.(로그인 했을 때 연결을 하고 끊어버림(HTTP 특징))

1.0 시절 이미지 20개가 전부 위치가 다른 곳이면 20번 이상 연결 해야 함

 

이것을 해결하기 위해서 CONNECTION이 나옴

KEEP ALIVE,                 CLOSE

아직 받을게 남았다,     다 받았다

 

HTTP MESSAGE

Server

 

Response

-상태라인

-응답헤더

-공백라인

-메시지 본문

 

상태라인

http/1.0 200 OK

 

응답헤더

Date : Mon, 10 Feb 1997 23:46:22 GMT

Server: Apache/1.1.1 HotWired/1.0

Content-type:text/html

Last-Modified:Tues, 11 Feb 2--- 22:45:55 GMT

 

Server에서 오는 정보는 취약점이 될 수 있다

Apache/1.1.1 exploit 이런식으로

 

HTTP 상태코드

-200 OK

-201 create(PUT)- 파일 올려보고 201 뜨면 파일 올라간다는거 확인

-301 Moved permanently

-302 Found

-400 Bad Request

-403 Forbidden - 디렉토리 리스팅

-404 Not Found

-500 Internal Server Error

 

intitle "index of" site kr

403은 디렉토리가 존재하다는걸 가르쳐주는 격임(웹쉘을 올리고 디렉터리 찾는 것)

HTTP 상태코드 403도 404처럼 보이게 한다

 

HTTP MESSAGE SEND

telnet 사용법

제어판

프로그램 기능

윈도우즈 사용/사용안함

텔넷 클라이언트 체크하고 확인

 

telnet www.naver.com 80

 

GET / HTTP/1.1

HOST:WWW.NAVER.COM[ENTER]

[enter]

 

 

 

proxy

1.사전적 의미 : 대리, 대리인, 중계

2.활용

익명으로 컴퓨터를 유지

캐시를 사용하여 리소스로의 접근을 빠르게 하기 위해

보안 및 통제를 뚫고 나가기 위해

전달에 앞서 악성코드를 목적으로 전달된 콘텐츠를 검사하기 위해

 

쿡시에서 proxy server 설정

add =-> 127.0.0.1 8080port

 

Mission : 전 세계에 존재하는 프록시 서버를 이용하여 IP Block을 우회하시오.

              우클릭 해제, 드래그 방지 해제

 

cafe_common.js 받아서 분석해보기

blockMouseRight()

웹 페이지의 구조를 알게됨

 

WEB Language

SSS(Server Side Script)                                                     CSS(Client Side Script)

ASP                                                                                   javascript

ASP.NET                                                                            VBScript

PHP                                                                                   JScript

JSP

 

Encoding

-내용은 같으나, 데이터의 형태를 바꾸는 방식

-데이터 길이를 줄이는 용도

-암호화로는 사용 불가

(ASCII, URL Encoding, HTML Encoding, Base 64 Encoding, MS Script)

 

UTF-8 읽는 법은 왼쪽보고 위에 있는 곳을 찾으면 됨

ASCII 읽는 법은 위쪽보고 왼쪽에 있는 곳을 찾으면 됨

 

ASCII - 미국 정보교환 표준 코드(American Standard Code for Information Interchange)

-1Byte 중 7Bit를 이용해서 0에서 127까지 128개의 문자를 구성한 코드

-128개의 문자는 영어 알파벳 대문자, 소문자, 보조문자, 제어문자로 구성

-영문 알파벳을 사용하는 대표적인 문자 인코딩 방법

 

URL Encoding / Force Full URL Encoding

-URL에 포함될 문자들이 안전하게 웹 서버에 전달 되도록 특수한 기능을 가진 문자들을 브라우저가 인코딩하여 전달

-URL mete 문자들에 대한 인코딩이 필요하다.

-형식 : 기존 문자열의 HEX 값 앞에 %를 사용(ASCII Table의 출력가능문자)

-한글 : UTF-8 사용

-Force Full URL Encoding : 모든 문자열을 강제로 인코딩

 

HTML Encoding(중요)

APMSetUp 설치

<html>

<head><title></title></head>

<body>

<form action="login.php" methos="post">

아이디 : <input type="text" name="id" value=""><br>

패스워드 : <input type="password" name="pw" value="">

<input type="submit" value="전.송.한.다.">

</form>

</body>

</html>

 

HTML 소스를 볼때는 <form>부터 찾음

 

login.php

<?

$id = $_POST['id'];

#pw = $_post['pw'];

 

echo "$id<br>";

echo $pw;

 

if($id='admin')

{

    echo "<script>alert('당신은 관리자 입니다')</script>";

}

else

{

    echo "<script>alert('당신은 관리자가 아닙니다')</script>";

    echo "<script>history.back.go(-1)</script>";

?>

 

apmsetup에 연습하기

<html>

<title>HTML Encoding Example</title>

<body>

나는 &lt; &#65; &#x42; &#67; 초콜렛&gt;을 좋아합니다.

</body>

</html>

 

공백 =-> &nbsp

  <    =-> &lt;

  >    =-> &gt;

  &    =-> &amp;

  '     =-> &apos;

  "     =-> &quot

왜 HTML 인코딩을 해야 하는가

그냥 문자로 사용할 때를 위해서(브라우저가 태그로 인식할 수 있어서)

XSS를 막기 위해(부수적인 것)

 

BASE64 Encoding

2진 데이터를 아스키 형태의 텍스트로 표현 가능

Web 인증 중 기본인증에 사용

끝 부분에 padding(==)으로 식별 가능.

64개의 문자를 사용.(영문 대,소문자, 숫자, +,/)

데이터를 6bit 단위로 표현

 

ABCD

1.아스키 코드화 합니다.

0x41 0x42 0x43 0x44

2. 2진수화

01000001 0100010 01000011 01000100 =->맨 앞의 0은 디폴트(여기 틀림)

3. 6비트 단위로 분리

010000/010100/001001/000011/010001/00(뒤에 남으면 0을 붙여서 6개를 만든다)

4.이 비트를 base64테이블에 매칭

16 20 9 3 17 0

QUJDRA

5.원래 문자열의 비트수 %3

abcd글자 (32비트) %3 = 2

QUJDRA==

 

MS Script

-Microsoft에서 제공하는 인코딩 기법으로 IE에서만 사용 가능

-IE는 MS Script decoder를 가지고 있음

-<script language="Jscript.Encode">를 명시하여 IE에게 알려주어야함

 

 

Session

-사전적 의미 "시간"

-통신 연결에서 두 개체의 활성화된 접속을 뜻한다.

 

Cookie

-Web cookie, tracking cookie또는 cookie라고 불러진다.

-Web 상에서 사용자 식별, 사용자 정보유지, 세션 유지에 사용

 

Persistent cookie & Session cookie

Persistent cookie

-브라우저를 종료해도 사용자의 하드드라이브에 저장

-삭제시기 : 만료시기(Expiration Date), 직접삭제

-위치 : 윈도우 버전과 익스플로러 버전에 따라 다름

Ex>C:\document and setting\user\local

 

Session cookie

-웹, 클라이언트(IE), CASHE에 임시 저장

-삭제시기 : 브라우저 닫기 / 서버에서 삭제(완료)

user/AppData/Local/Microsoft/Windows/Temporary Internet Files

 

 

sn=2013070311    =-> 접속한 날짜랑 입사 번호 11라면

auth=1           =-> 권한

sn=2013070312로 바꿨더니 들어가진다! 그러면 쿠키다

 

 

Flags 1537 =-> SSL, 443port

      9728 =-> javascript로 쿠키에 접근

 

#인증 방식의 차이는 없으나 데이터 저장 방식의 차이

-Persistent cookie = 클라이언트

-Session cookie = 서버

 

#Web application Server(was)

PHP : PHPSESSIONID

JSP : JSESSIONID

ASP : ASPSESSIONID

 

ASP쓰면서 JSESSIONID줄 수 있음, 안 줄 수도 있음

 

일반적으로

PHP는 Apache랑 MY-SQL

JSP는 Apache랑 Tomcat or Oracle

ASP는 IIS랑 MS-SQL

 

 

BASIC 인증

-아이디와 암호를 BASE64방식으로 인코딩 후 웹 서버로 전달

=->거의 사용 안함

Form Based 인증

-HTML Form 태그를 이용하여 입력받은 데이터를 서버에 전송하는 방식 / 많이 사용됨

=->현재 사용중

Hidden Field

-사용자의 인터페이스에는 보이지 않지만, HTML 코드 내에 저장되는 방식이며, 근본적인 취약성으로 인해 최근에는 사용되지 않고 있다.

=->물건이 10원에 팔림

=->1000원 밑으로는 계산 못하게 막았음

<input type="hidden" name="id" value="1,000,000"><br>

요즘은 코드를 던져주고, 결제회사에서 코드를 DB에서 확인함

URL Rewriting

-웹 브라우저에서 쿠키 사용을 막은 경우에 사용되는 방식

-URL에 추가하여 요청하는 방식

Cookie

-앞서 살펴 보았던 persistent cookie(클라), session cookie(서버, 브라우저)

TAG •

Who's 부운영자

profile

<빌립보서 4장 10절-13절> "내가 주 안에서 크게 기뻐함은 너희가 나를 생각하던 것이 이제 다시 싹이 남이니 너희가 또한 이를 위하여 생각은 하였으나 기회가 없었느니라 내가 궁핍하므로 말하는 것이 아니라 어떠한 형편에든지 내가 자족하기를 배웠노니 내가 비천에 처할 줄도 알고 풍부에 처할 줄도 알아 모든 일에 배부르며 배고픔과 풍부와 궁핍에도 일체의 비결을 배웠노라  내게 능력 주시는 자 안에서 내가 모든 것을 할 수 있느니라 "


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 기본문서 해킹에 대한 정리 프레지문서 부운영자 2013.08.28 865
34 기본문서 메타스플로잇을 이용한 exploit (feat.아미티지) 메타스플로잇을 이용한 exploit (feat.아미티지) 부운영자 2017.05.15 137
33 기본문서 칼리리눅스 툴 정리 http://tools.kali.org/tools-listing 칼리 리눅스 툴에 대한 정리가 잘되어 있습니다. 부운영자 2017.05.15 324
32 기본문서 칼리리눅스 한글 설정 http://cholchori.tistory.com/1634 칼리 리눅스 한글 설정 자세한 설명이 되어 있음... 칼리리눅스 업데이트 # apt-get update &amp;&amp; apt-get upgrade &amp;&amp; apt-get d... 부운영자 2017.05.15 70
31 정보수집 How to use ike scan in kali linux to scan ike hosts - ike-scan tutorial file 부운영자 2016.08.26 49
30 정보수집 How To Use Dnmap Tool In Kali Linux | Dnmap Client | Dnmap Server 부운영자 2016.08.26 40
29 정보수집 How to gather information on sites with kali linux and dmitry file 부운영자 2016.08.26 40
28 해킹툴 백트랙 3장 4장 2부 NSE 부운영자 2015.07.29 43
27 해킹툴 백트랙 3장 4장 1부 부운영자 2015.07.29 48
» 기본문서 웹 해킹 기본 Hacking은 대략 세가지 정도로 나눌 수 있다. 시스템 해킹 네트워크 해킹 웹 해킹 =-&gt; 웹 애플리케이션을 통해서 발생되는 해킹 웹 해킹을 성공하게 되면 해커들... 부운영자 2015.07.21 135
25 기본문서 웹 해킹 종류2 공개 웹 어플리케이션의 위험성 =-&gt;직접 설치해보고 구성을 알 수 있음 세션 관리 취약점 인증 및 세션은 인증이 필요한 페이지를 의미하며, 취약점이 발생하는 ... 부운영자 2015.07.21 78
24 기본문서 웹 해킹 종류1 정보수집 구글링(=구글해킹) 기본정보(ip, port) =-&gt; nslookup, nmap 응용 프로그램 종류 및 버전 운영체제 종류 및 버전 웹 스캔 웹 구조 분석(수작업) =-&gt; 실력... 부운영자 2015.07.21 64
23 기본문서 웹 퍼징 (Web Fuzzing) 도구 소개 및 활용 방법 실무에서의 침투 테스트는 대부분은 제한적인 정보하에 진행되는 경우가 많다. 물론 프로젝트의 성격에 따라 침투 팀에게 주어지는 정보의 양과 범위는 제각각이... file 부운영자 2015.07.21 142
22 기본문서 모의해킹을 연습할 수 있는 환경을 제공하는 사이트 모의해킹을 연습할 수 있는 환경을 제공하는 사이트 침투테스트 가상환경을 샌드박스 형태로 제공하여, 온라인상에서 모의해킹을 해볼수 있는 사이트 https://hac... 부운영자 2015.07.21 235
21 기본문서 PHP웹 보안 취약점 Top5 국제 웹 보안 표준 기구(OWASP – Open Web Application Security Project)에서 해마다 자주 발생하는 #웹보안취약점 Top 10 을 선정하여 발표 합니다. 이것을 기... 부운영자 2015.07.21 55
20 기본문서 웹해킹의 목적 1. 웹해킹의 목적. 웹해킹의 목적으로는 역시나 최종적으로는 해당 서버의 root 획득일것입니다. 하지만 웹해킹만을 이용해서 root 를 획득한다는것은 거의 불가... 부운영자 2015.07.21 44
19 기본문서 웹해킹툴 Web Hacking Tools ( provide: http://www.webhackingexposed.com/tools.html ) Free Web Security Scanning Tools Nikto N-Stalker NStealth Free Edition Burp ... 부운영자 2015.07.21 55
18 해킹툴 Trojan Shells "Creating a backdoor & Hacking the webcam or desktop of Windows 8 using Metasploit" Trojan Shells &quot;Creating a backdoor &amp; Hacking the webcam or desktop of Windows 8 using Metasploit&quot; 부운영자 2015.07.20 41
17 기본문서 How to hack facebook,gmail,twitter account using kali linux 부운영자 2015.07.20 39
16 해킹툴 백트랙을 활용한 모의해킹 "SQL Injecton 취약점" 부운영자 2015.07.20 86
15 해킹툴 칼리 리눅스 초짜의 백도어를 이용한 모의해킹 부운영자 2015.07.18 90
목록
Board Pagination Prev 1 2 Next
/ 2

사이트연락처

  • 사업자등록번호 : 858-20-00106
    통신판매업신고번호 :
    제 2015-대구수성구-0279호
    주소 : 대구광역시 수성구 달구벌대로456길 19

    이용약관
    개인정보 취급방침
  • 070-7797-4480
  • 페이스북호출 |카카오채팅


    라인 / 카카오톡 : imadonis
    스카이프 : [imadonis72]

서버에 요청 중입니다. 잠시만 기다려 주십시오...