ClientSide: CSRF

2026. 9. 20. 21:02·Web

Cross Site Request Forgery

교차 사이트 요청 위조

 

임의 사용자의 권한으로 임의 주소에 HTTP 요청을 보낼 수 있는 취약점

공격자는 임의 사용자의 권한으로 서비스 기능을 사용하여 이득을 취할 수 있다.

 

 

CSRF공격이 성공하기 위해선 공격자가 작성한 악성 스크립트를 사용자가 실행해야한다. 

여기서 악성 스크립트는 HTTP 요청을 보내는 코드이다. 

 

공격 스크립트는 HTML이나 JS로 작성할 수 있다. img 태그를 사용하거나 form 태그를 보통 사용한다.

  1. img
    <img src='http://bankbankbank.com/sendmoney?to=han&amount=8210' width=0px height=0px>
    → 이미지 크기를 줄여서 사용자에게 들키지 않고 임의 페이지에 요청 보낼 수 있다.
  2. form: 입력된 양식을 웹페이지에 전송

 

vs XSS

모두 클라이언트를 대상으로 하는 공격이고, 사용자가 악성 스크립트가 포함된 페이지에 접속하도록 유도해야한다.

 

 

XSS는 인증 정보인 세션 및 쿠키탈취를 목적으로, 공격할 사이트의 오리진에서 스크립트를 실행시킨다.

CSRF는 이용자가 임의 페이지에 HTTP 요청을 보내는 것을 목적으로, 공격자는 악성 스크립트가 포함된 페이지에 접근한 사용자의 권한으로 웹 서비스의 임의 기능을 실행할 수 있다.

 

 

csrf-1

웹 서비스 분석

취약점 분석

/vuln에서 필터링 키워드에 포함되지 않은 <, > 와 다른 키워드들은 사용할 수 있다. 

익스플로잇

공격 스크립트가 삽입된 /vuln 페이지를 다른 사용자가 방문할 경우, 의도하지 않은 페이지로 요청을 전송하게끔 한다. 

 

플래그를 얻기 위해서는 /admin/notice_flag 페이지를 로컬호스트에서 접근해야하므로, /vuln페이지를 방문하는 로컬호스트 이용자가 /admin/notice_flag 페이지로 요청을 전송하도록 작성한다.

<img src = "/admin/notice_flag?userid=admin">

userid 파라미터가 admin인지 검사하는 부분이 존재하기 때문에 해당 문자열을 포함시켜준다.

 

csrf-2

웹 서비스 분석

취약점 분석

/vuln에서 필터링 키워드에 포함되지 않은 <, > 와 다른 키워드들은 사용할 수 있다. 

익스플로잇

/flag페에지에서 admin의 세션ID가 저장되므로 /flag페이지에서 admin의 pw를 변경하려면 /change_password 페이지로 접근해야한다. (세션 탈취)

<img src = "/change_password?pw=admin">

저작자표시 비영리 변경금지 (새창열림)

'Web' 카테고리의 다른 글

ServerSide: SSRF  (0) 2026.09.21
XSS-2  (0) 2026.09.20
XSS-1  (0) 2026.09.20
ClientSide: XSS  (0) 2026.09.20
'Web' 카테고리의 다른 글
  • ServerSide: SSRF
  • XSS-2
  • XSS-1
  • ClientSide: XSS
권 한
권 한
공부는 하는데 왜 발전이 없으세요?
  • 권 한
    Kwon5an.log
    권 한
    • 분류 전체보기 (123)
      • @Xpert (6)
        • 2025 (0)
        • 2026 (0)
      • Forensic (26)
        • Windows (7)
        • Linux (3)
        • Memory (4)
        • Network (0)
      • System Hacking (16)
      • Web (5)
      • STUDY (11)
        • 컴퓨터 구조 (2)
        • 운영체제 (0)
        • 알고리즘 자료구조 (0)
        • CS (7)
      • #컴공에서살아남기 (27) N
        • 201 C++ (3)
        • 201 보안기초 (13)
        • 201 OSS (0)
        • 202 데통 (2)
        • 202 자료구조 (4) N
        • 202 시프보 (3)
        • 헷갈리는 것들 정리 (1)
        • 202 자바 (1)
      • Write-up (19)
        • H4CKING GAME (1)
        • DreamHack (16)
        • bandit (0)
      • PROGRAM (0)
        • K-shield.jr (0)
      • PROJECT (0)
      • 사담.생각.끄적끄적 (6)
  • 공지사항

    • Notice
  • 링크

    • DAILY BLOG
    • Velog
    • NOTION
  • 전체
    오늘
    어제
  • hELLO· Designed By정상우.v4.10.6
권 한
ClientSide: CSRF
상단으로

티스토리툴바