# sql injection bypass WAF ๋๋ฆผํต ์๊ฒ์ ๋ฌธ์ ํ์ด
1. ๋ฌธ์ ํ์ธ ํ ๋ฌธ์ ํ์ผ ๋ค์ด๋ก๋
2. ๋ฌธ์ ํ์ผ ์คํ ํ ์ฝ๋ ํ์ธ
+ << Line 31 ~ 32 >>
: uid ํ๋ผ๋ฏธํฐ๋ฅผ ์ด์ฉํด ์ฌ์ฉ์๋ก๋ถํฐ ๊ฐ์ ์ ๋ ฅ๋ฐ์
+ << Line 34 ~ 45 >>
: ์ฌ์ฉ์ ์ ๋ ฅ๊ฐ์ check_WAF ํจ์์ ์ธ์๋ก ์ ๋ฌํ ํ ์ฌ์ฉ์์ ์ ๋ ฅ๊ฐ์ด ํน์ ํค์๋๋ฅผ ํฌํจํ๋์ง ์ฌ๋ถ ์กฐ์ฌ
: ํค์๋ ๊ฒ์ฌ ํ ์ฟผ๋ฆฌ์ ์ ๋ ฅ๊ฐ ์ฝ์ --> SQL Injection ์ทจ์ฝ์ ๋ฐ์
+ << Line 4 ~ 9 >>
: user ํ ์ด๋ธ์ด users ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์กด์ฌ --> ํ ์ด๋ธ ๋ด๋ถ์ idx, upw, uid ์นผ๋ผ์ด ์กด์ฌํจ
+ << Line 11 ~ 16 >>
: admin, guest, test, dream ๋ฑ์ ๊ณ์ ์ด ์กด์ฌํจ
3. ์ ์ ๋งํฌ ํ์ธ ํ ์๋ด๋ ๋งํฌ๋ก ์ ์
4. ์ฌ์ฉ์ ์ ๋ ฅ๋์ hello ์ ๋ ฅ ํ submit ๋ฒํผ ํด๋ฆญ
+ ์ฌ์ฉ์์ ์ ๋ ฅ๊ฐ์ด ๊ทธ๋๋ก WHERE๋ฌธ์ ๋ค์ด๊ฐ์ ํ์ธ
5. ์ฌ์ฉ์ ์ ๋ ฅ๋์ admin 1' ์ ๋ ฅ ํ submit ๋ฒํผ ํด๋ฆญ
+ ์์ฒญ์ด WAF( = ์น ๋ฐฉํ๋ฒฝ)์ ์ํด ๋งํ
++ WAF(Web Application Firewall = ์น ๋ฐฉํ๋ฒฝ)์ด๋?
: ์น์ ํตํด ์ด๋ค์ง๋ ์ธ๋ถ ๊ณต๊ฒฉ์ด๋ ์นจ์ (XSS, SQL injection ๋ฑ)์ ํ์งํ๊ณ , ๊ทธ์ ๋์ํ๋ ์ญํ ์ ์ํํ๋ ์น ์ดํ๋ฆฌ์ผ์ด์ ๋ณด์์ ํนํ๋ ์๋ฃจ์
6. admin ๊ณ์ ์ ๋น๋ฐ๋ฒํธ ์๋ฆฌ์๋ฅผ ์์๋ด๊ธฐ ์ํ ์ฟผ๋ฆฌ๋ฌธ ์์ฑ
+ '||(length(upw))like(5)#' ๋ฅผ ์ฌ์ฉ์ ์ ๋ ฅ๋์ ์ ๋ ฅํ๋ฉด ๋น๋ฐ๋ฒํธ์ ์๋ฆฌ์๊ฐ 5์ธ ๊ณ์ ๋ช ์ด ์ถ๋ ฅ๋๋ค.
+ '||(length(upw))like(44)#' ์ ์ ๋ ฅํ์ ๋ admin์ด ์ถ๋ ฅ๋ ๊ฒ์ ๋ณด์ admin์ ๋น๋ฐ๋ฒํธ ์๋ฆฌ์๋ 44์์ ์ ์ ์๋ค.
7. ์์๋ธ ์ ๋ณด๋ฅผ ์ฌ์ฉํ์ฌ WAF์ ํค์๋ ๊ฒ์ฌ๋ฅผ ์ฐํํ๊ธฐ ์ํ ์ฟผ๋ฆฌ๋ฌธ์ ์์ฑ ํ ์คํ
+ Flag๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์ถ๋ ฅ๋จ์ ํ์ธ