[IT@Security] Web 취약점 15. 크로스사이트 리퀘스트 변조(CSRF)

2023. 7. 16. 12:45·Hacking/Web Hacking

CSRF 공격이란?

사이트 간 요청 위조(또는 크로스 사이트 요청 위조 Cross-site request forgery)는 사용자의 신뢰(인증) 정보 내에서 사용자의 요청을 변조함으로써 해당 사용자의 권한으로 악의적인 공격을 수행할 수 있는 취약점으로 사용자 의지와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 하는 공격 기법이다.

 

OWASP - CSRF 관련 참고사항

https://owasp.org/www-community/attacks/csrf

 

Cross Site Request Forgery (CSRF) | OWASP Foundation

Cross Site Request Forgery (CSRF) on the main website for The OWASP Foundation. OWASP is a nonprofit foundation that works to improve the security of software.

owasp.org

 

CSRF 점검

 

점검 내용 사용자의 신뢰(인증) 정보의 변조 여부 점검
점검 목적 사용자 입력 값에 대한 적절한 필터링 및 인증에 대한 유효성을 검증하여
신뢰(인증) 정보 내의 요청(Request)에 대한 변조 방지
점검 대상 웹 애플리케이션 소스코드, 웹 방화벽

 

1. XSS 취약점이 존재하는지 확인

xss 취약점이 존재하는지 확인하기 위해 'test'를 출력하는 경고창을 내보내는 스크립트를 삽입했다.

수정하여 제목에도 삽입하여 보았지만 반응을 하지 않았다.

문자열로 취급하는 것 같다.

 

2. 등록 및 변경 등의 데이터 수정 기능의 페이지가 있는지 조사함

글 수정 기능을 확인할 수 있었다.

 

3. 데이터 수정 페이지에서 전송되는 요청(Request) 정보를 분석하여 임의의 명령을 수행하는 스크립트 삽입 후 해당 게시글을 타 사용자가 열람하였을 경우 스크립트가 실행되는지 확인

스크립트 삽입이 수행되지 않는다...

 

보안 설정 방법

  • 웹 사이트에 사용자 입력 값이 저장되는 페이지는 요청이 일회성이 될 수 있도록 설계한다.
  • 사용 중인 프레임워크에 기본적으로 제공되는 CSRF 보호 기능 사용한다.
  • 사용자가 정상적인 프로세스를 통해 요청하였는지 HTTP 헤더의 Referer 검증 로직 구현한다.
  • 정상적인 요청(Request)과 비정상적인 요청(Request)를 구분할 수 있도록 Hidden Form을 사용하여 임의의 암호화된 토큰(세션 ID, Timestamp, nonce 등)을 추가하고 이 토큰을 검증하도록 설계한다.
  • HTML이나 자바스크립트에 해당되는 태그 사용을 사전에 제한하고, 서버 단에서 사용자 입력 값에 대한 필터링을 구현한다.
  • HTML Editor 사용으로 인한 상기사항 조치 불가 시, 서버 사이드/서블릿/DAO(Data Access Object) 영역에서 조치하도록 설계한다.
  • XSS 조치 방안을 참조한다.

 

'Hacking/Web Hacking' 카테고리의 다른 글
  • [bWAPP] HTML Injection – Reflected (Current URL)
  • BeeBox 취약점 목록
  • [IT@Security] Web 취약점 14. 취약한 패스워드 복구
  • [IT@Security] Web 취약점 13. 불충분한 인증
단축키실행해보세요
단축키실행해보세요
공대생
  • 단축키실행해보세요
    Ctrl + Shift + ESC
    단축키실행해보세요
  • 전체
    오늘
    어제
    • 분류 전체보기 (171)
      • 외부 활동 (4)
      • BOJ (36)
        • Python (24)
        • C++ (12)
        • Java (0)
      • Hacking (91)
        • Crypto (4)
        • Forensics (2)
        • Mobile Hacking (5)
        • Reversing (21)
        • System (21)
        • Web Hacking (38)
      • Cloud (14)
        • Serverless (1)
        • AWS (8)
      • ML (5)
      • Data Structure (16)
      • Git (0)
      • DevOps (0)
        • Terraform (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    유석종교수님
    EC2
    Systemhacking
    bWAPP
    Dreamhack
    beebox
    SAA
    Redis
    AI
    python
    ML
    S3
    SISS
    datastructure
    cloud
    XPath
    c
    부하테스트
    자료구조
    htmlinjection
    acc
    System
    pwnable
    Reflected
    backjoon
    Reversing
    CodeEngn
    백준
    AWS
    basicrce3
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
단축키실행해보세요
[IT@Security] Web 취약점 15. 크로스사이트 리퀘스트 변조(CSRF)
상단으로

티스토리툴바