2020. 5. 1. 12:02ㆍ정보보안/웹 어플리케이션 해킹
HTTP 프로토콜
HTTP의 요청 및 응답 프로토콜 필드의 자세한 사항은 「RFC 2616」 에 정의되어 있다.
* RFC (Request for Comments) : IETF(Internet Enginnering Task Force)에서 제정한 인터넷 통신을 위한 표준을 정의한 문서명
HTTP 프로토콜 명령어
POST : 데이터는 REQUEST Body에 포함 시킨다. 전송 데이터의 제한이 없다
POST login.asp HTTP/1.1
id=admin&pass=123
GET : 데이터를 URI에 포함시킨다. 전송할수 있는 데이터의 량은 <=255자 이다.
GET login.asp?id=admin&pass=123
PUT : 파일 업로드 (자원생성), jsp 업로드
PUT login.asp/Test.txt HTTP/1.1
DELETE : 파일 삭제
DELETE login.asp/Test.txt HTTP/1.1
HTTP 프로토콜 상태코드
웹 서버 메시지 |
의미 |
내용 |
100 번대 |
정보전송 |
임시적인 응답을 나타내는 것은 Status-Line과 선택적인 헤더들로 구성되어 있고 빈 줄로 끝을 맺음 |
200 번대 |
성공 |
200 - 요청 성공 / 201 - 원격지서버에 파일 생성 |
300 번대 |
리다이렉션 |
302 - 페이지이동 / 304 - 로컬 캐쉬정보 이용 |
400 번대 |
클라이언트측 에러 |
401 - 인증 실패 / 403 - 접근금지(페이지는 존재하나 권한없음) / 404 - 페이지 없음 |
500 번대 |
서버측 에러 |
500 - 서버에러 |
쿠키와 세션쿠키
1. 쿠키: 서버쪽에 인증 정보가 없음(서버에서 검증하지 않는다). 조작이 가능하다. 쿠키는 User의 Harddisk에 저장한다.
브라우져별 쿠기 저장 위치
- IE : C\Users\사용자\Appdata\Roaming|Microsoft\Windows\Cookies
- Chrome : C\Users\사용자\Appdata\Local\Google\Chrome\User Data\Default\Cache
- FireFox : C\Users\사용자\Appdata\Roaming\Mozilla\Firefox\Profiles\<some profile number>.default\cookies.sqlite
- Safari : C\Users\사용자\Appdata\Roaming\AppleComputer\Safari\Cookies\Cookies.plist
2. 세션 : 서버에서 검증한다. 세션은 서버에서 발행하여 유저의 로그인을 식별한다.
보안상 세션을 사용할 것을 권장
인코딩 스키마
인코딩 : 의미는 같으나 데이터 표현 형식이 다른 것을 말함, 인코딩은 암호화로 사용할 수 없음 (디코딩으로 해독 가능)
1. URL 인코딩 : 「%인코딩」 이라고도 부르며, 데이터의 형식을 바꿀 뿐 암호화로는 사용 불가능
- 특히 URL에는 메타문자로 ?(파라미터 넘겨줄 때), &(파라미터구분자), =(파라미터 전달자), +(공백문자) 가 많이 사용된다
2. Base64인코딩 : Binary를 6bit 씩 끊어서 표현한다. ASCII 형태로 표현되며, 특징으로는 padding(==) 을 가진다.
3. HTML 인코딩 : 「&」로 시작하여 「;」 로 끝나는 특징이 있다.
공백 |   | & | & |
< | < | ' | ' |
> | > | " | &quit; |
'정보보안 > 웹 어플리케이션 해킹' 카테고리의 다른 글
3. Directory Listing (0) | 2020.05.03 |
---|---|
2. JavaScript Obfuscation 자바스크립트 난독화 (0) | 2020.05.03 |
웹 해킹 테스트 사이트 및 워게임 사이트 (0) | 2020.05.01 |
[SUA] 웹 해킹 스터디 1회차 - Root ME (0) | 2020.05.01 |
[SUA] WEEK1 - BOF, FOB, LDAP Injection (0) | 2020.04.24 |