디아블로2 레저렉션


주요 HTTP 오류 및 발생 테스트

<주요 HTTP오류 및 고의적인 오류 발생 요령>

400 Bad Request
- HTTP Request 규약에 맞지 않는 요청을 전송시 발생
예) Method 헤더를 삭제하거나 존재하지 않는 Method 를 전송
Host 헤더를 삭제하거나 틀린 도메인을 전송시 발생

401 Unauthorized
- HTTP 헤더에서 인증을 처리하는 경우 해당 인증이 유효하지 않으면 발생
예) Authentication: Bearer ~~ 인증이 유효하지 않은경우
서버에서 HTTP 헤더 인증을 사용하지 않는경우 고의로 발생시킬수 없다

403 Forbidden

404 Not Found

405 Method Not Allowed
- 허용되지 않는 Method를 요청시 발생
예) PUT, DELETE 등

411 Length Required
- POST 요청에서 데이터 길이와 Content-Lenth 헤더가 맞지 않을때 발생
예) POST 요청에서 Content-Length 헤더를 삭제하고 전송 (burp 에서 'update content length' 옵션을 꺼야함)

500 Internal Server Error

501 Not Implemented
- 정해진 오류발생 규칙은 특정 곤란 (케바케)
예) Method 를 소문자로 전송시 발생한 경우가 있음




trace 메소드

* 취약점 유형 : XST (Cross Site Tracing)
  - TRACE 요청을 보내면 HTTP Response 에 Request의 헤더값이 그대로 다시 리턴됨
  - Request 헤더값에 포함된 Session Cookie를 탈취하는데 이용될 수 있음
  - 즉, 공격자는 Javascript의 Ajax 기법으로 Trace 요청을 보낸 후 응답의 문자열 파싱하여 Cookie 값을 추출할 수 있음

  - 현재 최신 브라우저에서는 Javascript 로 Trace 메소드를 사용할 수 없도록 기본 적용되어 있어 XST 발생 가능성이 낮음



burpsuite scope

1. "Setting" 에서 "Proxy > Proxy history logging" 항목에서 "Stop logging out-of-scope items" 체크
   - 이 옵션은 scope 에 item이 추가될 때 적용되므로 이전에 추가했던 아이템에는 적용되지 않는다. 따라서 이 옵션을 먼저 변경 후 아이템을 추가해야 한다.
   * 2022 이하에서는 "Proxy > Options > Miscellaneous > Don't send items to Proxy history or live tasks, if out of scope" 체크

2. "Scope" 메뉴에서 "use advanced scope control" 체크

3. "include in scope" 에서 Add를 클릭하고 Protocol "Any" 추가 (나머지 blank)

4. "Exclude from scope" 에서 다음을 "Host / IP range"에 추가 (Protocol: Any, 나머지 blank)

  .{0,20}\.gstatic.com
  .{0,20}\.google.com
  www\.googletagmanager\.com
  기타 등등

5. 완료

javascript 커맨드라인 실행기

* node.js 설치
 - 다운로드: https://nodejs.org/ko/download/

* node 커맨드라인 실행

  c:\> node
  Welcome to Node.js v18.12.1.
  Type ".help" for more information.
  >

* javascript 파일 로드
  >.load file.js

* 커맨드라인에서 로딩된 함수 실행 가능


1 2 3 4 5 6 7 8 9 10 다음