web hacking ๐Ÿ–ฅ/techniques โŒ principles 7

Advanced Request Smuggling

๋” ๋†’์€ ์ˆ˜์ค€์˜ HTTP request smuggling ๊ธฐ์ˆ ์€ ๋ฌผ๋ก  ์กด์žฌํ•œ๋‹ค. HTTP/2๋Š” request smuggling์˜ ์ƒˆ๋กœ์šด ์˜์—ญ์„ ์ „๊ฐœํ•˜๋ฉฐ ๊ธฐ์กด์˜ ์•ˆ์ „ํ•œ ํ™˜๊ฒฝ์„ ์œ„ํ˜‘ํ•˜๊ณ ์žˆ๋‹ค.01. HTTP/2 requeste smugglingRequest smuggling์€ ๊ทผ๋ณธ์ ์œผ๋กœ ์„œ๋ฒ„๋“ค์˜ ์š”์ฒญ ๊ธธ์ด ํŒ๋‹จ์˜ ๋ถˆ์ผ์น˜๋กœ ์ผ์–ด๋‚œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  HTTP/2๋Š” ์˜ค๋žœ๊ธฐ๊ฐ„ ๊ฐ•๋ ฅํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๋ฐ”ํƒ•์œผ๋กœ ์ด์— ๋„๋–ก์—†๋‹ค๊ณ  ์—ฌ๊ฒจ์กŒ๋‹ค. HTTP/2๋Š” ์š”์ฒญ์„ ํ”„๋ ˆ์ž„ ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„์–ด ์ „๋‹ฌํ•˜๊ณ  ์ด ํ”„๋ ˆ์ž„ ๊ธธ์ด์˜ ์ดํ•ฉ์ด ์š”์ฒญ์˜ ๊ธธ์ด๊ฐ€ ๋œ๋‹ค. ์ด๋ก ์ƒ ์ด๋Ÿฌํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ๊ณต๊ฒฉ์ž๋กœ ํ•˜์—ฌ๊ธˆ ์• ๋งค๋ชจํ˜ธํ•œ ์š”์ฒญ ๊ธธ์ด๋ฅผ ๋ณด๋‚ด๋Š” ์‹œ๋„์กฐ์ฐจ ํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ํ˜„์‹ค์€ ํ”ํ•˜์ง€๋Š” ์•Š์ง€๋งŒ HTTP/2 downgrading ์ด๋ผ๋Š” ์œ„ํ—˜์ด ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค..

HTTP Request Smuggling Exploit

HTTP Request Smuggling(HRS)์€ ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์˜ ๊ณต๊ฒฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์•„๋ž˜ ๊ธ€์€ ๊ธฐ๋ณธ ๊ฐœ๋…์— ๊ด€ํ•œ ๋‚ด์šฉ์ด๋‹ค.2024.12.08 - [web hacking ๐Ÿ–ฅ/techniques โŒ principles] - HTTP Request Smuggling ์ทจ์•ฝ์  HTTP Request Smuggling ์ทจ์•ฝ์ 01. HTTP Request Smuggling ์ทจ์•ฝ์ ?HTTP Request Smuggling(HRS) ์ทจ์•ฝ์ ์€ 2005๋…„ ๋ฐœ๊ฒฌ๋˜์—ˆ๋‹ค. Front-end ์„œ๋ฒ„์™€ Back-end ์„œ๋ฒ„ ๊ฐ„์˜ ๋ถˆ์ผ์น˜๋ฅผ ์ด์šฉํ•ด ์ถ”๊ฐ€์ ์ธ Request๋ฅผ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ๋‹ค.Front-end : Content-Length ํ—ค๋”๋ฅผ ์šฐkortsec1n4mationm.tistory.com 01. Front-end Securit..

HTTP Request Smuggling ์ทจ์•ฝ์ 

01. HTTP Request Smuggling ์ทจ์•ฝ์ ?HTTP Request Smuggling(HRS) ์ทจ์•ฝ์ ์€ 2005๋…„ ๋ฐœ๊ฒฌ๋˜์—ˆ๋‹ค. Front-end ์„œ๋ฒ„์™€ Back-end ์„œ๋ฒ„ ๊ฐ„์˜ ๋ถˆ์ผ์น˜๋ฅผ ์ด์šฉํ•ด ์ถ”๊ฐ€์ ์ธ Request๋ฅผ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ๋‹ค.Front-end : Content-Length ํ—ค๋”๋ฅผ ์šฐ์„ ์‹œBack-end : Transfer-Encoding ํ—ค๋”๋ฅผ ์šฐ์„ ์‹œ์œ„์™€๊ฐ™์€ ์˜ˆ์‹œ ํ™˜๊ฒฝ์—์„œ ์•ผ๊ธฐ๋  ์ˆ˜ ์žˆ๋Š” ๋ณด์•ˆ๋ฌธ์ œ๋Š” ๊ถŒํ•œ ์ƒ์Šน(Privilege Escalation), ์„ธ์…˜ ํ•˜์ด์žฌํ‚น(Session Hijacking), ๋ฏผ๊ฐํ•œ ์ •๋ณด ๋…ธ์ถœ(Critical Info Leak) ๋“ฑ์ด ์žˆ๋‹ค.02. HRS์˜ ๋ฐฐ๊ฒฝ, HTTP Request ํ—ค๋”HTTP/1 ์š”์ฒญ์˜ ๋์„ ํŒ๋‹จํ•˜๋Š” ๋ฐฉ์‹์—๋Š” Content-Length ํ—ค๋”..

