카테고리 없음

☁ WebGoat 모의 해킹 실습 - 1주차

rinnw 2025. 5. 14. 16:59

 

 

http://127.0.0.1:8080/WebGoat/ 사이트 자체가 며칠동안 잘 들어가지지 않아 많이 헤멨습니다 😥

 


 

2장

1 - General


 

 

프록시: 클라이언트 PC통신하고자 하는 서버의 중간에서 서로 간의 요청과 응답을 중개해 주는것 

프록시 서버: 프록시 기능을 수행하는 서버 

HTTP 프록시 : HTTP프로토콜을 중개하는 프록시

 

Burp Suite : 대표적인 웹 애플리케이션 보안 테스트 도구. 스캐닝을 포함해 다양한 유형의 보안 테스트 수행이 가능.

 


 

[  HTTP Proxies 모의 해킹 실습  ]

  • p.71-73 : x

 

[  Developer Tools  ]

  • p.75-77 : Network에서 파일을 찾고, response로 이동 후 발견.

  • p. 77-78 : x (시도 사진)

 

 

CIA Triad : 정보보안의 기반이 되는 모델, 기밀성/무결성/가용성 맨 첫 글자 가져와 조합한 것.

  • 기밀성 : 정보를 아무에게나 보여주지 않는 것
  • 무결성 : 데이터를 함부로 수정할 수 없게 하는 것
  • 가용성 : 서비스가 정상적으로 가동되게 하는 것

 

 


 

 2 - Broken Access Control


 

Hijack a session : Hijack a session  에서는 개발자 본인이 직접 개발한 세션 또는 토큰을 웹 애플리케이션에 적용할 때 안전을 위한 세션 값의 복잡성과 무작위성을 무시해 진행하면 해커는 무차별 대입 공격으로 세션 값을 탈취할 수 있다는 내용을 학습할 수 있다.

 

 

[  Hijack a session 모의 해킹 실습  ]

  • p.88-90 공격 시도 (hijack_cookie 생성 확인 가능)

 

 

Direct Object References(직접 객체 참조) : 클라이언트가 URI Path나 파라미터 등으로 값을 서버에 전달하면 서버의 애플리케이션에서 전달받은 값을 참고해 특정 데이터와 객체에 접근하는 것을 의미.

 

Insecure Direct Object References(IDOR, 취약한 직접 객체 참조) : 클라이언트가 특정 데이터나 객체에 접근할 때는 그 사용자가 해당 데이터나 객체에 접근 권한이 있는지 확인하는 검증 과정이 반드시 필요. 이를 접근 제어라 하는데, IDOR은 이 접근 제어를 미흡하게 구현하여 해커가 권한이 없는 특정 데이터나 객체에 접근하게 된 경우를 의미.

 

 

[  IDOR 모의 해킹 실습  ]

  • p.98, 100 

 

 

[  Missing Function Level Access Control 모의 해킹 실습  ]

  • 기능에 대한 액세스 제어 누락. (사용 불가능한 기능을 사용 가능}
  • x

 


 

3 - Cryptographic Failures


 

Base64 : 데이터를 특정 알고리즘에 따라 변형하는 단순 인코딩 방법

  • Base64 디코딩으로 원본 문자열 획득

 

 

  • URL 인코딩 : 서버에 데이터를 전달할 때 예약어로 사용 중인 특수 문자나 한글과 같은 멀티바이트 형태의 데이터처럼 전달이 불가능한 데이터들을 URL을 통해 전달할 수 있도록 만들어주는 인코딩 방식
  • HTML 인코딩 : HTML의 예약어를 화면에 그대로 표현하고 싶을 때 사용
  • UU 인코딩 : 누락되지 않는 데이터 형태로 변환하는 작업
  • XOR 인코딩 : 변환을 원하는 데이터와 XOR 연산을 수행할 key값을 설정 

 

[  XOR 인코딩/디코딩 실습  ]

  • 인코딩 데이터를 디코딩 해주는 온라인 사이트 이용.

 

 

  • 단방향 암호화 - 한 쪽 방향으로 암호화한다는 의미 
  • Hash - 단방향 암호화로 생성된 암호문
  • Hashing - Hash를 만드는 단방향 암호화 과정
  • 단방향 암호화 알고리즘 종류 - MD5, SHA1, SHA512 등 (앞쪽 두 개는 보안성이 확보x. SHA256, SHA516이 권장됨.)

 

  • Rainbow table 공격 : 수많은 원문에 암호화 수행해 데이터베이스에 저장, 중요한 Hash 얻어냈을 때 데이터들과 비교해 확인하는 방법.
  • Salt : 원문 뒤에 임의의 문자열을 추가해 원문을 더욱 길고 복잡하게 만드는 것 (위 공격으로부터 안정성을 확보하는 방법.)

[  단방향 암호화 공격 실습  ]

Hash는 MD5 알고리즘을 이용, 원문은 admin / SHA256 알고리즘 이용, 원문은 passw0rd

 

 

 

 

 

 


 

4 - Injection


 

 

 

 

 


 

5 - Security Misconfiguration


 

 

 

 


 

x : 시스템 오류나, 따라해봐도 해결하지 못함.