์ƒˆ์†Œ์‹

Game/Bee-box

[Bee-box] SQL ์ธ์ ์…˜ - Login Form/Hero

  • -
๋ฐ˜์‘ํ˜•

 ์ด๋ฒˆ ํฌ์ŠคํŒ…์€ SQL์ธ์ ์…˜  Login Form/Hero ๋ฐฉ๋ฒ• ์ž…๋‹ˆ๋‹ค.

SQL์ธ์ ์…˜์ด ๊ณต๊ฒฉ ๊ฐœ์š”๋„๋Š” ๊ฑฐ์˜ ๋น„์Šทํ•˜์ง€๋งŒ ์—ฌ๋Ÿฌ ์ข…๋ฅ˜๊ฐ€ ์žˆ์œผ๋‹ˆ ์ž˜ ์ˆ™์ง€ํ•˜์—ฌ ์‹ค์Šตํ•˜๋„๋ก ํ•ฉ์‹œ๋‹ค~

 

์‹ค์Šตํ•˜๋Š” ๋ชจ๋“  ๊ณต๊ฒฉ์€ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•˜์‹œ๋ฉด ์•ˆ๋ฉ๋‹ˆ๋‹ค.

ํ—ˆ์šฉ๋ฐ›์ง€ ์•Š์€ ์„œ๋น„์Šค ๋Œ€์ƒ์— ํ•ดํ‚น์„ ์‹œ๋„ํ•˜๋Š” ํ–‰๋™์€ ๊ธˆ์ง€ํ•˜๋ฉฐ,

๋ชจ๋“  ๋ฒ•์  ์ฑ…์ž„์€ ์‚ฌ์šฉ์ž์—๊ฒŒ ์žˆ๋Š” ๊ฒƒ์„ ๋ช…์‹ฌํ•ด์ฃผ์„ธ์š”.

 

์„ค๋ช…์— ์•ž์„œ, ์•ž์œผ๋กœ ํ•˜๋Š” SQL ์ธ์ ์…˜์˜ ์ผ๋ถ€ ๊ณต๊ฒฉ๋“ค์€ ๋Œ€์‘๋ฐฉ์•ˆ์„ ๋”ฐ๋กœ ํฌ์ŠคํŒ… ํ•˜์ง€ ์•Š์„๊ฒŒ์š”. 

๋Œ€๋ถ€๋ถ„ ๊ฐ™์€ ์„ค๋ช…์ด๊ธฐ ๋•Œ๋ฌธ์— ์ƒ๋žตํ•˜๊ณ , ๋‹ค๋ฅธ ๊ฒฝ์šฐ ๊ธฐ์žฌํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 


๋‚œ์ด๋„ ํ•˜

 

 

SQL Login Form/Hero ๋ฅผ ์„ ํƒ!

 

sqli_3.php ํŽ˜์ด์ง€๋Š” 'hero'๊ทธ๋ฃน์— ์†ํ•˜๋Š” ์‚ฌ์šฉ์ž๋“ค์ด ๋กœ๊ทธ์ธํ•˜๋ฉด,

๋กœ๊ทธ์ธํ•œ ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ ํžŒํŠธ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํŽ˜์ด์ง€์ด๋‹ค.

 

 

 

 

๋จผ์ € ์•„๋ฌด๊ฑฐ๋‚˜ ์ž…๋ ฅํ•ด๋ดค๋”๋‹ˆ, ์ž˜๋ชป๋œ ์ž๊ฒฉ์ด๋ผ๊ณ  ์ถœ๋ ฅ์ด ๋˜์—ˆ๋‹ค.

 

 

 

login ํผ์— '(์ž‘์€๋”ฐ์˜ดํ‘œ) ๋ฅผ ์ž…๋ ฅํ•˜์—ฌ SQL ์ธ์ ์…˜ ์ทจ์•ฝ์ ์ด ์žˆ๋Š”์ง€๋ฅผ ํŒŒ์•…ํ•ด๋ณด์•˜๋‹ค. 