Race Condition

Race Condition ์ด๋ž€? ์ƒํ™ฉ ํ•˜๋‚˜๋ฅผ ๊ฐ€์ •ํ•ด๋ณด์ž. num์ด๋ผ๋Š” ํ•˜๋‚˜์˜ ๋ฉ”๋ชจ๋ฆฌ์— 5๋ฅผ ๋„ฃ๊ณ , Process1์€ ํ•ด๋‹น ๋ฉ”๋ชจ๋ฆฌ์— 1 ๋”ํ•˜๊ธฐ, Process2๋Š” 1 ๋นผ๊ธฐ๋ฅผ ์ง„ํ–‰ ํ•œ๋‹ค. ๋งŒ์ผ ๋‘ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋™์‹œ์— num ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•œ๋‹ค๋ฉด ๊ฒฐ๊ณผ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ ๊นŒ? 5๋ผ๋Š” ๊ฐ’์„ 1๋”ํ•˜๊ณ  1๋นผ๋ฉด ๊ฒฐ๊ณผ์ ์œผ๋กœ ๊ทธ๋Œ€๋กœ ์ผ ๊ฒƒ ๊ฐ™๋‹ค. ํ•˜์ง€๋งŒ IMG1์˜ ์•„๋ž˜์ชฝ์„ ๋ณด๋ฉด ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด, num์ด ํ•ญ์ƒ 5๋ผ๊ณ  ํ™•์ •์ง€์„ ์ˆ˜๋Š” ์—†๋‹ค. ์œ„ ์ƒํ™ฉ์„ Race Condition์ด๋ผ ํ•œ๋‹ค. Race Conditon์€ ๋‘˜ ์ด์ƒ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ณตํ†ต ์ž์›์— ๋™์‹œ์— ์ ‘๊ทผํ• ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ํ˜„์ƒ์ด๋‹ค. 'race'์˜ ์˜๋ฏธ๋Œ€๋กœ ํ•œ์ •๋œ ์ž์›์„ ๋‘๊ณ  ์„œ๋กœ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ๊ฒฝ์Ÿํ•˜๋Š” ์ƒํ™ฉ์ด๋‹ค. ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์“ฐ๋Š” ํ”„๋กœ์„ธ์Šค๋ผ๋ฆฌ๋Š” ์ด๋Ÿฌํ•œ Race Condition์ด ๋ฐœ์ƒํ• ..

SSTI - RCE(Remote Code Execution) ์—ฐ๊ณ„ ๊ณต๊ฒฉ

SSTI(Server Side Template Injection)์„ ํ†ตํ•œ ์—ฌ๋Ÿฌ ๊ณต๊ฒฉ ๊ฐˆ๋ž˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์•Œ์•„๋ณผ๊นŒ ํ•ฉ๋‹ˆ๋‹ค. ์šฐ์„ , SSTI๊ฐ€ ์ƒ์†Œํ•˜๋‹ค๋ฉด ์ด์ „ ํฌ์ŠคํŒ…์„ ๋ณด๊ณ ์˜ค์‹œ๋Š” ๊ฒƒ์„ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค. 2023.09.12 - [web hacking/techniques] - SSTI ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ์˜ˆ์ œ ์‹ค์Šต SSTI ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ์˜ˆ์ œ ์‹ค์Šต SSTI(Server Side Template Injection)์ทจ์•ฝ์  ๊ณต๊ฒฉ ์ฝ”๋“œ๊ฐ€ ์›น ํ…œํ”Œ๋ฆฟ์— ํฌํ•จ๋œ ์ƒํƒœ์—์„œ ์„œ๋ฒ„ ์ธก์—์„œ ํ…œํ”Œ๋ฆฟ ์ธ์ ์…˜์ด ๋ฐœํ˜„๋˜๋Š” ๊ณต๊ฒฉ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์•ž์„œ, ํ…œํ”Œ๋ฆฟ ์—”์ง„์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ๋ฅผ ํ•ด๋ด…์‹œ๋‹ค. ์›น ํ…œํ”Œ kortsec1n4mationm.tistory.com RCE(Remote Code Execution)์ด๋ž€, ์ธ๊ฐ€๋ฐ›์ง€ ์•Š์€ ๊ณต๊ฒฉ์ž๊ฐ€ ์•…์„ฑ์ฝ”๋“œ๋ฅผ ์„œ๋ฒ„์—์„œ ์›๊ฒฉ์œผ๋กœ ..

