๐ŸŒ†โ”‚Web_Study/๐Ÿ“˜โ”‚Dreamhack_Hacking

ClientSide: CSRF

2022. 6. 23. 11:32
๋ชฉ์ฐจ
  1. Cross Site Request Forgery(CSRF)
  2. Cross Site Request Forgery ๋™์ž‘
  3. ๊ฐ„๋‹จํ•œ ์‹ค์Šต
  4. XSS์™€ CSRF ๊ณต๊ฒฉ์˜ ์ฐจ์ด

Cross Site Request Forgery(CSRF)

์›น ์„œ๋น„์Šค๋Š” ์ฟ ํ‚ค ๋˜๋Š” ์„ธ์…˜์„ ์‚ฌ์šฉํ•ด ์ด์šฉ์ž๋ฅผ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

์ž„์˜ ์ด์šฉ์ž์˜ ์ฟ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด, ์ด๋Š” ๊ณง ์ž„์˜ ์ด์šฉ์ž์˜ ๊ถŒํ•œ์œผ๋กœ ์›น ์„œ๋น„์Šค ๊ธฐ๋Šฅ ์‚ฌ์šฉ ๊ฐ€๋Šฅ!
CSRF๋Š” ์ž„์˜ ์ด์šฉ์ž์˜ ๊ถŒํ•œ์„ ์ž„์˜ ์ฃผ์†Œ์— HTTP ์š”์ฒญ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค.

๊ณต๊ฒฉ์ž๋Š” ์ž„์˜ ์ด์šฉ์ž์˜ ๊ถŒํ•œ์œผ๋กœ ์„œ๋น„์Šค ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ด ์ด๋“์„ ์ทจํ•˜๋Š” ํ˜•์‹์ด์ฃ 

์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ํ•œ๋ฒˆ ๋ด…์‹œ๋‹ค ์•„๋ž˜ ์ฝ”๋“œ๋Š” CSRF์— ์ทจ์•ฝํ•œ ์†ก๊ธˆ ๊ธฐ๋Šฅ ์ˆ˜ํ–‰ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด..
๊ณ„์ขŒ ๋น„๋ฒˆ, OTP ๋“ฑ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ธฐ์— ๋กœ๊ทธ์ธํ•œ ์ด์šฉ์ž๋Š” ์ถ”๊ฐ€ ์ธ์ฆ ์ •๋ณด์—†์ด ๊ธฐ๋Šฅ์ด ์‚ฌ์šฉ๋˜๋‹ˆ๊นŒ์š”

CSRF์— ์‚ฌ์šฉ๋  HTTP ์š”์ฒญ ์˜ˆ์‹œ
์‹ค์Šต ์˜ˆ์ œ ์ฝ”๋“œ

์œ„ ์ฝ”๋“œ์— ๋Œ€ํ•˜์—ฌ ์ฃผ์˜๊นŠ๊ฒŒ ์‚ดํŽด๋ณด๋ฉด..
/sendmoney ๋กœ ๊ฐ€์„œ user์— ๋Œ€ํ•˜์—ฌ to๋ฅผ ์ž…๋ ฅ ๊ทธ๋ฆฌ๊ณ  ๊ธˆ์•ก์„ ์ž…๋ ฅํ•ด ์ „์†กํ•˜๋ฉด ๋ฐ˜ํ™˜ํ•ด์ฃผ๋„ค์š”


Cross Site Request Forgery ๋™์ž‘

CSRF ๊ณต๊ฒฉ์— ์„ฑ๊ณต์— ์„ฑ๊ณตํ•˜๊ธฐ ์œ„ํ•ด์„  ๊ณต๊ฒฉ์ž๊ฐ€ ์ž‘์„ฑํ•œ ์•…์„ฑ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉ์ž๊ฐ€ ์‹คํ–‰ํ•ด์•ผ ํ•˜์ฃ 
์—ฌ๊ธฐ์„  ์•…์„ฑ ์Šคํฌ๋ฆฝํŠธ๋Š” HTTP ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ์ฝ”๋“œ๋กœ, ์•„๋ž˜ ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•ด๋ณผ๊นŒ์š”?

CSRF ๊ณต๊ฒฉ ์Šคํฌ๋ฆฝํŠธ๋Š” HTML ๋˜๋Š” JS๋ฅผ ํ†ตํ•ด ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์œ„์™€ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ CSRF ๊ณต๊ฒฉ์ด ๊ฐ€๋Šฅํ•จ

์ด๋ฏธ์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” img ํƒœ๊ทธ ์‚ฌ์šฉ/์›น ํŽ˜์ด์ง€์— ์ž…๋ ฅ๋œ ์–‘์‹ ์ „์†ก form ํƒœ๊ทธ ์‚ฌ์šฉ ๋“ฑ์ด ์žˆ์–ด์š”
์ด๋Ÿฌํ•œ ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•ด HTTP ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด HTTP ํ—ค๋”์ธ Cookie์— ์ด์šฉ์ž์˜ ์ธ์ • ์ •๋ณด๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