SQL ์˜ค๋ฅ˜ ๋ฉ”์„ธ์ง€๊ฐ€ ์ถœ๋ ฅ๋˜์—ˆ๋‹ค. ์ฆ‰ SQL ์ธ์ ์…˜ ์ทจ์•ฝ์ ์ด  ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. 

๋˜ํ•œ mysql์ด๋ผ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„ ์ข…๋ฅ˜๊นŒ์ง€ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.

 

(password ํผ์— '์„ ์ž…๋ ฅํ•ด๋„ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค์ง€๋งŒ, ๋‘˜๋‹ค '๋ฅผ ์ฐ์œผ๋ฉด ์ž˜๋ชป๋œ ์ž๊ฒฉ์ด๋ผ๋Š” ์—๋Ÿฌ)

 

 

 

๋ชจ๋“  ๊ฒฐ๊ณผ๋ฅผ ์ฐธ์œผ๋กœ ๋งŒ๋“ค์–ด ์ฃผ๋Š” 'or 1=1# ์ฟผ๋ฆฌ๋ฅผ ์ž…๋ ฅํ–ˆ๋”๋‹ˆ 

SQL์ธ์ ์…˜์ด ๊ทธ๋ƒฅ ๋ฐ”๋กœ ์„ฑ๊ณต๋˜๋ฒ„๋ ธ๋‹ค. (๋งค์šฐ ์ทจ์•ฝํ•œ ํŽ˜์ด์ง€ ๊ฐ™์€ ๊ฒฝ์šฐ์ž„)

 

'Neo'๋ผ๋Š” ์‚ฌ์šฉ์ž๋กœ ๋กœ๊ทธ์ธ์ด ์„ฑ๊ณตํ•˜์˜€๊ณ  ๋’ค์—๋Š” ํ•ด๋‹น ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ์— ํžŒํŠธ๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ๋“ฏ ํ•˜๋‹ค.

 

์ด ํŽ˜์ด์ง€๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜์ง€ ์•Š์•„๋„ ๋กœ๊ทธ์ธ์ด ๋˜์—ˆ๋Š”๋ฐ, ์ด๋Š” ๋ณ€์ˆ˜๋ฅผ ๋”ฐ๋กœ ์ž…๋ ฅ๋ฐ›์ง€ ์•Š๊ณ  AND์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ

ํ•œ ์ค„๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์•„์ด๋””์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ถœ๋ ฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•˜๋Š” ์ทจ์•ฝ์ ์ด๋‹ค.

 

 

sqli_3.php ํŽ˜์ด์ง€ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ํ™•์ธํ•ด๋ณด๋ฉด

 

 

 

์˜ˆ์ƒ๋Œ€๋กœ ์ฟผ๋ฆฌ ํ•œ ์ค„๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์•„์ด๋””, ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

'login'๋ณ€์ˆ˜์— ์ฟผ๋ฆฌ๋ฅผ ์ฃผ์ž…ํ•˜๋ฉด 

 

 

 

์ด๋Ÿฐ์‹์œผ๋กœ ๋˜๋Š”๋ฐ, 

์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ AND ์—ฐ์‚ฐ์ž๊ฐ€  OR ์—ฐ์‚ฐ์ž๋ณด๋‹ค ์šฐ์„  ์ˆœ์œ„๊ฐ€ ๋†’์•„์„œ AND๋ฅผ ๋จผ์ € ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค.

์ฆ‰ ๋’ค์— password๋จผ์ € ์ˆ˜ํ–‰ > ๋งˆ์ง€๋ง‰์œผ๋กœ ์ˆ˜ํ–‰๋˜๋Š”๊ฒŒ or ๋‚ด๊ฐ€ ์“ด ์ฟผ๋ฆฌ์ด๋ฏ€๋กœ ๋‚ด ์ฟผ๋ฆฌ๊ฐ€ ๋จนํž˜

 

 

๋งŒ์ผ 'or 1=1#์ด๋ผ๋Š” ์ฟผ๋ฆฌ๋ฅผ ์ž…๋ ฅํ•œ๋‹ค๋ฉด,