SSTI ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ์˜ˆ์ œ ์‹ค์Šต

SSTI(Server Side Template Injection)์ทจ์•ฝ์  ๊ณต๊ฒฉ ์ฝ”๋“œ๊ฐ€ ์›น ํ…œํ”Œ๋ฆฟ์— ํฌํ•จ๋œ ์ƒํƒœ์—์„œ ์„œ๋ฒ„ ์ธก์—์„œ ํ…œํ”Œ๋ฆฟ ์ธ์ ์…˜์ด ๋ฐœํ˜„๋˜๋Š” ๊ณต๊ฒฉ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์•ž์„œ, ํ…œํ”Œ๋ฆฟ ์—”์ง„์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ๋ฅผ ํ•ด๋ด…์‹œ๋‹ค. ์›น ํ…œํ”Œ๋ฆฟ ์—”์ง„์€ ์›นํŽ˜์ด์ง€ ์† ๊ณ ์ •์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋ถ€๋ถ„์„ ํ…œํ”Œ๋ฆฟ์œผ๋กœ ๋ฏธ๋ฆฌ ์ž‘์„ฑํ•ด ๋‘๊ณ , ๋™์ ์œผ๋กœ ๋ณ€๊ฒฝ๋˜๋Š” ๋ฐ์ดํ„ฐ ์˜์—ญ์„ ๊ฒฐํ•ฉํ•˜์—ฌ ์›น ๋ฌธ์„œ๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ํ™”๋ฉด์— ์ถœ๋ ฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ์‚ฌ์ง„์€ ์ œ๊ฐ€ ๋ฏธ๋ฆฌ ๊ตฌ์ถ•ํ•ด๋‘” ์‹œํ—˜ ํ™˜๊ฒฝ์ž…๋‹ˆ๋‹ค. ๋ฉ”์ธ ํŽ˜์ด์ง€ ์† ๋ฐฐ๊ฒฝ์— ๊ฐ™์€ ์˜์ƒ์ด ๊น”๋ ค์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋™์ผํ•œ, ์ค‘๋ณต๋œ ๋ถ€๋ถ„์„ ๋ฏธ๋ฆฌ ํ…œํ”Œ๋ฆฟ์œผ๋กœ ๋งŒ๋“ค์–ด๋†“์œผ๋ฉด ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์ข€ ๋” ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. {% with messages = get_flashed_messages() %} {% if messages %} ..

sql-injection ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ์˜ˆ์ œ ์‹ค์Šต

๊ฐœ์ธ์ ์œผ๋กœ ์ •๋ณด๋ณด์•ˆ ๋ถ„์•ผ๋ฅผ ์ฒ˜์Œ ์ ‘ํ•˜๊ฒŒ๋œ ๊ณ„๊ธฐ์ด์ž,์ง€๊ธˆ๋„ web ํ•ดํ‚น ํ•˜๋ฉด ๊ฐ€์žฅ ๋จผ์ € ๋– ์˜ค๋ฅด๋Š” ์˜ค๋Š˜์˜ ์ฃผ์ธ๊ณต ๋ฐ”๋กœ sql injection ์ž…๋‹ˆ๋‹ค.  ๋ฒŒ์จ๋ถ€ํ„ฐ ๋‚ฏ์„ค์ง€๋งŒ ์ฝ”๋”ฉ์„ ์ ‘ํ•˜๊ธฐ๋งŒ ํ•ด๋ด๋„ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ๋ถ€ํ„ฐ์˜ ๋ชจ๋“  ๊ณผ์ •์€ ์ œ๊ฐ€ ์ง์ ‘ ๋งŒ๋“  ์›น์—์„œ ํ…Œ์ŠคํŠธ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.ํ—ˆ๊ฐ€๋˜์ง€ ์•Š์€ ํƒ€ ์‚ฌ์ดํŠธ์—์„œ ๋ฌธ์ œ์‹œ, ์ฑ…์ž„์€ ๋ณธ์ธ์—๊ฒŒ ์žˆ์Œ์„ ๊ผญ ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ œ๊ฐ€ ์—ฐ์Šต์„ ์œ„ํ•ด ๋งŒ๋“  ์›น ํŽ˜์ด์ง€ ์ž…๋‹ˆ๋‹ค.html, css, ์•ฝ๊ฐ„์˜ js๋กœ ํ”„๋ŸฐํŠธ๋ฅผ ๊ทธ๋ฆฌ๊ณ  flask์™€ mysql๋กœ ๋ฐฑ์—”๋“œ๋ฅผ ๊ตฌ์—ฐํ•˜์˜€์Šต๋‹ˆ๋‹ค.  ๋‹ค๋“ค SQL์— ๋Œ€ํ•ด์„œ ๋“ค์–ด๋ณด์…จ๋‚˜์š”?SQL์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด sql injection ๊ธฐ๋ฒ•์€ sql๊ตฌ๋ฌธ์„ ์‚ฝ์ž…ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘๊ทผํ•˜๋Š” ๊ณต๊ฒฉ ๊ธฐ..