์•„๋ž˜ ์ฝ”๋“œ๋“ค์€ ์˜ˆ์‹œ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.

HTML img ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•œ ๊ณต๊ฒฉ
1
<img src='http://bank.dreamhack.io/sendmoney?to=dreamhack&amount=1337' width=0px height=0px>
cs
JavaScript๋ฅผ ์‚ฌ์šฉํ•œ ๊ณต๊ฒฉ
1
2
3
4
5
/* ์ƒˆ ์ฐฝ ๋„์šฐ๊ธฐ */
window.open('http://bank.dreamhack.io/sendmoney?to=dreamhack&amount=1337');
/* ํ˜„์žฌ ์ฐฝ ์ฃผ์†Œ ์˜ฎ๊ธฐ๊ธฐ */
location.href = 'http://bank.dreamhack.io/sendmoney?to=dreamhack&amount=1337';
location.replace('http://bank.dreamhack.io/sendmoney?to=dreamhack&amount=1337');
cs

๊ฐ„๋‹จํ•œ ์‹ค์Šต

Dreamhack์—์„œ ํ•ด์•ผํ•˜๋Š”๊ฑฐ๋ผ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ด๋ฏธ์ง€๋กœ ๋Œ€์ฒ˜ํ• ๊ป˜์š” ใ…Ž

์š”๋ก  ์‹์œผ๋กœ http์— ์ „์†ก์„ ์š”์ฒญํ•˜๋Š” ๊ฑฐ์ฃ  ๊ทธ ์ด์™ธ์—๋„ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”๋ฐ..
์—ฌ๊ธฐ์„  ์ด๋ ‡๊ฒŒ ์ œ๊ณตํ•ด์ฃผ์—ˆ๋„ค์š”

๋ชจ๋“  CSRF ๊ณต๊ฒฉ์˜ ํŠน์ง•์€ ์™ธ๋ถ€์˜ ํ†ต์‹  ์ฆ‰, HTTP์˜ ํ†ต์‹ ์— ์˜ํ•œ ์ •๋ณด๋ฅผ ๋ฐ›์•„๋“œ๋ฆฐ๋‹ค๋Š” ์ 
XSS ๊ณต๊ฒฉ๊ณผ๋Š” ์•ฝ๊ฐ„์˜ ์ฐจ์ด๊ฐ€ ์žˆ์ฃ 


XSS์™€ CSRF ๊ณต๊ฒฉ์˜ ์ฐจ์ด

๋‘ ๊ณต๊ฒฉ๊ธฐ๋ฒ• ๋‹ค ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์›น ํŽ˜์ด์ง€์— ์ž‘์„ฑ ๊ณต๊ฒฉํ•œ๋‹ค๋Š” ์ ์—์„  ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค


๊ณตํ†ต์ 

๋ชจ๋‘ ํด๋ผ์ด์–ธํŠธ๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” ๊ณต๊ฒฉ์ด๋ฉฐ,
์ด์šฉ์ž๊ฐ€ ์•…์„ฑ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํฌํ•จ๋œ ํŽ˜์ด์ง€์— ์ ‘์†ํ•˜๊ฒŒ ์œ ๋„ํ•ด์•ผํ•จ


์ฐจ์ด์ 

๊ณต๊ฒฉ์— ์žˆ์–ด ๋‹ค๋ฅธ ๋ชฉ์ ์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.
XSS๋Š” ์ธ์ฆ ์ •๋ณด์ธ ์„ธ์…˜ ๋ฐ ์ฟ ํ‚ค ํƒˆ์ทจ ๋ชฉ์ ์œผ๋กœ ๊ณต๊ฒฉํ•  ์‚ฌ์ดํŠธ์˜ ์˜ค๋ฆฌ์ง„์—์„œ ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰

CSRF๋Š” ์ด์šฉ์ž๊ฐ€ ์ž„์˜ ํŽ˜์ด์ง€์— HTTP ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ๊ฒƒ์„ ๋ชฉ์ ์œผ๋กœ ํ•˜๋Š” ๊ณต๊ฒฉ์ž…๋‹ˆ๋‹ค.
๋˜ํ•œ ๊ณต๊ฒฉ์ž๋Š” ์•…์„ฑ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํฌํ•จ๋œ ํŽ˜์ด์ง€์— ์ ‘๊ทผํ•œ ์ด์šฉ์ž ๊ถŒํ•œ์œผ๋กœ ์ž„์˜ ๊ธฐ๋Šฅ๋„ ์‹คํ–‰ ๊ฐ€๋Šฅ

๊ณ ๋กœ ํ•ต์‹ฌ ํ‚ค์›Œ๋“œ๋Š”