OR์—ฐ์‚ฐ์€ ํ•ญ์ƒ ๊ฒฐ๊ณผ๊ฐ€ ์ฐธ์ด ๋˜์–ด ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜์ง€ ์•Š์•„๋„ 'heroes'ํ…Œ์ด๋ธ”์— ์ €์žฅ๋œ ์‚ฌ์šฉ์ž๋กœ ๋กœ๊ทธ์ธ์ด ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

 

๊ทธ๋Ÿฌ๋‚˜ neo ์ด์™ธ์— ์‚ฌ์šฉ์ž๋กœ๋„ ๋กœ๊ทธ์ธ์ด ๊ฐ€๋Šฅํ•ด์•ผํ•˜๋Š”๋ฐ, (๋ง‰ํž ์œ„ํ—˜ o)

๊ทธ๋Ÿฌ๋ ค๋ฉด ์•„์ด๋””๋ฅผ ์•Œ์•„์•ผ ํ•œ๋‹ค.

 

 

 

putty๋กœ table์„ ํ™•์ธํ•ด๋ณธ ๊ฒฐ๊ณผ ๋‹ค๋ฅธ ์ด๋ฆ„์€ 'alice','thor', ... ๋“ฑ ์žˆ๋Š”๋ฐ,

์ด ํ…Œ์ด๋ธ”์„ ๋ณผ ์ˆ˜ ์—†๋‹ค ๊ฐ€์ •ํ•˜๊ณ  SQL์ธ์ ์…˜์„ ํ†ตํ•ด ์•Œ์•„๋ณธ๋‹ค.

 

 

 

์ฒ˜์Œ ์ปฌ๋Ÿผ ์ˆ˜๋ฅผ ๋งž์ถฐ์•ผ union base SQL ์ธ์ ์…˜์ด ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ, ๋งž์ถฐ๋ณด์•˜๋‹ค. 1,2,3,4 ์ญ‰์ญ‰ ํ•ด๋‚˜๊ฐ€๋ฉด ๋จ.

 

 

 

์ปฌ๋Ÿผ ์ˆ˜๊ฐ€ 4๊ฐœ์ผ ๋•Œ ์ถœ๋ ฅ์ด ๋˜๊ณ ,  ํ™•์ธํ•ด๋ณด๋‹ˆ 2,4๋ฒˆ ์ปฌ๋Ÿผ์ด ํ™”๋ฉด์—์„œ ๋ณด์ด๋„๋ก ์ถœ๋ ฅ๋˜๋Š” ์ปฌ๋Ÿผ์ด๋‹ค.

 

์ด ์ปฌ๋Ÿผ์„ ์ด์šฉํ•˜์—ฌ SQL์ฟผ๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด์„œ ์ž…๋ ฅํ•ด๋ณธ๋‹ค.

 

 

 

 

์œ„ ๋ฉ”๋ชจ์žฅ์— ์ž…๋ ฅํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ์—ฌ๋Ÿฌ ๋ฐฉ์‹์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋“ค์˜ ์•„์ด๋””๋ฅผ ์•Œ ์ˆ˜ ์žˆ๊ณ ,

id = 3, login = thor, password = Asgard ๋“ฑ ์‚ฌ์šฉ์ž์˜ ์ •๋ณด๋ฅผ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

SQL์ธ์ ์…˜ ์„ฑ๊ณต

 

 

๊ตณ์ด password๋ฅผ ์ž…๋ ฅํ•˜์ง€ ์•Š์•„๋„

 

 

์ด์™€ ๊ฐ™์€ ์ฟผ๋ฆฌ๋ฌธ์„ ์ด์šฉํ•ด์„œ alice๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ์„ ์„ฑ๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

SQL์ธ์ ์…˜์˜ ๋Œ€์‘๋ฐฉ๋ฒ•์€ ์œ„์— ๊ธฐ์žฌํ–ˆ๋“ฏ์ด, ์ „์— ์˜ฌ๋ ธ๋˜ ๋ฐฉ๋ฒ•๋“ค๊ณผ ์œ ์‚ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ƒ๋žตํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

--> php ๊ธฐ๋ณธ์ œ๊ณตํ•จ์ˆ˜ "mysql_real_escape_string()" ์‚ฌ์šฉ

๋ฐ˜์‘ํ˜•
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.