모의해킹 시 목표 세우고 접근
▷ 기능 분석 : 게시판, 로그인, 회원가입 등등 각각의 서비스에서 내가 뭘 할 수 있는지
예를 들어,
① DB 데이터 추출
> SQL Injection
> File Upload
② 서버 페이지 변조
> XSS
보고서 작성 시
> 다른 도메인, 같은 유형의 취약점이라면 대표적인 케이스 하나만 찍고 나머지는 리스트로 작성
> 캡처 사진 찍을 때 디테일하게 찍기
** 데이터 평문 전송
> HTTP를 사용 & 민감한 정보가 있을 때 → 평문 전송 확인해보기 (네트워크 구간)
wireshark로 확인한다

요청과 응답, 데이터가 그대로 보인다 = 민감한 정보가 네트워크 구간에서 오고가고있다

+ 서비스에 사용되지 않는 개인정보들까지 출력되고 있다
> 대응방안: HTTPS 쓰세요
** 디렉토리 인덱싱
> 취약점 잡을 때 보고서에 경로를 일일이 쓰지 않아도 된다 → 전체 페이지에서 일어난다
> 대응방안: 서버 설정 바꾸기

** 서버 버전이 노출
> apache 2.4.18 exploit
> 2차 공격에 사용될 수 있다

> 서버 헤더에서 정보 노출
> 404 에러 페이지, 500번대 에러 페이지에서 서버 버전 정보 노출
> 대응방안: 커스텀 에러 페이지 사용
** CSRF
> What (무엇인지)
사용자가 모르게 임의의 요청을 보내게 만드는 공격
> Where (어디에서)
서버로 보내는 모든 요청 with SESSION
> Why (왜 일어나는지)
공격자가 요청(사용자가 보내는 요청)을 만들어낼 수 있기 때문에 일어난다
> Scenario (뭘 할 수 있는지)
비밀번호 변경으로 계정 탈취, 중요 정보 변경, 권한 상승
> Defense (방어 방법)
예측할 수 없는 정보(인증 정보, CSRF 토큰)를 넣는다
** CSRF 모의해킹 시 주의할 점
> 실제 공격으로 연결시킬 수 있는지
** XSS vs CSRF
> XSS: Client 측에서 실행되는 스크립트를 삽입하는 공격
> CSRF: 피해자가 모르게 공격자가 원하는 임의의 요청을 서버로 보내게 만드는 공격
> CSRF 공격 중 GET 메서드를 사용하는 경우 CSRF 단독으로 사용할 수 있지만, POST 메서드를 사용할 경우 form 태그를 작성하는 등 XSS를 이용해야한다
* TIP
> GET 방식이 은근히 많다
** 세션 고정 취약점
> 로그인 전과 로그인 후의 세션 아이디를 비교해서 같을 경우 → 취약하다
> 공격자가 공격 대상자에게 자신의 세션 아이디를 심어, 공격 대상자의 계정으로 로그인 할 수 있다
문제 (관리자 계정 대신 내 아이디로 해보기로...)
Step 1. 공격자의 세션 = gsaq9ll9ch6spn1heo0pi1fksm

Step 2. XSS를 찾아 스크립트 삽입
주소 검색 페이지에서 Reflected XSS (한글이,,) 공격으로 세션 아이디를 바꿀 수 있도록 한다
GET 메서드로 변경해도 여전히 Reflected XSS 공격이 된다

세션 아이디 삽입

Step 3. 공격 대상자는 XSS URL 클릭
copy url → 공격 대상자가 해당 링크로 들어가면 공격자의 세션으로 바뀐다
공격 대상자는 공격자의 세션을 가지고 서버에 로그인을 요청한다

Step 4. 공격 대상자가 공격자의 세션 아이디를 가지고 다시 로그인
서버는 공격자의 세션 아이디에 공격 대상자의 정보를 응답한다
이 때 공격 대상자가 다시 메인 페이지로 돌아가 로그인을 하면 공격자 또한 공격 대상자의 계정으로 로그인할 수 있다

'Web Hacking Study > 수업 정리' 카테고리의 다른 글
| [16주차] 모의해킹 리뷰, File Upload/Download 취약점 점검 팁 (0) | 2022.07.22 |
|---|---|
| [15주차] 간단하게 보고서 작성법 정리, 주통기반 취약점 +설명, 모바일 앱 해킹 (0) | 2022.07.09 |
| [13주차] 모의해킹 프로젝트 가이드 (0) | 2022.06.24 |
| [12주차] SQL Injection, XSS 취약점 점검 팁 (0) | 2022.06.17 |
| [11주차] 인증/인가 취약점 (0) | 2022.06.10 |
댓글