Cross Site Request Forgery (CSRF)
์‚ฌ์ดํŠธ ๊ฐ„ ์š”์ฒญ ์œ„์กฐ์ด๋ฉฐ, ์ด์šฉ์ž๊ฐ€ ์ž์‹ ์˜ ์˜์ง€์™€๋Š” ๋ฌด๊ด€ํ•˜๊ฒŒ ๊ณต๊ฒฉ์ž๊ฐ€ ์˜๋„ํ•œ ํ–‰์œ„๋ฅผ ํŠน์ • ์›น์‚ฌ์ดํŠธ์— ์š”์ฒญํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ณต๊ฒฉ.

์ฐธ๊ณ  ์ž๋ฃŒ

 

ClientSide: CSRF

์ด ์ฝ”์Šค์—์„œ๋Š” ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ๊ณต๊ฒฉ์ธ CSRF์— ๋Œ€ํ•ด ์‚ดํŽด๋ด…๋‹ˆ๋‹ค

dreamhack.io

๋”๋ณด๊ธฐ

 

์ฐธ๊ณ  ์ด๋ฏธ์ง€

 

๋”๋ณด๊ธฐ

 

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐ŸŒ†โ”‚Web_Study > ๐Ÿ“˜โ”‚Dreamhack_Hacking' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

SQL Injection  (0) 2022.10.20
ClientSide: XSS  (0) 2022.06.21
Mitigation: Same Origin Policy  (0) 2022.06.20
http vs https  (0) 2022.05.25
  1. Cross Site Request Forgery(CSRF)
  2. Cross Site Request Forgery ๋™์ž‘
  3. ๊ฐ„๋‹จํ•œ ์‹ค์Šต
  4. XSS์™€ CSRF ๊ณต๊ฒฉ์˜ ์ฐจ์ด
'๐ŸŒ†โ”‚Web_Study/๐Ÿ“˜โ”‚Dreamhack_Hacking' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • SQL Injection
  • ClientSide: XSS
  • Mitigation: Same Origin Policy
  • http vs https
Jastes
Jastes
Jastes
Jastes
Jastes
์ „์ฒด
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (178)
    • ๐Ÿ“šโ”‚War_Game (13)
      • ๐Ÿซโ”‚Genius_SW (3)
      • ๐Ÿ“–โ”‚CTF-d (1)
      • ๐Ÿ˜˜โ”‚CTF (2)
      • ๐Ÿ“‘โ”‚Contest (7)
    • ๐ŸŒ‡โ”‚System_Study (92)
      • ๐Ÿ“•โ”‚Dreamhack_Hacking (50)
      • ๐Ÿ“—โ”‚Dreamhack_Reversing (8)
      • ๐Ÿ“•โ”‚HackerSchool_FTZ (13)
      • ๐Ÿ“™โ”‚lazenca_Study (0)
      • ๐Ÿช™โ”‚Pwnable.kr (8)
      • ๐Ÿช™โ”‚Pwnable.tw (0)
      • ๐Ÿ”’โ”‚H4C_5๊ธฐ (10)
      • ๐Ÿ”โ”‚Etc.. (3)
    • ๐Ÿ”ฌโ”‚Reversing & Cryptography (3)
      • ๐Ÿ“•โ”‚CodeEnge (2)
      • ๐Ÿ”โ”‚Cryptography (0)
      • ๐Ÿ”โ”‚Etc.. (1)
    • ๐ŸŒ†โ”‚Web_Study (25)
      • ๐Ÿ“˜โ”‚Dreamhack_Hacking (5)
      • ๐Ÿ“–โ”‚Dreamhack_War_Game (4)
      • ๐Ÿ”ฌโ”‚DVWA (3)
      • ๐Ÿš โ”‚Lord_of_SQLInjection (4)
      • ๐ŸฅŠโ”‚pentestgym (8)
      • ๐Ÿ”โ”‚Etc.. (1)
    • ๐Ÿ’ปโ”‚IT_Study (30)
      • ๐Ÿ“ฐโ”‚DB_Study (2)
      • ๐ŸŽ“โ”‚SW_Engineering (4)
      • ๐Ÿ“Ÿโ”‚System_Study (6)
      • ๐Ÿ›ซโ”‚Web_Study (8)
      • ๐Ÿ“ปโ”‚network_study (1)
      • ๐Ÿ’พโ”‚AI (0)
      • ๐Ÿงญโ”‚CS_Study (0)
      • ๐Ÿ˜จโ”‚์–ต๊นŒ_๋ชจ์Œ (5)
      • ๐Ÿ”โ”‚Etc.. (4)
    • ๐Ÿ“‹โ”‚Study (10)
      • ๐Ÿค”โ”‚๋Œ€์™ธ ๊ต์œก (0)
      • ๐Ÿ˜โ”‚Step Mentoring (5)
      • ๐Ÿ˜˜โ”‚๐Ÿค”Security Mentoring (3)
      • ๐Ÿ“โ”‚Cover_letter (2)
    • ๐Ÿ˜˜โ”‚๐Ÿ˜’ Expansion_Society (5)
      • ๐Ÿ“šโ”‚Book report (1)
      • ๐Ÿ˜’โ”‚My_History (4)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

hELLO ยท Designed By github ์ฐธ๊ณ 
Jastes
ClientSide: CSRF
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.