[ํŒŒ์ด์ฌ] pickle module (Deserialize ์ทจ์•ฝ์ )
ยท
Study/WebHacking
1. Serialization & DeserializationํŒŒ์ด์ฌ์˜ pickle ๋ชจ๋“ˆ์€ ๊ฐ์ฒด ๊ตฌ์กฐ์˜ ์ง๋ ฌํ™”(serialization)์™€ ์—ญ์ง๋ ฌํ™”(deserialization)๋ฅผ ์œ„ํ•œ ๋ฐ”์ด๋„ˆ๋ฆฌ ํ”„๋กœํ† ์ฝœ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค. ์‰ฝ๊ฒŒ ๋งํ•ด, pickle ๋ชจ๋“ˆ์€ ํŒŒ์ด์ฌ ๊ฐ์ฒด๋ฅผ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด ๋ณ€ํ™˜ํ•˜๊ณ , ๋‹ค์‹œ ๊ทธ ๊ฐ์ฒด๋กœ ๋ณต์›ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋„๊ตฌ์ด๋‹ค.serialization : ํŒŒ์ด์ฌ ๊ฐ์ฒด ๊ณ„์ธต ๊ตฌ์กฐ -> ๋ฐ”์ดํŠธ ์ŠคํŠธ๋ฆผ = picklingdeserialize : ๋ฐ”์ดํŠธ ์ŠคํŠธ๋ฆผ -> ํŒŒ์ด์ฌ ๊ฐ์ฒด ๊ณ„์ธต ๊ตฌ์กฐ  = unpickling์ฆ‰, ์ง๋ ฌํ™”๋ฅผ ํ•˜๋Š” ์ด์œ ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํŒŒ์ผ/DB์— ์ €์žฅํ•˜๊ฑฐ๋‚˜ ๋˜๋Š” ์„ธ์…˜์— ๊ฑธ์ณ ํ”„๋กœ๊ทธ๋žจ์„ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๊ฑฐ๋‚˜, ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „๊ณตํ•˜๊ธฐ ์œ„ํ•ด์„œ์ด๋‹ค.  2. Pickle ..
[PHP] strcmp ํ•จ์ˆ˜ ์ทจ์•ฝ์ 
ยท
Study/WebHacking
strcmp ํ•จ์ˆ˜ ์ž์ฒด๋Š” PHP์—์„œ ์•ˆ์ „ํ•˜๊ฒŒ ๋ฌธ์ž์—ด์„ ๋น„๊ตํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.PHP์—์„œ strcmp ํ•จ์ˆ˜๋Š” ๋‘ ๋ฌธ์ž์—ด์„ ๋น„๊ตํ•˜์—ฌ ๊ฐ™์œผ๋ฉด 0์„, ๋‹ค๋ฅด๋ฉด 0์ด ์•„๋‹Œ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.(strcmp($a, $b) ๋ฅผ ์‹คํ–‰ ํ•  ๋•Œ, $a๊ฐ€ ์ž‘์œผ๋ฉด ์Œ์ˆ˜, $b๊ฐ€ ์ž‘์œผ๋ฉด ์–‘์ˆ˜, ๊ทธ๋ฆฌ๊ณ  $a์™€ $b๊ฐ€ ๊ฐ™์œผ๋ฉด 0 ์ด ๋ฐ˜ํ™˜)์ด ํ•จ์ˆ˜๋Š” ๋ฌธ์ž์—ด์˜ ๊ฐ’๊ณผ ํƒ€์ž…์„ ์—„๊ฒฉํ•˜๊ฒŒ(strict) ๋น„๊ตํ•œ๋‹ค. ํ•˜์ง€๋งŒ strcmp๋Š” ์ธ์ž๊ฐ’์œผ๋กœ ๋ฌธ์ž์—ด์ด ๋“ค์–ด์˜ค์ง€ ์•Š์„ ๊ฒฝ์šฐ(๋ฐฐ์—ด๋กœ ์ธ์ž๊ฐ’์„ ์ฃผ๊ฒŒ ๋  ๊ฒฝ์šฐ), NULL์„ ์ถœ๋ ฅํ•˜๋Š” ์ทจ์•ฝ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์˜ˆ์ œ GET ๋ฐฉ์‹์œผ๋กœ ์š”์ฒญ์„ ๋ฐ›์•„ admin์ธ์ง€ ์•„๋‹Œ์ง€ ํ™•์ธํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ์กด์žฌํ•  ๋•Œ,test = 1์„ ์ฃผ๋ฉด no๋ฅผ ์ถœ๋ ฅํ•ด์ฃผ๊ณ  test=admin์„ ์ž…๋ ฅํ•˜๋ฉด yes๋ฅผ ์ถœ๋ ฅํ•  ๊ฒƒ์ด๋‹ค.  (php 7.1 ๋ฒ„์ „์—์„œ ํ…Œ..
[PHP] Type Juggling ์ทจ์•ฝ์ 
ยท
Study/WebHacking
PHP๋Š” ๋น„๊ต ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด == ์—ฐ์‚ฐ์ž์™€  === ์—ฐ์‚ฐ์ž๋ฅผ ์ง€์›ํ•œ๋‹ค.์ด๋•Œ, PHP๋Š” ๋‘ ๊ฐ’์„ ๋น„๊ตํ•˜๊ธฐ ์ „์— ํ•„์š”์— ๋”ฐ๋ผ ํƒ€์ž…์„ ๋ณ€ํ™˜ํ•œ๋‹ค.์ด๋Ÿฌํ•œ ๋ณ€ํ™˜์€ ์˜๋„ํ•˜์ง€ ์•Š์€ ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•˜์—ฌ ๋ณด์•ˆ ์ทจ์•ฝ์ ์„ ๋ฐœ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. loose (๋Š์Šจํ•œ) ๋น„๊ต ==     vs    strict (์—„๊ฒฉํ•œ) ๋น„๊ต === ==: ๋‘ ๊ฐ’์˜ ํƒ€์ž…์ด ๋‹ค๋ฅด๋ฉด ํƒ€์ž…์„ ๋ณ€ํ™˜ํ•œ ํ›„ ๋น„๊ต (์ฆ‰, ๊ฐ’๋งŒ ๋น„๊ต)===: ๋‘ ๊ฐ’์˜ ํƒ€์ž…๊ณผ ๊ฐ’ ๋ชจ๋‘ ๊ฐ™์•„์•ผ TRUE ๋ฆฌํ„ด ๊ธฐ๋ณธ ์˜ˆ์ œ var_dump(0 == '0'); // truevar_dump(0 == '0.0'); // truevar_dump(0 == ''); // truevar_dump(0 == null); // truevar_dump(0 == 'string'); // true (PHP..
CSP ์šฐํšŒ
ยท
Study/WebHacking
1. CSP CSP (์ฝ˜ํ…์ธ  ๋ณด์•ˆ ์ •์ฑ…Content Security Policy)๋Š” XSS, clickjacking์ด๋‚˜ ๋ฐ์ดํ„ฐ ์ฃผ์ž…๊ณผ ๊ฐ™์€ ํŠน์ • ์›น์‚ฌ์ดํŠธ ๊ด€๋ จ ๊ณต๊ฒฉ์„ ํƒ์ง€ ํ•˜๊ฑฐ๋‚˜ ์™„ํ™” ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค. CSP๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด Content-Security-Policy HTTP ํ—ค๋”๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์›น ์„œ๋ฒ„๋ฅผ ๊ตฌ์„ฑํ•ด์•ผ ํ•œ๋‹ค. Content-Security-Policy-Report-Only: policy +) Content-Security-Policy-Report-Only ํ—ค๋”์™€ Content-Security-Policy ํ—ค๋”๊ฐ€ ๋ชจ๋‘ ๋™์ผํ•œ ์‘๋‹ต์— ์žˆ์œผ๋ฉด, ๋‘ ์ •์ฑ…์€ ๋ชจ๋‘ ์ ์šฉ๋จ. ์ฆ‰, ๋‘˜๋‹ค ์„ค์ •ํ•˜๋ฉด ํ—ˆ์šฉ๋˜์ง€ ์•Š์€ ์š”์ฒญ์ด ๋ณด๋‚ด์ง€์ง€๋„ ์•Š๊ณ  ๋ณด๊ณ ์„œ๋„ ๋ณด๋‚ด์ง. (๋ณด์•ˆ ๊ฐ•ํ™”์˜ ํšจ๊ณผ)  ํƒœ๊ทธ๋ฅผ ํ†ตํ•ด ํ™œ์„ฑํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ..
[์ทจ์•ฝ์ ] Relative Path Overwrite
ยท
Study/WebHacking
Relative Path Overwrite (RPO)Relative Path Overwrite (RPO)๋Š”  ์ƒ๋Œ€ ๊ฒฝ๋กœ์˜ URL์„ ๋ฎ์–ด์จ์„œ ์˜๋„ํ•˜์ง€ ์•Š์€ ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ณต๊ฒฉ ๋ฐฉ๋ฒ•์ด๋‹ค.์„œ๋ฒ„์™€ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ƒ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ํ•ด์„ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ฐจ์ด์ ์„ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.  Relative Path Confusion์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆฐ๋‹ค.  RPO๋ฅผ ์›น์—์„œ ์ด์•ผ๊ธฐํ•  ๋• link, script ๋“ฑ resource๋ฅผ ์ฝ์–ด์˜ค๋Š” ๊ณผ์ •์—์„œ Host๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š์€ URL์„ Relative URL์ด๋ผ๊ณ  ํ•˜๊ณ , ์ด๋ฅผ Overwriteํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์— resource์˜ ์ฃผ์†Œ ๋“ฑ์„ ์กฐ์ž‘ํ•˜์—ฌ ๊ณต๊ฒฉ์ž๊ฐ€ ์›ํ•˜๋Š” ์•ก์…˜์œผ๋กœ ์œ ๋„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. (๋Œ€ํ‘œ์ ์œผ๋กœ XSS) Path Description ExampleAbsolute URL Hos..
[์ทจ์•ฝ์ ] CSS Injection
ยท
Study/WebHacking
Cascading Style Sheet (CSS)๋Š” HTML๋กœ ์ •์˜๋œ ๋ฌธ์„œ๋ฅผ ๋‹ค์ฑ„๋กญ๊ฒŒ ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.๊ฐœ๋ฐœ์ž๋Š” CSS๋กœ HTML ์š”์†Œ๋“ค์ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์–ด๋–ป๊ฒŒ ๋ณด์—ฌ์งˆ์ง€ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฌธ์„œ์˜ ๋ฐฐ๊ฒฝ ์‚ฌ์ง„, ์ƒ‰์ƒ์„ ๋น„๋กฏํ•ด ๋ฒ„ํŠผ์— ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ ค๋‘์—ˆ์„ ๋•Œ ์–ด๋–ค ์ƒ‰์ƒ๊ณผ ์†๋„๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ‘œํ˜„์— ์‚ฌ์šฉ๋  ์ž„์˜์˜ CSS ์ฝ”๋“œ๋ฅผ ์ฃผ์ž…์‹œ์ผœ ์˜๋„ํ•˜์ง€ ์•Š์€ ์†์„ฑ์ด ์ •์˜๋˜๋Š” ๊ฒƒ์„ CSS Injection์ด๋ผ๊ณ  ํ•œ๋‹ค. CSS Injection์€ XSS์™€ ๋น„์Šทํ•˜๊ฒŒ ์›น ํŽ˜์ด์ง€ ๋กœ๋”ฉ ์‹œ ์•…์˜์ ์ธ ๋ฌธ์ž์—ด์„ ์‚ฝ์ž…ํ•˜์—ฌ ์•…์˜์ ์ธ ๋™์ž‘์„ ์ด๋„๋Š” ๊ณต๊ฒฉ์ด๋‹ค.๊ณต๊ฒฉ์ž๊ฐ€ ์ž„์˜ CSS ์†์„ฑ์„ ์‚ฝ์ž…ํ•ด ์›นํŽ˜์ด์ง€์˜ UI (์ƒ๊น€์ƒˆ)๋ฅผ ๋ณ€์กฐํ•˜๊ฑฐ๋‚˜ CSS ์†์„ฑ์˜ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ์›น ํŽ˜์ด์ง€๋‚ด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์™ธ๋ถ€๋กœ ํ›”์น  ์ˆ˜ ์žˆ๋‹ค.์ด๋•Œ CSS Injection์„..
[์ทจ์•ฝ์ ] SSRF
ยท
Study/WebHacking
1. CSRF vs SSRF ์„œ๋น„์Šค ๊ฐ„ HTTP ํ†ต์‹ ์ด ์ด๋ค„์งˆ ๋•Œ ์š”์ฒญ ๋‚ด์— ์ด์šฉ์ž์˜ ์ž…๋ ฅ๊ฐ’์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๋•Œ ์ด์šฉ์ž์˜ ์ž…๋ ฅ๊ฐ’์œผ๋กœ ์ธํ•ด ๊ฐœ๋ฐœ์ž๊ฐ€ ์˜๋„ํ•˜์ง€ ์•Š์€ ์š”์ฒญ์ด ์ „์†ก๋  ์ˆ˜ ์žˆ๋‹ค. Server-side Request Forgery(SSRF)๋Š” ์›น ์„œ๋น„์Šค์˜ ์š”์ฒญ์„ ๋ณ€์กฐํ•˜๋Š” ์ทจ์•ฝ์ ์œผ๋กœ, ์„œ๋ฒ„ ์ธก์—์„œ ์œ„์กฐ๋œ HTTP ์š”์ฒญ์„ ๋ฐœ์ƒ์‹œ์ผœ ์ง์ ‘์ ์ธ ์ ‘๊ทผ์ด ์ œํ•œ๋œ ์„œ๋ฒ„ ๋‚ด๋ถ€ ์ž์›์— ์ ‘๊ทผํ•˜์—ฌ ์™ธ๋ถ€๋กœ ๋ฐ์ดํ„ฐ ์œ ์ถœ ๋ฐ ์˜ค๋™์ž‘์„ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ณต๊ฒฉํ˜•ํƒœ๋งŒ ๋ณด๋ฉด ์œ„์กฐ๋œ HTTP ์š”์ฒญ(Request Forgery)๋ฅผ ์ด์šฉํ•œ ๊ณต๊ฒฉ์ด๊ธฐ ๋•Œ๋ฌธ์— CSRF(Cross Site Request Forgery)์™€ ์œ ์‚ฌํ•˜๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์œผ๋‚˜ ๊ณต๊ฒฉ์ž์˜ ๊ณต๊ฒฉ์ด ๋ฐœํ˜„๋˜๋Š” ์ง€์ ์ด ์„œ๋ฒ„ ์ธก(Server Side)์ธ์ง€ ํด๋ผ์ด์–ธํŠธ ์ธก(Clien..
[์ทจ์•ฝ์ ] SQL Injection
ยท
Study/WebHacking
๋ณดํ˜ธ๋˜์–ด ์žˆ๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค.
XSS ๊ณต๊ฒฉ ๋ฐฉ์–ด์™€ ์šฐํšŒ
ยท
Study/WebHacking
๋ณดํ˜ธ๋˜์–ด ์žˆ๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค.
[์ทจ์•ฝ์ ] Client Side: Cross Site Scripting (XSS)
ยท
Study/WebHacking
https://learn.dreamhack.io/173์™€ https://www.fis.kr/ko/major_biz/cyber_safety_oper/attack_info/security_news?articleSeq=3408 ๋“ฑ ๋‹ค์–‘ํ•œ ์ •๋ณด๋ฅผ ๋ณด๊ณ  ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ํ‹€๋ฆฐ ๋‚ด์šฉ์ด ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€๋กœ ์•Œ๋ ค์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. XSS ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ์ทจ์•ฝ์ ์€ ์›น ํŽ˜์ด์ง€์˜ ์ด์šฉ์ž๋ฅผ ๋Œ€์ƒ์œผ๋กœ ๊ณต๊ฒฉํ•  ์ˆ˜ ์žˆ๋Š” ์ทจ์•ฝ์ ์ด๋‹ค. ํ•ด๋‹น ์ข…๋ฅ˜์˜ ์ทจ์•ฝ์ ์„ ํ†ตํ•ด ์ด์šฉ์ž๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•œ ์„ธ์…˜ ๋ฐ ์ฟ ํ‚ค ์ •๋ณด๋ฅผ ํƒˆ์ทจํ•˜๊ณ  ํ•ด๋‹น ๊ณ„์ •์œผ๋กœ ์ž„์˜์˜ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. XSS๋Š” ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ์ทจ์•ฝ์  ์ค‘ ํ•˜๋‚˜๋กœ, ๊ณต๊ฒฉ์ž๊ฐ€ ์‚ฌ์šฉ์ž์˜ ์›น ๋ธŒ๋ผ์šฐ์ €์— ์•…์„ฑ ์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋ฅผ ์ฃผ์ž…ํ•˜๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ ์•…์„ฑ ์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•จ์œผ๋กœ์จ, ์‚ฌ์šฉ์ž์˜ ์ •๋ณด๋ฅผ..
mnzy๐ŸŒฑ
'Study/WebHacking' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก
-->