[์ปดํ“จํ„ฐ๊ตฌ์กฐ] ๋น„ํŠธ ์—ฐ์‚ฐ ํ”„๋กœ๊ทธ๋žจ ์ž‘์„ฑํ•˜๊ธฐ
ยท
Study/CS
๋ณดํ˜ธ๋˜์–ด ์žˆ๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค.
[์ปดํ“จํ„ฐ๊ตฌ์กฐ] ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ์™€ ์–ธ๋”ํ”Œ๋กœ์šฐ
ยท
Study/CS
2์˜ ๋ณด์ˆ˜ ์ด์ง„ ํ‘œํ˜„์ „๊ณต์ˆ˜์—…๋•Œ ๋ฐฐ์› ๋˜ ๋‚ด์šฉ์„ ์ค„์ค„์ค„ ์จ๋ณด๋ฉด!2์ง„์ˆ˜๋กœ 10์ง„์ˆ˜, ํŠนํžˆ ์Œ์ˆ˜๊นŒ์ง€ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉ์‹(ํŒฉ ํ˜•์‹, ๋ถ€ํ˜ธ ์ ˆ๋Œ“๊ฐ’ ํ˜•์‹, 1์˜๋ณด์ˆ˜)์„ ์‚ฌ์šฉํ–ˆ๋‹ค.ํŒฉ ํ˜•์‹์€ ํšจ์œจ์ ์ด์ง€ ์•Š๊ณ , ๋ถ€ํ˜ธ ์ ˆ๋Œ“๊ฐ’ ํ˜•์‹๊ณผ 1์˜ ๋ณด์ˆ˜๋Š” 0์„ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ์‹์ด ๋‘๊ฐ€์ง€(10000000, 00000000)์ธ ๋“ฑ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€๋‹ค. ๋”ฐ๋ผ์„œ, ๊ฐ€์žฅ ํšจ์œจ์ ์ด๊ณ  ํ˜„๋Œ€ํ™”๋œ ๋ฐฉ๋ฒ•์ธ 2์˜ ๋ณด์ˆ˜๋ฅผ ํ˜„์žฌ ์‚ฌ์šฉ์ค‘์ธ ๊ฒƒ์ด๋‹ค~~ ๋ถ€ํ˜ธ ๋น„ํŠธ (Sign Bit): 2์˜ ๋ณด์ˆ˜ ํ‘œํ˜„์—์„œ ๊ฐ€์žฅ ์™ผ์ชฝ ๋น„ํŠธ, ์ฆ‰ ์ตœ์ƒ์œ„ ๋น„ํŠธ๋Š” ๋ถ€ํ˜ธ ๋น„ํŠธ์ด๋‹ค0์€ ์–‘์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ  1์€ ์Œ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.2์˜ ๋ณด์ˆ˜ ๊ณ„์‚ฐ๋ชจ๋“  ๋น„ํŠธ๋ฅผ ๋ฐ˜์ „(0์„ 1๋กœ, 1์„ 0์œผ๋กœ ๋ฐ”๊ฟˆ)ํ•œ๋‹ค.๊ทธ ๊ฒฐ๊ณผ์— 1์„ ๋”ํ•œ๋‹ค.5 (00000101)์˜ 2์˜ ๋ณด์ˆ˜ ๊ณ„์‚ฐ๋ชจ๋“  ๋น„ํŠธ ๋ฐ˜์ „: 111110101์„..
[Dreamhack] Level 2: CSP Bypass
ยท
CTF, War game
1. ๋ฌธ์ œhttps://dreamhack.io/wargame/challenges/435 CSP BypassDescription Exercise: CSP Bypass์—์„œ ์‹ค์Šตํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ ์ˆ˜์ • ๋‚ด์—ญ 2023.08.07 Dockerfile ์ œ๊ณตdreamhack.io2. ํ•ด๊ฒฐ ๊ณผ์ •์ฝ”๋“œ ์ค‘ add_header ๋ถ€๋ถ„์—์„œ ์‘๋‹ต๊ฐ’์— CSP๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. default-src 'self': ๊ธฐ๋ณธ์ ์œผ๋กœ ๋™์ผ ์ถœ์ฒ˜(d ๊ฐ™์€ ๋„๋ฉ”์ธ)์˜ ๋ฆฌ์†Œ์Šค๋งŒ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.img-src https://dreamhack.io: ์ด๋ฏธ์ง€๋Š” https://dreamhack.io ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.style-src 'self' 'unsafe-inline': CSS๋Š” ๋™์ผ ์ถœ์ฒ˜์—์„œ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ,..
[Dreamhack] Level 2: file-csp-1
ยท
CTF, War game
1. ๋ฌธ์ œhttps://dreamhack.io/wargame/challenges/36 file-csp-1๋ฌธ์ œ์—์„œ ์š”๊ตฌํ•˜๋Š” ์กฐ๊ฑด์— ๋งž๊ฒŒ CSP๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ํ”Œ๋ž˜๊ทธ๋ฅผ ํš๋“ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Reference Introduction of Webhackingdreamhack.io2. ํ•ด๊ฒฐ ๊ณผ์ •์ฝ”๋“œ๋ฅผ ํ™•์ธํ•ด๋ณด๋ฉด, verify ๋ถ€๋ถ„์˜ ์ฝ”๋“œ๊ฐ€ ์ค‘์š”ํ•ด๋ณด์ธ๋‹ค.@APP.route('/verify', methods=['GET', 'POST'])def verify_csp(): global CSP if request.method == 'POST': csp = request.form.get('csp') try: options = webdriver.ChromeOptions() ..
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 ํ—ค๋”๊ฐ€ ๋ชจ๋‘ ๋™์ผํ•œ ์‘๋‹ต์— ์žˆ์œผ๋ฉด, ๋‘ ์ •์ฑ…์€ ๋ชจ๋‘ ์ ์šฉ๋จ. ์ฆ‰, ๋‘˜๋‹ค ์„ค์ •ํ•˜๋ฉด ํ—ˆ์šฉ๋˜์ง€ ์•Š์€ ์š”์ฒญ์ด ๋ณด๋‚ด์ง€์ง€๋„ ์•Š๊ณ  ๋ณด๊ณ ์„œ๋„ ๋ณด๋‚ด์ง. (๋ณด์•ˆ ๊ฐ•ํ™”์˜ ํšจ๊ณผ)  ํƒœ๊ทธ๋ฅผ ํ†ตํ•ด ํ™œ์„ฑํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ..
[Dreamhack] Level 2: baby-sqlite
ยท
CTF, War game
1. ๋ฌธ์ œ https://dreamhack.io/wargame/challenges/1 baby-sqlite๋กœ๊ทธ์ธ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. SQL INJECTION ์ทจ์•ฝ์ ์„ ํ†ตํ•ด ํ”Œ๋ž˜๊ทธ๋ฅผ ํš๋“ํ•˜์„ธ์š”! ํ•ด๋‹น ๋ฌธ์ œ๋Š” ์ˆ™๋ จ๋œ ์›นํ•ด์ปค๋ฅผ ์œ„ํ•œ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.dreamhack.io2. ํ•ด๊ฒฐ ๊ณผ์ •๋กœ๊ทธ์ธ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” uid,upw ๊ฐ’์„ ์ž…๋ ฅํ•ด์•ผ ํ•œ๋‹ค. (๋ชจ๋‘ ์†Œ๋ฌธ์ž๋กœ ์ž…๋ ฅ๋จ) level๊ฐ’์€ 9๋กœ ํ•˜๋“œ์ฝ”๋”ฉ๋˜์–ด์žˆ๋‹ค. SQL Injection ๊ณต๊ฒฉ์„ ๋ฐฉ์–ดํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ ์ž…๋ ฅ๊ฐ’์— ๋ชจ๋‘ ํ•„ํ„ฐ๋ง์„ ๊ฑธ์–ด๋‘”๋‹ค.  [ , ]: ํŠน์ • SQL ๋ฌธ๋ฒ•์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ž.,: SQL ๋ช…๋ น์–ด์—์„œ ์—ฌ๋Ÿฌ ๊ฐ’์„ ๊ตฌ๋ถ„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ.admin: ๊ด€๋ฆฌ์ž ๊ณ„์ •๊ณผ ๊ด€๋ จ๋œ ์ž…๋ ฅ์„ ์ œํ•œ.select: ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” SQL ๋ช…๋ น์–ด.', ": SQL ๋ฌธ์ž์—ด..
์บ์‹œ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ ์ทจ์•ฝ์ ์„ ์ด์šฉํ•œ ์˜์ƒ ๋ณต์› ๋ฐ ์žฌ๋ฐฐํฌ ๊ฐ€๋Šฅ์„ฑ ๋ถ„์„
ยท
Project/์˜์ƒ ํ”Œ๋žซํผ-์บ์‹œ
2022๋…„๋„์— ์ธ์ฝ”๊ทธ๋‹ˆํ† ๋ฅผ ์œ„ํ•ด ์ค€๋น„ํ–ˆ๋˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹ฌํ™” ์—ฐ๊ตฌํ•˜์—ฌ ํˆฌ๊ณ ํ•œ ๋…ผ๋ฌธ์ž…๋‹ˆ๋‹ค. ํฌ๋ Œ์‹ ์—ฐ๊ตฌ๋ฅผ ๊ฐœ์ธ์ •๋ณด๋ณดํ˜ธ์˜ ๊ด€์ ์—์„œ ํ•ด์„ํ•œ ์—ฐ๊ตฌ์ž…๋‹ˆ๋‹ค.   ํŒฌ๋ฐ๋ฏน ์ดํ›„ ์˜์ƒ ํ”Œ๋žซํผ์˜ ์‚ฌ์šฉ์ž ์ˆ˜๊ฐ€ ๊ธ‰์ฆํ•จ์— ๋”ฐ๋ผ, ๋ถˆ๋ฒ•์œผ๋กœ ์žฌ๋ฐฐํฌ๋˜๋Š” ๋ถˆ๋ฒ• ์˜์ƒ๋ฌผ ๋˜ํ•œ ์ฆ๊ฐ€ํ•˜๊ณ  ์žˆ๋‹ค. ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” ์บ์‹œ ํŒŒ์ผ์ด ์‰ฝ๊ฒŒ ๋…ธ์ถœ๋˜๋Š” ์บ์‹œ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์˜ ์ทจ์•ฝ์ ์„ ์•…์šฉํ•˜์—ฌ ํŒŒ์ผ์„ ๋ณต์›ํ•˜๊ณ  ์˜์ƒ์„ ์žฌ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Œ์„ ํ™•์ธํ•œ๋‹ค. ์‹ค์ œ๋กœ ์šด์˜ ์ค‘์ธ ๊ตญ๋‚ด์™ธ 23๊ฐœ์˜ ์˜์ƒ ํ”Œ๋žซํผ์„ ๋Œ€์ƒ์œผ๋กœ ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ์บ์‹œ ํŒŒ์ผ์„ ์ˆ˜์ • ๋ฐ ์กฐ๋ฆฝํ•˜๋Š” ์˜์ƒ ๋ณต์› ์‹คํ—˜์„ ํ†ตํ•ด ์บ์‹œ ํŒŒ์ผ์„ ์ด์šฉํ•œ ์˜์ƒ ๋ณต์›์ด ๊ฐ€๋Šฅํ•จ์„ ๊ฒ€์ฆํ•œ๋‹ค. ๋˜ํ•œ, ํ•ด๋‹น ์‹คํ—˜ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์˜์ƒ ํ”Œ๋žซํผ์˜ ๋ณด์•ˆ์„ฑ์„ ์ ๊ฒ€ํ•˜๊ธฐ ์œ„ํ•œ RED๋ผ๋Š” ์ƒˆ๋กœ์šด ๋ณด์•ˆ ํ‰๊ฐ€ ๋ชจ๋ธ์„ ์ œ์‹œํ•˜๊ณ  ๋Œ€์ƒ ์˜์ƒ ํ”Œ๋žซํผ์„ ํ‰๊ฐ€ํ•œ๋‹ค. ..
[Dreamhack] Level 2: Relative Path Overwrite
ยท
CTF, War game
1. ๋ฌธ์ œhttps://dreamhack.io/wargame/challenges/439 Relative Path OverwriteDescription Exercise: Relative Path Overwrite์—์„œ ์‹ค์Šตํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ ์ˆ˜์ • ๋‚ด์—ญ 2023.08.10 bot.py ์ˆ˜์ •, Dockerfile ์ œ๊ณตdreamhack.io2. ํ•ด๊ฒฐ ๊ณผ์ •index.php ํŽ˜์ด์ง€์˜ ์ฝ”๋“œ์ด๋‹ค. page ๋ผ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋ฐ›์•„ ํ•ด๋‹น ํŽ˜์ด์ง€์— ๋งž๋Š” php ํŒŒ์ผ์„ includeํ•œ๋‹ค. ํ•ด๋‹น ์ฝ”๋“œ์—์„œ .., :, / ๊ณผ ๊ฐ™์€ ๋ฌธ์ž๋Š” ํ•„ํ„ฐ๋งํ•˜๊ธฐ ๋•Œ๋ฌธ์— LFI ๊ณต๊ฒฉ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.  vuln.php ์ฝ”๋“œ๋Š” filter.js ๋ผ๋Š” ํŒŒ์ผ์„ ์Šคํฌ๋ฆฝํŠธ ํƒœ๊ทธ์˜ src๋กœ ๋กœ๋“œํ•˜๊ณ (filter๋ผ๋Š” ๋ฐฐ์—ด์ด ์ •์˜๋˜์–ด ์žˆ์Œ),..
[์ทจ์•ฝ์ ] 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..
[Dreamhack] Level 4: Flask-Dev
ยท
CTF, War game
1. ๋ฌธ์ œ https://dreamhack.io/wargame/challenges/74 Flask-Dev์ทจ์•ฝ์ ์„ ์ฐพ์•„ ํ”Œ๋ž˜๊ทธ๋ฅผ ํš๋“ํ•ด๋ณด์„ธ์š”. ํ”Œ๋ž˜๊ทธ๋Š” /flag ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๋ฌธ์ œ๋Š” ์ˆ™๋ จ๋œ ์›นํ•ด์ปค๋ฅผ ์œ„ํ•œ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.dreamhack.io 2. ํ•ด๊ฒฐ ๊ณผ์ •์ฝ”๋“œ์˜ ์•„๋ž˜ ๋ถ€๋ถ„์„ ๋ณด๋ฉด, debug=True๋ผ๊ณ  ๋˜์–ด์žˆ๋‹ค. Flask์—์„œ Dubugger ๋ชจ๋“œ๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์„ ๋•Œ, ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ ์—๋Ÿฌ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ํŽ˜์ด์ง€๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค. ํ•ด๋‹น ์—๋Ÿฌ ํŽ˜์ด์ง€์—์„œ๋Š” ์ฝ˜์†”์„ ์‹คํ–‰์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๋•Œ ์ฝ˜์†”์„ ์‹คํ–‰์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ๋Š” PIN์ด ํ•„์š”ํ•˜๋‹ค. #!/usr/bin/python3from flask import Flaskimport osapp = Flask(__name__)app.secret_key = os...
mnzy๐ŸŒฑ
'๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (4 Page)
-->