SlideShare a Scribd company logo
Basic MySQL (sqlzoo.net โ€“ Select from world)
& Basic SQL Injection (zixem.altervista.org/SQLi)
(Level1 ~ Level3)
by Alchemic
(KoreaTech ์ด์„ธํ•œ)
2
INDEX
0x01. Basic MySQL Problems (in sqlzoo.net)
0x02. Zixem SQLi Problems (level1 ~ level3)
3
0x01. Basic MySQL Problems (in sqlzoo.net)
4
0x01 Basic MySQL Problems (in sqlzoo.net)
์ด ๋ฌธ์ œ๋Š” ์œ„ ๊ทธ๋ฆผ์—์„œ ๋ณด์ด๋“ฏ์ด ์ฃผ์–ด์ง„ world ํ…Œ์ด๋ธ”์—์„œ ๋ ˆ์ฝ”๋“œ ์ถ”์ถœ์„ ์–ด๋–ป๊ฒŒ
ํ•  ๊ฒƒ์ธ์ง€๋ฅผ ์ตํ˜€๋ณด๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
5
0x01 Basic MySQL Problems (in sqlzoo.net)
1๋ฒˆ ๋ฌธ์ œ)
๊ฐ„๋‹จํ•˜๊ฒŒ world ํ…Œ์ด๋ธ”์ด ์–ด๋–ป๊ฒŒ ์ถœ๋ ฅ์ด ๋˜๋Š”์ง€๋ฅผ ์ฟผ๋ฆฌ๋ฌธ์„ ์ฝ๊ณ  ์‹คํ–‰ํ•ด๋ณด๋ผ๋Š” ๋ฌธ์ œ
์ž…๋‹ˆ๋‹ค.
6
0x01 Basic MySQL Problems (in sqlzoo.net)
2๋ฒˆ ๋ฌธ์ œ)
world ํ…Œ์ด๋ธ”์—์„œ name ์†์„ฑ์„ ๊ฐ€์ง€๋Š” ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”์ถœํ•˜๋Š”๋ฐ, ์กฐ๊ฑด์ด population ์†์„ฑ์˜
์›์ž๊ฐ’์ด 200 million์„ ์ดˆ๊ณผํ•˜๋Š” ๋ ˆ์ฝ”๋“œ๋งŒ ์ถ”์ถœํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋ผ๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
ํ•ด๋‹น ์ฟผ๋ฆฌ๋ฌธ์€ ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
7
0x01 Basic MySQL Problems (in sqlzoo.net)
3๋ฒˆ ๋ฌธ์ œ)
world ํ…Œ์ด๋ธ”์—์„œ name ์†์„ฑ๊ณผ ์ƒˆ๋กœ์šด ์†์„ฑ์ธ (gdp/population)์— ๊ด€๋ จ๋œ ๋ ˆ์ฝ”๋“œ๋ฅผ
์ถ”์ถœํ•˜๋˜, ์กฐ๊ฑด์œผ๋กœ population์ด 200 million ์ด์ƒ์ธ ์›์ž๊ฐ’์„ ๊ฐ€์ง€๋Š” ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”์ถœ
ํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
ํ•ด๋‹น ์ฟผ๋ฆฌ๋Š” ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
8
0x01 Basic MySQL Problems (in sqlzoo.net)
4๋ฒˆ ๋ฌธ์ œ)
world ํ…Œ์ด๋ธ”์—์„œ name ์†์„ฑ๊ณผ population/1million ์†์„ฑ์„ ์ถ”์ถœํ•˜๋˜, ์กฐ๊ฑด์œผ๋กœ
continent ์†์„ฑ์˜ ์›์ž๊ฐ’์ด โ€˜South Americaโ€™์ธ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”์ถœํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
ํ•ด๋‹น ์ฟผ๋ฆฌ๋Š” ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
9
0x01 Basic MySQL Problems (in sqlzoo.net)
5๋ฒˆ ๋ฌธ์ œ)
world ํ…Œ์ด๋ธ”์—์„œ name ์†์„ฑ๊ณผ population์— ๊ด€๋ จ๋œ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”์ถœํ•˜๋˜, ์กฐ๊ฑด์œผ๋กœ๋Š”
name ์†์„ฑ์˜ ๋ ˆ์ฝ”๋“œ ์ค‘์—์„œ ์›์ž๊ฐ’์ด โ€˜Franceโ€™, โ€˜Germanyโ€™, โ€˜Italyโ€™์ธ ๋ ˆ์ฝ”๋“œ๋งŒ ์ถ”์ถœํ•˜์—ฌ
์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
ํ•ด๋‹น ์ฟผ๋ฆฌ๋ฌธ์€ ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
10
0x01 Basic MySQL Problems (in sqlzoo.net)
6๋ฒˆ ๋ฌธ์ œ)
world ํ…Œ์ด๋ธ”์—์„œ name ์†์„ฑ๊ณผ ๊ด€๋ จ๋œ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”์ถœํ•˜๋˜, ์กฐ๊ฑด์œผ๋กœ๋Š” name ์†์„ฑ์˜
๋ ˆ์ฝ”๋“œ ์ค‘์—์„œ โ€˜Unitedโ€™ ๋ผ๋Š” ๋ฌธ์ž์—ด์„ ํฌํ•จํ•˜๋Š” ์›์ž๊ฐ’์„ ๊ฐ€์ง„ ๋ ˆ์ฝ”๋“œ๋งŒ ์ถ”์ถœํ•˜์—ฌ ์ถœ๋ ฅ
ํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
ํ•ด๋‹น ์ฟผ๋ฆฌ๋ฌธ์€ ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
11
0x01 Basic MySQL Problems (in sqlzoo.net)
7๋ฒˆ ๋ฌธ์ œ)
world ํ…Œ์ด๋ธ”์—์„œ name ์†์„ฑ๊ณผ population ์†์„ฑ, area ์†์„ฑ๊ณผ ๊ด€๋ จ๋œ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”์ถœํ•˜๋˜,
์กฐ๊ฑด์œผ๋กœ๋Š” area ์†์„ฑ ์›์ž๊ฐ’ ์ค‘ 3 million ์„ ์ดˆ๊ณผํ•˜๋Š” ๊ฐ’๊ณผ population ์†์„ฑ ์›์ž๊ฐ’ ์ค‘
250 million์„ ์ดˆ๊ณผํ•˜๋Š” ๊ฐ’์„ ๊ฐ€์ง€๋Š” ๋ ˆ์ฝ”๋“œ๋งŒ ์ถ”์ถœํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
ํ•ด๋‹น ์ฟผ๋ฆฌ๋ฌธ์€ ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
12
0x01 Basic MySQL Problems (in sqlzoo.net)
8๋ฒˆ ๋ฌธ์ œ)
world ํ…Œ์ด๋ธ”์—์„œ name ์†์„ฑ๊ณผ, population์†์„ฑ, area ์†์„ฑ์„ ๊ฐ€์ง„ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”์ถœํ•˜๋˜,
์กฐ๊ฑด์œผ๋กœ๋Š” area ์†์„ฑ์˜ ์›์ž๊ฐ’์ด 3 million ์ดˆ๊ณผ์ด๋ฉด์„œ population ์†์„ฑ์˜ ์›์ž๊ฐ’์ด 250
million ๋ฏธ๋งŒ์ธ ๊ฐ’์„ ๊ฐ€์ง€๋Š” ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”์ถœํ•˜๊ฑฐ๋‚˜, area ์†์„ฑ์˜ ์›์ž๊ฐ’์ด 3 million ๋ฏธ๋งŒ,
population ์†์„ฑ์˜ ์›์ž๊ฐ’์ด 250 million ์ดˆ๊ณผ์ธ ๊ฐ’์„ ๊ฐ€์ง€๋Š” ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”์ถœํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š”
๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
ํ•ด๋‹น ์ฟผ๋ฆฌ๋ฌธ์€ ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
13
0x01 Basic MySQL Problems (in sqlzoo.net)
9๋ฒˆ ๋ฌธ์ œ)
world ํ…Œ์ด๋ธ”์—์„œ name ์†์„ฑ๊ณผ population/1million ์†์„ฑ, gdp/1billion ์†์„ฑ์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ
์ถ”์ถœํ•˜๋˜, ์กฐ๊ฑด์œผ๋กœ๋Š” population/1million ๊ณผ gdp/1billion์˜ ๊ฐ’์„ ์†Œ์ˆ˜์  ์ดํ•˜ 2์ž๋ฆฌ ์ˆ˜
๊นŒ์ง€๋งŒ ํ‘œํ˜„ํ•˜๊ณ , continent ์†์„ฑ์˜ ์›์ž๊ฐ’์ด โ€˜South Americaโ€™์ธ ๋ ˆ์ฝ”๋“œ๋งŒ ์ถ”์ถœํ•˜์—ฌ ์ถœ๋ ฅ
ํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
ํ•ด๋‹น ์ฟผ๋ฆฌ๋ฌธ์€ ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
14
0x01 Basic MySQL Problems (in sqlzoo.net)
10๋ฒˆ ๋ฌธ์ œ)
world ํ…Œ์ด๋ธ”์—์„œ name ์†์„ฑ๊ณผ gdp/population ์†์„ฑ์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”์ถœํ•˜๋˜, ์กฐ๊ฑด์œผ๋กœ๋Š”
gdp/population ์†์„ฑ์˜ ์›์ž๊ฐ’์„ 1000๋‹จ์œ„๋กœ ํ‘œํ˜„ํ•˜๊ณ , gdp ์†์„ฑ์˜ ์›์ž๊ฐ’์ด 1 trillion
์„ ์ดˆ๊ณผํ•˜๋Š” ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”์ถœํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
ํ•ด๋‹น ์ฟผ๋ฆฌ๋ฌธ์€ ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
15
0x01 Basic MySQL Problems (in sqlzoo.net)
11๋ฒˆ ๋ฌธ์ œ)
์ด ๋ฌธ์ œ๋Š” case ๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ๊ฐ’์„ ์ถ”์ถœํ•  ๋•Œ, case whre ์กฐ๊ฑด์— ๋งž๋Š” ๊ฒƒ์„ ์ฐพ์•„์„œ ๋‹ค๋ฅธ
๋ฐฉ์‹์œผ๋กœ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
name ์†์„ฑ๊ณผ case๋ฌธ์„ ์ด์šฉํ•˜์—ฌ continent ์†์„ฑ์˜ ์›์ž๊ฐ’์ด โ€˜Oceaniaโ€™์ด๋ฉด โ€˜Australasiaโ€™
๋กœ ๋Œ€์‹  ์ถœ๋ ฅํ•˜๊ณ , ๋‚˜๋จธ์ง€๋Š” ๊ทธ๋ƒฅ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  case ๋ฌธ๊นŒ์ง€ ์ง„ํ–‰๋˜์–ด ์ถ”์ถœ๋œ ๋ ˆ์ฝ”๋“œ
์ค‘์—์„œ name ์†์„ฑ์˜ ์›์ž๊ฐ’์ด โ€˜Nโ€™์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ฌธ์ž์—ด์„ ๊ฐ€์ง„ ์›์ž๊ฐ’์˜ ๋ ˆ์ฝ”๋“œ๋งŒ ์ถ”์ถœ
ํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
16
0x01 Basic MySQL Problems (in sqlzoo.net)
12๋ฒˆ ๋ฌธ์ œ)
world ํ…Œ์ด๋ธ”์—์„œ name๊ณผ case ๋ฌธ์— ์˜ํ•ด, continent ์†์„ฑ์˜ ์›์ž๊ฐ’์ด โ€˜Europeโ€™์ด๊ฑฐ๋‚˜
โ€˜Asiaโ€™์ด๋ฉด โ€˜Eurasiaโ€™๋กœ ์ถœ๋ ฅํ•˜๊ณ , continent ์†์„ฑ์˜ ์›์ž๊ฐ’์ด โ€˜Americaโ€™๋ฅผ ํฌํ•จํ•˜๊ฑฐ๋‚˜
โ€˜Caribbeanโ€™ ์ด๋ฉด โ€˜Americaโ€™๋กœ ์ถœ๋ ฅํ•˜๊ณ , ๋‚˜๋จธ์ง€๋Š” ๊ทธ๋ƒฅ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  case ๋ฌธ๊นŒ์ง€
์ง„ํ–‰๋˜๊ณ  ์ถ”์ถœ๋œ ๋ ˆ์ฝ”๋“œ ์ค‘์—์„œ name ์†์„ฑ์˜ ์›์ž๊ฐ’์ด A๋กœ ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ B๋กœ ์‹œ์ž‘ํ•˜๋Š”
๊ฐ’๋งŒ์„ ๋”ฐ๋กœ ์ถ”์ถœํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
ํ•ด๋‹น ์ฟผ๋ฆฌ๋ฌธ์€ ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
17
0x01 Basic MySQL Problems (in sqlzoo.net)
13๋ฒˆ ๋ฌธ์ œ)
world ํ…Œ์ด๋ธ”์—์„œ name๊ณผ case ๋ฌธ์— ์˜ํ•ด, continent ์†์„ฑ์˜ ์›์ž๊ฐ’์ด โ€˜Oceaniaโ€™ ์ด๋ฉด
โ€˜Australasiaโ€™๋กœ ์ถœ๋ ฅํ•˜๊ณ , continent ์†์„ฑ์˜ ์›์ž๊ฐ’์ด โ€˜Eurasiaโ€™์ด๊ณ  name ์†์„ฑ์˜ ์›์ž๊ฐ’
์ด โ€˜Turkeyโ€™์ด๋ฉด โ€˜Europe/Asiaโ€™๋กœ ์ถœ๋ ฅํ•˜๊ณ , continent ์†์„ฑ์˜ ์›์ž๊ฐ’์ด โ€˜Caribbeanโ€™์ด๊ณ 
name ์†์„ฑ์˜ ์›์ž๊ฐ’์ด โ€˜Bโ€™๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฐ’์ด๋ฉด โ€˜North Americaโ€™๋กœ ์ถœ๋ ฅํ•˜๊ณ , continent ์†
์„ฑ์˜ ์›์ž๊ฐ’์ด โ€˜Caribbeanโ€™์ด๊ณ  name ์†์„ฑ์˜ ์›์ž๊ฐ’์ด โ€˜Bโ€™๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฐ’์ด ์•„๋‹ˆ๋ฉด โ€˜South
Americaโ€™๋กœ ์ถœ๋ ฅํ•˜๊ณ , ๋‚˜๋จธ์ง€๋Š” ๊ทธ๋ƒฅ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ถ”์ถœ๋˜์–ด์ง„ ๋ ˆ์ฝ”๋“œ๋ฅผ name ์†์„ฑ
์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
18
0x02. Zixem SQLi Problems (level1 ~ level3)
19
0x02 Zixem SQLi Problems (level1 ~ level3) [Level 1 (Super Easy)]
Level1์€ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.
url์„ ํ™•์ธํ•ด๋ณด๋ฉด id ๋ผ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ’์ด ๋„˜์–ด๊ฐ€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
20
0x02 Zixem SQLi Problems (level1 ~ level3)
์šฐ์„ , โ€˜ ์„ url ๋’ค์— ๋ถ™์—ฌ์„œ ์„œ๋ฒ„๋กœ ๋ณด๋ƒˆ๋”๋‹ˆ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ™”๋ฉด์ด ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค.
์ด๋ฅผ ํ†ตํ•ด์„œ ์šฐ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‚ฌ์‹ค์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
โ€ข http://www.zixem.altervista.org/SQLi/level1.php?id=1 ์ด ์ทจ์•ฝํ•˜๋‹ค๋Š” ๊ฒƒ.
โ€ข ํ…Œ์ด๋ธ” ์ค‘์—์„œ ID ์†์„ฑ์ด ์ทจ์•ฝํ•˜๋‹ค๋Š” ๊ฒƒ.
[Level 1 (Super Easy)]
21
0x02 Zixem SQLi Problems (level1 ~ level3)
์ปฌ๋Ÿผ(column) ์ˆ˜๋ฅผ ์•Œ์•„๋ณด๊ธฐ
์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด order by ๋ช…
๋ น์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ตฌํ•ด๋ณด์•˜์Šต๋‹ˆ
๋‹ค.
order by 3์€ ์ œ๋Œ€๋กœ ์ถœ๋ ฅ์ด
๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
๋ฐ˜๋ฉด, order by 4๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋‚˜
ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค.
์ด๋ฅผ ํ†ตํ•ด ํ˜„์žฌ ์‚ฌ์ดํŠธ์˜ DB
ํ…Œ์ด๋ธ”์€ 3๊ฐœ์˜ ์ปฌ๋Ÿผ(column)
์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ• 
์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
[Level 1 (Super Easy)]
22
0x02 Zixem SQLi Problems (level1 ~ level3)
์ง€๊ธˆ๊นŒ์ง€ ๋ฐฉ์‹์œผ๋กœ ์•Œ์•„๋‚ธ ์‚ฌ์‹ค๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
โ€ข http://www.zixem.altervista.org/SQLi/level1.php?id=1 ์ด ์ทจ์•ฝํ•˜๋‹ค๋Š” ๊ฒƒ.
โ€ข ํ…Œ์ด๋ธ” ์ค‘์—์„œ id ์†์„ฑ์ด ์ทจ์•ฝํ•˜๋‹ค๋Š” ๊ฒƒ.
โ€ข ํ…Œ์ด๋ธ” ์ปฌ๋Ÿผ(column) ์ˆ˜๊ฐ€ 3๊ฐœ ๋ผ๋Š” ๊ฒƒ.
[Level 1 (Super Easy)]
23
0x02 Zixem SQLi Problems (level1 ~ level3)
union select ๋ฅผ ์ด์šฉํ•˜์—ฌ ์–ด๋Š ์ปฌ๋Ÿผ(column)์ด ์ธ์ ์…˜(injection)์ด ๋˜๋Š”์ง€๋ฅผ ์•Œ์•„
๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
id=2+union+select+6661,6662,6663 ์„ ์ž…๋ ฅํ•˜๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ™”๋ฉด์ด ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.
์ด๋ฅผ ํ†ตํ•ด ์ปฌ๋Ÿผ(column) 1๊ณผ 2๊ฐ€ ์ทจ์•ฝํ•˜๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
[Level 1 (Super Easy)]
24
0x02 Zixem SQLi Problems (level1 ~ level3)
๋”ฐ๋ผ์„œ, ์ปฌ๋Ÿผ(column) 1๊ณผ 2 ๋ถ€๋ถ„์— user(), version() ๋ช…๋ น์–ด๋ฅผ ์ง‘์–ด๋„ฃ์œผ๋ฉด
์ธ์ ์…˜(injection) ๊ณต๊ฒฉ์ด ๊ฐ€๋Šฅํ•  ๊ฒƒ์œผ๋กœ ๋ณด์—ฌ์ง‘๋‹ˆ๋‹ค.
์ปฌ๋Ÿผ(column) 1 ๊ณผ 2 ๋ถ€๋ถ„์— user()์™€ version() ๋ช…๋ น์–ด๋ฅผ ๋„ฃ์–ด์„œ injection ๊ณต๊ฒฉ์„ ์‹œ๋„ํ–ˆ
์ง€๋งŒ, ์—๋Ÿฌ๋ฅผ ์ถœ๋ ฅํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์•„๋ฌด๋ž˜๋„ ์ด 3๊ฐœ์˜ ์ปฌ๋Ÿผ(column)์ด๋ฏ€๋กœ 3๊ฐœ ๋ชจ๋‘ ์ž…๋ ฅ์„
ํ•ด์•ผ ํ†ต๊ณผ๊ฐ€ ๋˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์—ฌ์ง‘๋‹ˆ๋‹ค.
[Level 1 (Super Easy)]
25
0x02 Zixem SQLi Problems (level1 ~ level3)
์ปฌ๋Ÿผ(column) 3๊ฐœ ๋ชจ๋‘ ์ž…๋ ฅ์„ ํ•ด์„œ 1๊ณผ 2 ๋ถ€๋ถ„์—๋Š” user(), version()์„, 3 ๋ถ€๋ถ„์—๋Š”
์“ฐ๋ ˆ๊ธฐ ๊ฐ’์„ ์ง‘์–ด๋„ฃ์—ˆ์Šต๋‹ˆ๋‹ค.
์ด๋กœ์จ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ฑ๊ณต์ ์œผ๋กœ injection ๊ณต๊ฒฉ์ด ์„ฑ๊ณตํ•œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Level1 Complete!
[Level 1 (Super Easy)]
26
0x02 Zixem SQLi Problems (level1 ~ level3) [Level 2 (Easy)]
Level2๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.
27
0x02 Zixem SQLi Problems (level1 ~ level3) [Level 2 (Easy)]
โ€˜์„ ๋ถ™์—ฌ์„œ ์„œ๋ฒ„๋กœ ๋ณด๋‚ด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์—๋Ÿฌ ์‘๋‹ต์„ ๋ณด๋‚ด์ค๋‹ˆ๋‹ค.
์ด๋ฅผ ํ†ตํ•ด ์•Œ ์ˆ˜ ์žˆ๋Š” ์‚ฌ์‹ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
โ€ข http://www.zixem.altervista.org/SQLi/level2.php?showprofile=4 ๊ฐ€ ์ทจ์•ฝํ•˜๋‹ค.
โ€ข [โ€˜] ํ‘œ๊ธฐ๊ฐ€ ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•˜๋‹ค.
28
0x02 Zixem SQLi Problems (level1 ~ level3) [Level 2 (Easy)]
โ€˜ union select user(), version(), null
์„ ์ž…๋ ฅํ–ˆ๋”๋‹ˆ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค.
์ด๋ฅผ ์˜ฌ๋ฐ”๋ฅธ ๋ช…๋ น๋ฌธ์œผ๋กœ ์ธ์‹์„ ํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ ๋‹ค์Œ์˜ ํ‘œ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ๋ช…๋ น๋ฌธ์„
๋‹ค์‹œ ์ž‘์„ฑํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.
29
0x02 Zixem SQLi Problems (level1 ~ level3) [Level 2 (Easy)]
๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฝ”๋ฉ˜ํŠธ(์ฃผ์„) ์ถ”๊ฐ€ํ•˜๋Š” ๋ฒ•์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ๊ณ , ์ด๋ฅผ ์ด์šฉํ•˜์—ฌ
โ€˜ union select user(), version(), null -- -
๋กœ ๋ช…๋ น๋ฌธ์„ ๋ฐ”๊พธ์—ˆ์Šต๋‹ˆ๋‹ค.
30
0x02 Zixem SQLi Problems (level1 ~ level3) [Level 2 (Easy)]
์ด์ œ๋Š” ๋ช…๋ น๋ฌธ์— ๋Œ€ํ•œ ์—๋Ÿฌ๋Š” ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๊ณ  ์žˆ๊ณ , ์ด์ œ ์ปฌ๋Ÿผ ์ˆ˜๊ฐ€ ๋‹ค๋ฅด๋‹ค๋Š”
์—๋Ÿฌ๋ฅผ ๋ณด๋‚ด์ฃผ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
์ด์ œ ์ปฌ๋Ÿผ ์ˆ˜๋งŒ ๋งž์ถ”์–ด์ฃผ๋ฉด ๋‚ด์šฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ปฌ๋Ÿผ ์ˆ˜๋ฅผ ํ•˜๋‚˜ ๋” ๋Š˜๋ฆฌ๊ธฐ ์œ„ํ•ด null์„ ํ•˜๋‚˜ ๋” ์ถ”๊ฐ€ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.
31
0x02 Zixem SQLi Problems (level1 ~ level3) [Level 2 (Easy)]
โ€˜ union select user(), version(), null, null -- -
์„ ์ž…๋ ฅํ–ˆ๋”๋‹ˆ ์ œ๋Œ€๋กœ ํ†ต๊ณผ๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ ์•„์ง user() ์ •๋ณด์™€ version() ์ •๋ณด๋Š” ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
์ด๋Š” ๊ฐ„๋‹จํ•˜๊ฒŒ showprofile ๊ฐ’๋งŒ ๋ณ€๊ฒฝํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. (4 ์ด์™ธ์˜ ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝ)
32
0x02 Zixem SQLi Problems (level1 ~ level3) [Level 2 (Easy)]
user()์™€ version() ๋ช…๋ น์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!
Level2 Complete!
33
0x02 Zixem SQLi Problems (level1 ~ level3) [Level 3 (Medium)]
Level3๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.
34
0x02 Zixem SQLi Problems (level1 ~ level3) [Level 3 (Medium)]
โ€˜ union select user(), version(), null, null
์ด ๋ช…๋ น์–ด๋ฅผ ์ž‘์„ฑํ•ด์„œ ์„œ๋ฒ„๋กœ ๋ณด๋ƒˆ๋”๋‹ˆ ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์€ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
union ๋ช…๋ น์–ด์˜ [union]์ด [uni]๋กœ replace ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
35
0x02 Zixem SQLi Problems (level1 ~ level3) [Level 3 (Medium)]
์ง€๊ธˆ๊นŒ์ง€ ์ž‘์—…์„ ํ†ตํ•ด ์•Œ ์ˆ˜ ์žˆ๋Š” ์‚ฌ์‹ค๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
โ€ข ์ด ์‚ฌ์ดํŠธ๋Š” ์ทจ์•ฝํ•˜๋‹ค.
โ€ข [โ€˜]์— ์˜ํ•ด ์ทจ์•ฝ์ ์ด ๋ฐœ์ƒํ•œ๋‹ค.
โ€ข [union]์ด [uni]๋กœ ๋Œ€์ฒด๋œ๋‹ค.
[union]์ด [uni]๋กœ ๋Œ€์ฒด๋˜๋Š” ๊ฒƒ์„ ๋ง‰๊ธฐ ์œ„ํ•ด์„œ [unionon]์„ ์ž‘์„ฑํ•˜๋ฉด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
[unionon] = [union] + [on] => ์„œ๋ฒ„๋กœ ๋ณด๋‚ด์ง€๋ฉด [uni] + [on]์œผ๋กœ ์ธ์‹๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
36
0x02 Zixem SQLi Problems (level1 ~ level3) [Level 3 (Medium)]
โ€˜ unionon select user(), version(), null, null
์ด ๋ช…๋ น์–ด๋กœ ๋ณด๋‚ด์„œ union์ด uni๋กœ ๋Œ€์ฒด๋˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€์Šต๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ๋๋ถ€๋ถ„์— [โ€˜]๋ฅผ ํ•˜๋‚˜ ๋” ๋ถ™์—ฌ์„œ ๋ณด๋‚ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
37
0x02 Zixem SQLi Problems (level1 ~ level3) [Level 3 (Medium)]
โ€˜ unionon select user(), version(), null, nullโ€™
์ด๋ ‡๊ฒŒ ๋ช…๋ น์–ด๋ฅผ ๋ณด๋ƒˆ๋”๋‹ˆ ์ œ๋Œ€๋กœ injection ์ด ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด์ œ item ์˜ ๊ฐ’์„ ๋‹ค๋ฅธ ๊ฐ’์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ๋ฉด ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
(3์ด์™ธ์˜ ๊ฐ’ ์ง€์ •)
38
0x02 Zixem SQLi Problems (level1 ~ level3) [Level 3 (Medium)]
์„ฑ๊ณต์ ์œผ๋กœ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜ํƒ€๋‚œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Level3 Complete!
39
Any questions?
[Contact]
sehands@koreatech.ac.kr
Thank You.

More Related Content

More from Sehan Lee

Plaid CTF 2017 Write-Up [zipper (MISC 50pts)]
Plaid CTF 2017 Write-Up [zipper (MISC 50pts)]Plaid CTF 2017 Write-Up [zipper (MISC 50pts)]
Plaid CTF 2017 Write-Up [zipper (MISC 50pts)]
Sehan Lee
ย 
GoogleCTF 2016 [Wallowing Wallabies - Part One] Write-Up (ver.korean)
GoogleCTF 2016 [Wallowing Wallabies - Part One] Write-Up (ver.korean)GoogleCTF 2016 [Wallowing Wallabies - Part One] Write-Up (ver.korean)
GoogleCTF 2016 [Wallowing Wallabies - Part One] Write-Up (ver.korean)
Sehan Lee
ย 
GoogleCTF 2016 [In Recorded Conversation] Write-Up (ver.korean)
GoogleCTF 2016 [In Recorded Conversation] Write-Up (ver.korean)GoogleCTF 2016 [In Recorded Conversation] Write-Up (ver.korean)
GoogleCTF 2016 [In Recorded Conversation] Write-Up (ver.korean)
Sehan Lee
ย 
PlaidCTF 2016 Write-Up [hevc (MISC 50pts)]
PlaidCTF 2016 Write-Up [hevc (MISC 50pts)]PlaidCTF 2016 Write-Up [hevc (MISC 50pts)]
PlaidCTF 2016 Write-Up [hevc (MISC 50pts)]
Sehan Lee
ย 
Attacking Session Management
Attacking Session ManagementAttacking Session Management
Attacking Session Management
Sehan Lee
ย 
Web Application Technologies
Web Application TechnologiesWeb Application Technologies
Web Application Technologies
Sehan Lee
ย 
Packet Tracer๋ฅผ ์ด์šฉํ•œ OSPF ์„ค์ •
Packet Tracer๋ฅผ ์ด์šฉํ•œ OSPF ์„ค์ •Packet Tracer๋ฅผ ์ด์šฉํ•œ OSPF ์„ค์ •
Packet Tracer๋ฅผ ์ด์šฉํ•œ OSPF ์„ค์ •
Sehan Lee
ย 
๋ ˆ์ด์Šค ์ปจ๋””์…˜ ๊ธฐ์ดˆ(Basic Race Condition)
๋ ˆ์ด์Šค ์ปจ๋””์…˜ ๊ธฐ์ดˆ(Basic Race Condition)๋ ˆ์ด์Šค ์ปจ๋””์…˜ ๊ธฐ์ดˆ(Basic Race Condition)
๋ ˆ์ด์Šค ์ปจ๋””์…˜ ๊ธฐ์ดˆ(Basic Race Condition)
Sehan Lee
ย 
Packet tracer ์„ค์น˜ ๋ฐ ์‚ฌ์šฉ๋ฒ•
Packet tracer ์„ค์น˜ ๋ฐ ์‚ฌ์šฉ๋ฒ•Packet tracer ์„ค์น˜ ๋ฐ ์‚ฌ์šฉ๋ฒ•
Packet tracer ์„ค์น˜ ๋ฐ ์‚ฌ์šฉ๋ฒ•
Sehan Lee
ย 

More from Sehan Lee (9)

Plaid CTF 2017 Write-Up [zipper (MISC 50pts)]
Plaid CTF 2017 Write-Up [zipper (MISC 50pts)]Plaid CTF 2017 Write-Up [zipper (MISC 50pts)]
Plaid CTF 2017 Write-Up [zipper (MISC 50pts)]
ย 
GoogleCTF 2016 [Wallowing Wallabies - Part One] Write-Up (ver.korean)
GoogleCTF 2016 [Wallowing Wallabies - Part One] Write-Up (ver.korean)GoogleCTF 2016 [Wallowing Wallabies - Part One] Write-Up (ver.korean)
GoogleCTF 2016 [Wallowing Wallabies - Part One] Write-Up (ver.korean)
ย 
GoogleCTF 2016 [In Recorded Conversation] Write-Up (ver.korean)
GoogleCTF 2016 [In Recorded Conversation] Write-Up (ver.korean)GoogleCTF 2016 [In Recorded Conversation] Write-Up (ver.korean)
GoogleCTF 2016 [In Recorded Conversation] Write-Up (ver.korean)
ย 
PlaidCTF 2016 Write-Up [hevc (MISC 50pts)]
PlaidCTF 2016 Write-Up [hevc (MISC 50pts)]PlaidCTF 2016 Write-Up [hevc (MISC 50pts)]
PlaidCTF 2016 Write-Up [hevc (MISC 50pts)]
ย 
Attacking Session Management
Attacking Session ManagementAttacking Session Management
Attacking Session Management
ย 
Web Application Technologies
Web Application TechnologiesWeb Application Technologies
Web Application Technologies
ย 
Packet Tracer๋ฅผ ์ด์šฉํ•œ OSPF ์„ค์ •
Packet Tracer๋ฅผ ์ด์šฉํ•œ OSPF ์„ค์ •Packet Tracer๋ฅผ ์ด์šฉํ•œ OSPF ์„ค์ •
Packet Tracer๋ฅผ ์ด์šฉํ•œ OSPF ์„ค์ •
ย 
๋ ˆ์ด์Šค ์ปจ๋””์…˜ ๊ธฐ์ดˆ(Basic Race Condition)
๋ ˆ์ด์Šค ์ปจ๋””์…˜ ๊ธฐ์ดˆ(Basic Race Condition)๋ ˆ์ด์Šค ์ปจ๋””์…˜ ๊ธฐ์ดˆ(Basic Race Condition)
๋ ˆ์ด์Šค ์ปจ๋””์…˜ ๊ธฐ์ดˆ(Basic Race Condition)
ย 
Packet tracer ์„ค์น˜ ๋ฐ ์‚ฌ์šฉ๋ฒ•
Packet tracer ์„ค์น˜ ๋ฐ ์‚ฌ์šฉ๋ฒ•Packet tracer ์„ค์น˜ ๋ฐ ์‚ฌ์šฉ๋ฒ•
Packet tracer ์„ค์น˜ ๋ฐ ์‚ฌ์šฉ๋ฒ•
ย 

Basic My SQL Problems(sqlzoo.net - select from world) & Basic SQL Injection(zixem.altervista.org - Level1 to Level3)

  • 1. Basic MySQL (sqlzoo.net โ€“ Select from world) & Basic SQL Injection (zixem.altervista.org/SQLi) (Level1 ~ Level3) by Alchemic (KoreaTech ์ด์„ธํ•œ)
  • 2. 2 INDEX 0x01. Basic MySQL Problems (in sqlzoo.net) 0x02. Zixem SQLi Problems (level1 ~ level3)
  • 3. 3 0x01. Basic MySQL Problems (in sqlzoo.net)
  • 4. 4 0x01 Basic MySQL Problems (in sqlzoo.net) ์ด ๋ฌธ์ œ๋Š” ์œ„ ๊ทธ๋ฆผ์—์„œ ๋ณด์ด๋“ฏ์ด ์ฃผ์–ด์ง„ world ํ…Œ์ด๋ธ”์—์„œ ๋ ˆ์ฝ”๋“œ ์ถ”์ถœ์„ ์–ด๋–ป๊ฒŒ ํ•  ๊ฒƒ์ธ์ง€๋ฅผ ์ตํ˜€๋ณด๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
  • 5. 5 0x01 Basic MySQL Problems (in sqlzoo.net) 1๋ฒˆ ๋ฌธ์ œ) ๊ฐ„๋‹จํ•˜๊ฒŒ world ํ…Œ์ด๋ธ”์ด ์–ด๋–ป๊ฒŒ ์ถœ๋ ฅ์ด ๋˜๋Š”์ง€๋ฅผ ์ฟผ๋ฆฌ๋ฌธ์„ ์ฝ๊ณ  ์‹คํ–‰ํ•ด๋ณด๋ผ๋Š” ๋ฌธ์ œ ์ž…๋‹ˆ๋‹ค.
  • 6. 6 0x01 Basic MySQL Problems (in sqlzoo.net) 2๋ฒˆ ๋ฌธ์ œ) world ํ…Œ์ด๋ธ”์—์„œ name ์†์„ฑ์„ ๊ฐ€์ง€๋Š” ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”์ถœํ•˜๋Š”๋ฐ, ์กฐ๊ฑด์ด population ์†์„ฑ์˜ ์›์ž๊ฐ’์ด 200 million์„ ์ดˆ๊ณผํ•˜๋Š” ๋ ˆ์ฝ”๋“œ๋งŒ ์ถ”์ถœํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋ผ๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ์ฟผ๋ฆฌ๋ฌธ์€ ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
  • 7. 7 0x01 Basic MySQL Problems (in sqlzoo.net) 3๋ฒˆ ๋ฌธ์ œ) world ํ…Œ์ด๋ธ”์—์„œ name ์†์„ฑ๊ณผ ์ƒˆ๋กœ์šด ์†์„ฑ์ธ (gdp/population)์— ๊ด€๋ จ๋œ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”์ถœํ•˜๋˜, ์กฐ๊ฑด์œผ๋กœ population์ด 200 million ์ด์ƒ์ธ ์›์ž๊ฐ’์„ ๊ฐ€์ง€๋Š” ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”์ถœ ํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ์ฟผ๋ฆฌ๋Š” ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
  • 8. 8 0x01 Basic MySQL Problems (in sqlzoo.net) 4๋ฒˆ ๋ฌธ์ œ) world ํ…Œ์ด๋ธ”์—์„œ name ์†์„ฑ๊ณผ population/1million ์†์„ฑ์„ ์ถ”์ถœํ•˜๋˜, ์กฐ๊ฑด์œผ๋กœ continent ์†์„ฑ์˜ ์›์ž๊ฐ’์ด โ€˜South Americaโ€™์ธ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”์ถœํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ์ฟผ๋ฆฌ๋Š” ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
  • 9. 9 0x01 Basic MySQL Problems (in sqlzoo.net) 5๋ฒˆ ๋ฌธ์ œ) world ํ…Œ์ด๋ธ”์—์„œ name ์†์„ฑ๊ณผ population์— ๊ด€๋ จ๋œ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”์ถœํ•˜๋˜, ์กฐ๊ฑด์œผ๋กœ๋Š” name ์†์„ฑ์˜ ๋ ˆ์ฝ”๋“œ ์ค‘์—์„œ ์›์ž๊ฐ’์ด โ€˜Franceโ€™, โ€˜Germanyโ€™, โ€˜Italyโ€™์ธ ๋ ˆ์ฝ”๋“œ๋งŒ ์ถ”์ถœํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ์ฟผ๋ฆฌ๋ฌธ์€ ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
  • 10. 10 0x01 Basic MySQL Problems (in sqlzoo.net) 6๋ฒˆ ๋ฌธ์ œ) world ํ…Œ์ด๋ธ”์—์„œ name ์†์„ฑ๊ณผ ๊ด€๋ จ๋œ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”์ถœํ•˜๋˜, ์กฐ๊ฑด์œผ๋กœ๋Š” name ์†์„ฑ์˜ ๋ ˆ์ฝ”๋“œ ์ค‘์—์„œ โ€˜Unitedโ€™ ๋ผ๋Š” ๋ฌธ์ž์—ด์„ ํฌํ•จํ•˜๋Š” ์›์ž๊ฐ’์„ ๊ฐ€์ง„ ๋ ˆ์ฝ”๋“œ๋งŒ ์ถ”์ถœํ•˜์—ฌ ์ถœ๋ ฅ ํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ์ฟผ๋ฆฌ๋ฌธ์€ ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
  • 11. 11 0x01 Basic MySQL Problems (in sqlzoo.net) 7๋ฒˆ ๋ฌธ์ œ) world ํ…Œ์ด๋ธ”์—์„œ name ์†์„ฑ๊ณผ population ์†์„ฑ, area ์†์„ฑ๊ณผ ๊ด€๋ จ๋œ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”์ถœํ•˜๋˜, ์กฐ๊ฑด์œผ๋กœ๋Š” area ์†์„ฑ ์›์ž๊ฐ’ ์ค‘ 3 million ์„ ์ดˆ๊ณผํ•˜๋Š” ๊ฐ’๊ณผ population ์†์„ฑ ์›์ž๊ฐ’ ์ค‘ 250 million์„ ์ดˆ๊ณผํ•˜๋Š” ๊ฐ’์„ ๊ฐ€์ง€๋Š” ๋ ˆ์ฝ”๋“œ๋งŒ ์ถ”์ถœํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ์ฟผ๋ฆฌ๋ฌธ์€ ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
  • 12. 12 0x01 Basic MySQL Problems (in sqlzoo.net) 8๋ฒˆ ๋ฌธ์ œ) world ํ…Œ์ด๋ธ”์—์„œ name ์†์„ฑ๊ณผ, population์†์„ฑ, area ์†์„ฑ์„ ๊ฐ€์ง„ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”์ถœํ•˜๋˜, ์กฐ๊ฑด์œผ๋กœ๋Š” area ์†์„ฑ์˜ ์›์ž๊ฐ’์ด 3 million ์ดˆ๊ณผ์ด๋ฉด์„œ population ์†์„ฑ์˜ ์›์ž๊ฐ’์ด 250 million ๋ฏธ๋งŒ์ธ ๊ฐ’์„ ๊ฐ€์ง€๋Š” ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”์ถœํ•˜๊ฑฐ๋‚˜, area ์†์„ฑ์˜ ์›์ž๊ฐ’์ด 3 million ๋ฏธ๋งŒ, population ์†์„ฑ์˜ ์›์ž๊ฐ’์ด 250 million ์ดˆ๊ณผ์ธ ๊ฐ’์„ ๊ฐ€์ง€๋Š” ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”์ถœํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ์ฟผ๋ฆฌ๋ฌธ์€ ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
  • 13. 13 0x01 Basic MySQL Problems (in sqlzoo.net) 9๋ฒˆ ๋ฌธ์ œ) world ํ…Œ์ด๋ธ”์—์„œ name ์†์„ฑ๊ณผ population/1million ์†์„ฑ, gdp/1billion ์†์„ฑ์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”์ถœํ•˜๋˜, ์กฐ๊ฑด์œผ๋กœ๋Š” population/1million ๊ณผ gdp/1billion์˜ ๊ฐ’์„ ์†Œ์ˆ˜์  ์ดํ•˜ 2์ž๋ฆฌ ์ˆ˜ ๊นŒ์ง€๋งŒ ํ‘œํ˜„ํ•˜๊ณ , continent ์†์„ฑ์˜ ์›์ž๊ฐ’์ด โ€˜South Americaโ€™์ธ ๋ ˆ์ฝ”๋“œ๋งŒ ์ถ”์ถœํ•˜์—ฌ ์ถœ๋ ฅ ํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ์ฟผ๋ฆฌ๋ฌธ์€ ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
  • 14. 14 0x01 Basic MySQL Problems (in sqlzoo.net) 10๋ฒˆ ๋ฌธ์ œ) world ํ…Œ์ด๋ธ”์—์„œ name ์†์„ฑ๊ณผ gdp/population ์†์„ฑ์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”์ถœํ•˜๋˜, ์กฐ๊ฑด์œผ๋กœ๋Š” gdp/population ์†์„ฑ์˜ ์›์ž๊ฐ’์„ 1000๋‹จ์œ„๋กœ ํ‘œํ˜„ํ•˜๊ณ , gdp ์†์„ฑ์˜ ์›์ž๊ฐ’์ด 1 trillion ์„ ์ดˆ๊ณผํ•˜๋Š” ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”์ถœํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ์ฟผ๋ฆฌ๋ฌธ์€ ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
  • 15. 15 0x01 Basic MySQL Problems (in sqlzoo.net) 11๋ฒˆ ๋ฌธ์ œ) ์ด ๋ฌธ์ œ๋Š” case ๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ๊ฐ’์„ ์ถ”์ถœํ•  ๋•Œ, case whre ์กฐ๊ฑด์— ๋งž๋Š” ๊ฒƒ์„ ์ฐพ์•„์„œ ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. name ์†์„ฑ๊ณผ case๋ฌธ์„ ์ด์šฉํ•˜์—ฌ continent ์†์„ฑ์˜ ์›์ž๊ฐ’์ด โ€˜Oceaniaโ€™์ด๋ฉด โ€˜Australasiaโ€™ ๋กœ ๋Œ€์‹  ์ถœ๋ ฅํ•˜๊ณ , ๋‚˜๋จธ์ง€๋Š” ๊ทธ๋ƒฅ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  case ๋ฌธ๊นŒ์ง€ ์ง„ํ–‰๋˜์–ด ์ถ”์ถœ๋œ ๋ ˆ์ฝ”๋“œ ์ค‘์—์„œ name ์†์„ฑ์˜ ์›์ž๊ฐ’์ด โ€˜Nโ€™์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ฌธ์ž์—ด์„ ๊ฐ€์ง„ ์›์ž๊ฐ’์˜ ๋ ˆ์ฝ”๋“œ๋งŒ ์ถ”์ถœ ํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
  • 16. 16 0x01 Basic MySQL Problems (in sqlzoo.net) 12๋ฒˆ ๋ฌธ์ œ) world ํ…Œ์ด๋ธ”์—์„œ name๊ณผ case ๋ฌธ์— ์˜ํ•ด, continent ์†์„ฑ์˜ ์›์ž๊ฐ’์ด โ€˜Europeโ€™์ด๊ฑฐ๋‚˜ โ€˜Asiaโ€™์ด๋ฉด โ€˜Eurasiaโ€™๋กœ ์ถœ๋ ฅํ•˜๊ณ , continent ์†์„ฑ์˜ ์›์ž๊ฐ’์ด โ€˜Americaโ€™๋ฅผ ํฌํ•จํ•˜๊ฑฐ๋‚˜ โ€˜Caribbeanโ€™ ์ด๋ฉด โ€˜Americaโ€™๋กœ ์ถœ๋ ฅํ•˜๊ณ , ๋‚˜๋จธ์ง€๋Š” ๊ทธ๋ƒฅ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  case ๋ฌธ๊นŒ์ง€ ์ง„ํ–‰๋˜๊ณ  ์ถ”์ถœ๋œ ๋ ˆ์ฝ”๋“œ ์ค‘์—์„œ name ์†์„ฑ์˜ ์›์ž๊ฐ’์ด A๋กœ ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ B๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฐ’๋งŒ์„ ๋”ฐ๋กœ ์ถ”์ถœํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ์ฟผ๋ฆฌ๋ฌธ์€ ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
  • 17. 17 0x01 Basic MySQL Problems (in sqlzoo.net) 13๋ฒˆ ๋ฌธ์ œ) world ํ…Œ์ด๋ธ”์—์„œ name๊ณผ case ๋ฌธ์— ์˜ํ•ด, continent ์†์„ฑ์˜ ์›์ž๊ฐ’์ด โ€˜Oceaniaโ€™ ์ด๋ฉด โ€˜Australasiaโ€™๋กœ ์ถœ๋ ฅํ•˜๊ณ , continent ์†์„ฑ์˜ ์›์ž๊ฐ’์ด โ€˜Eurasiaโ€™์ด๊ณ  name ์†์„ฑ์˜ ์›์ž๊ฐ’ ์ด โ€˜Turkeyโ€™์ด๋ฉด โ€˜Europe/Asiaโ€™๋กœ ์ถœ๋ ฅํ•˜๊ณ , continent ์†์„ฑ์˜ ์›์ž๊ฐ’์ด โ€˜Caribbeanโ€™์ด๊ณ  name ์†์„ฑ์˜ ์›์ž๊ฐ’์ด โ€˜Bโ€™๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฐ’์ด๋ฉด โ€˜North Americaโ€™๋กœ ์ถœ๋ ฅํ•˜๊ณ , continent ์† ์„ฑ์˜ ์›์ž๊ฐ’์ด โ€˜Caribbeanโ€™์ด๊ณ  name ์†์„ฑ์˜ ์›์ž๊ฐ’์ด โ€˜Bโ€™๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฐ’์ด ์•„๋‹ˆ๋ฉด โ€˜South Americaโ€™๋กœ ์ถœ๋ ฅํ•˜๊ณ , ๋‚˜๋จธ์ง€๋Š” ๊ทธ๋ƒฅ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ถ”์ถœ๋˜์–ด์ง„ ๋ ˆ์ฝ”๋“œ๋ฅผ name ์†์„ฑ ์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
  • 18. 18 0x02. Zixem SQLi Problems (level1 ~ level3)
  • 19. 19 0x02 Zixem SQLi Problems (level1 ~ level3) [Level 1 (Super Easy)] Level1์€ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. url์„ ํ™•์ธํ•ด๋ณด๋ฉด id ๋ผ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ’์ด ๋„˜์–ด๊ฐ€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
  • 20. 20 0x02 Zixem SQLi Problems (level1 ~ level3) ์šฐ์„ , โ€˜ ์„ url ๋’ค์— ๋ถ™์—ฌ์„œ ์„œ๋ฒ„๋กœ ๋ณด๋ƒˆ๋”๋‹ˆ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ™”๋ฉด์ด ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด์„œ ์šฐ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‚ฌ์‹ค์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. โ€ข http://www.zixem.altervista.org/SQLi/level1.php?id=1 ์ด ์ทจ์•ฝํ•˜๋‹ค๋Š” ๊ฒƒ. โ€ข ํ…Œ์ด๋ธ” ์ค‘์—์„œ ID ์†์„ฑ์ด ์ทจ์•ฝํ•˜๋‹ค๋Š” ๊ฒƒ. [Level 1 (Super Easy)]
  • 21. 21 0x02 Zixem SQLi Problems (level1 ~ level3) ์ปฌ๋Ÿผ(column) ์ˆ˜๋ฅผ ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด order by ๋ช… ๋ น์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ตฌํ•ด๋ณด์•˜์Šต๋‹ˆ ๋‹ค. order by 3์€ ์ œ๋Œ€๋กœ ์ถœ๋ ฅ์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด, order by 4๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋‚˜ ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํ˜„์žฌ ์‚ฌ์ดํŠธ์˜ DB ํ…Œ์ด๋ธ”์€ 3๊ฐœ์˜ ์ปฌ๋Ÿผ(column) ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [Level 1 (Super Easy)]
  • 22. 22 0x02 Zixem SQLi Problems (level1 ~ level3) ์ง€๊ธˆ๊นŒ์ง€ ๋ฐฉ์‹์œผ๋กœ ์•Œ์•„๋‚ธ ์‚ฌ์‹ค๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. โ€ข http://www.zixem.altervista.org/SQLi/level1.php?id=1 ์ด ์ทจ์•ฝํ•˜๋‹ค๋Š” ๊ฒƒ. โ€ข ํ…Œ์ด๋ธ” ์ค‘์—์„œ id ์†์„ฑ์ด ์ทจ์•ฝํ•˜๋‹ค๋Š” ๊ฒƒ. โ€ข ํ…Œ์ด๋ธ” ์ปฌ๋Ÿผ(column) ์ˆ˜๊ฐ€ 3๊ฐœ ๋ผ๋Š” ๊ฒƒ. [Level 1 (Super Easy)]
  • 23. 23 0x02 Zixem SQLi Problems (level1 ~ level3) union select ๋ฅผ ์ด์šฉํ•˜์—ฌ ์–ด๋Š ์ปฌ๋Ÿผ(column)์ด ์ธ์ ์…˜(injection)์ด ๋˜๋Š”์ง€๋ฅผ ์•Œ์•„ ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. id=2+union+select+6661,6662,6663 ์„ ์ž…๋ ฅํ•˜๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ™”๋ฉด์ด ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ปฌ๋Ÿผ(column) 1๊ณผ 2๊ฐ€ ์ทจ์•ฝํ•˜๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [Level 1 (Super Easy)]
  • 24. 24 0x02 Zixem SQLi Problems (level1 ~ level3) ๋”ฐ๋ผ์„œ, ์ปฌ๋Ÿผ(column) 1๊ณผ 2 ๋ถ€๋ถ„์— user(), version() ๋ช…๋ น์–ด๋ฅผ ์ง‘์–ด๋„ฃ์œผ๋ฉด ์ธ์ ์…˜(injection) ๊ณต๊ฒฉ์ด ๊ฐ€๋Šฅํ•  ๊ฒƒ์œผ๋กœ ๋ณด์—ฌ์ง‘๋‹ˆ๋‹ค. ์ปฌ๋Ÿผ(column) 1 ๊ณผ 2 ๋ถ€๋ถ„์— user()์™€ version() ๋ช…๋ น์–ด๋ฅผ ๋„ฃ์–ด์„œ injection ๊ณต๊ฒฉ์„ ์‹œ๋„ํ–ˆ ์ง€๋งŒ, ์—๋Ÿฌ๋ฅผ ์ถœ๋ ฅํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์•„๋ฌด๋ž˜๋„ ์ด 3๊ฐœ์˜ ์ปฌ๋Ÿผ(column)์ด๋ฏ€๋กœ 3๊ฐœ ๋ชจ๋‘ ์ž…๋ ฅ์„ ํ•ด์•ผ ํ†ต๊ณผ๊ฐ€ ๋˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์—ฌ์ง‘๋‹ˆ๋‹ค. [Level 1 (Super Easy)]
  • 25. 25 0x02 Zixem SQLi Problems (level1 ~ level3) ์ปฌ๋Ÿผ(column) 3๊ฐœ ๋ชจ๋‘ ์ž…๋ ฅ์„ ํ•ด์„œ 1๊ณผ 2 ๋ถ€๋ถ„์—๋Š” user(), version()์„, 3 ๋ถ€๋ถ„์—๋Š” ์“ฐ๋ ˆ๊ธฐ ๊ฐ’์„ ์ง‘์–ด๋„ฃ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋กœ์จ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ฑ๊ณต์ ์œผ๋กœ injection ๊ณต๊ฒฉ์ด ์„ฑ๊ณตํ•œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Level1 Complete! [Level 1 (Super Easy)]
  • 26. 26 0x02 Zixem SQLi Problems (level1 ~ level3) [Level 2 (Easy)] Level2๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.
  • 27. 27 0x02 Zixem SQLi Problems (level1 ~ level3) [Level 2 (Easy)] โ€˜์„ ๋ถ™์—ฌ์„œ ์„œ๋ฒ„๋กœ ๋ณด๋‚ด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์—๋Ÿฌ ์‘๋‹ต์„ ๋ณด๋‚ด์ค๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์•Œ ์ˆ˜ ์žˆ๋Š” ์‚ฌ์‹ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. โ€ข http://www.zixem.altervista.org/SQLi/level2.php?showprofile=4 ๊ฐ€ ์ทจ์•ฝํ•˜๋‹ค. โ€ข [โ€˜] ํ‘œ๊ธฐ๊ฐ€ ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•˜๋‹ค.
  • 28. 28 0x02 Zixem SQLi Problems (level1 ~ level3) [Level 2 (Easy)] โ€˜ union select user(), version(), null ์„ ์ž…๋ ฅํ–ˆ๋”๋‹ˆ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์˜ฌ๋ฐ”๋ฅธ ๋ช…๋ น๋ฌธ์œผ๋กœ ์ธ์‹์„ ํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ ๋‹ค์Œ์˜ ํ‘œ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ๋ช…๋ น๋ฌธ์„ ๋‹ค์‹œ ์ž‘์„ฑํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.
  • 29. 29 0x02 Zixem SQLi Problems (level1 ~ level3) [Level 2 (Easy)] ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฝ”๋ฉ˜ํŠธ(์ฃผ์„) ์ถ”๊ฐ€ํ•˜๋Š” ๋ฒ•์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ๊ณ , ์ด๋ฅผ ์ด์šฉํ•˜์—ฌ โ€˜ union select user(), version(), null -- - ๋กœ ๋ช…๋ น๋ฌธ์„ ๋ฐ”๊พธ์—ˆ์Šต๋‹ˆ๋‹ค.
  • 30. 30 0x02 Zixem SQLi Problems (level1 ~ level3) [Level 2 (Easy)] ์ด์ œ๋Š” ๋ช…๋ น๋ฌธ์— ๋Œ€ํ•œ ์—๋Ÿฌ๋Š” ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๊ณ  ์žˆ๊ณ , ์ด์ œ ์ปฌ๋Ÿผ ์ˆ˜๊ฐ€ ๋‹ค๋ฅด๋‹ค๋Š” ์—๋Ÿฌ๋ฅผ ๋ณด๋‚ด์ฃผ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์ปฌ๋Ÿผ ์ˆ˜๋งŒ ๋งž์ถ”์–ด์ฃผ๋ฉด ๋‚ด์šฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ปฌ๋Ÿผ ์ˆ˜๋ฅผ ํ•˜๋‚˜ ๋” ๋Š˜๋ฆฌ๊ธฐ ์œ„ํ•ด null์„ ํ•˜๋‚˜ ๋” ์ถ”๊ฐ€ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.
  • 31. 31 0x02 Zixem SQLi Problems (level1 ~ level3) [Level 2 (Easy)] โ€˜ union select user(), version(), null, null -- - ์„ ์ž…๋ ฅํ–ˆ๋”๋‹ˆ ์ œ๋Œ€๋กœ ํ†ต๊ณผ๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์•„์ง user() ์ •๋ณด์™€ version() ์ •๋ณด๋Š” ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๊ฐ„๋‹จํ•˜๊ฒŒ showprofile ๊ฐ’๋งŒ ๋ณ€๊ฒฝํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. (4 ์ด์™ธ์˜ ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝ)
  • 32. 32 0x02 Zixem SQLi Problems (level1 ~ level3) [Level 2 (Easy)] user()์™€ version() ๋ช…๋ น์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! Level2 Complete!
  • 33. 33 0x02 Zixem SQLi Problems (level1 ~ level3) [Level 3 (Medium)] Level3๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.
  • 34. 34 0x02 Zixem SQLi Problems (level1 ~ level3) [Level 3 (Medium)] โ€˜ union select user(), version(), null, null ์ด ๋ช…๋ น์–ด๋ฅผ ์ž‘์„ฑํ•ด์„œ ์„œ๋ฒ„๋กœ ๋ณด๋ƒˆ๋”๋‹ˆ ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์€ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. union ๋ช…๋ น์–ด์˜ [union]์ด [uni]๋กœ replace ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • 35. 35 0x02 Zixem SQLi Problems (level1 ~ level3) [Level 3 (Medium)] ์ง€๊ธˆ๊นŒ์ง€ ์ž‘์—…์„ ํ†ตํ•ด ์•Œ ์ˆ˜ ์žˆ๋Š” ์‚ฌ์‹ค๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. โ€ข ์ด ์‚ฌ์ดํŠธ๋Š” ์ทจ์•ฝํ•˜๋‹ค. โ€ข [โ€˜]์— ์˜ํ•ด ์ทจ์•ฝ์ ์ด ๋ฐœ์ƒํ•œ๋‹ค. โ€ข [union]์ด [uni]๋กœ ๋Œ€์ฒด๋œ๋‹ค. [union]์ด [uni]๋กœ ๋Œ€์ฒด๋˜๋Š” ๊ฒƒ์„ ๋ง‰๊ธฐ ์œ„ํ•ด์„œ [unionon]์„ ์ž‘์„ฑํ•˜๋ฉด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. [unionon] = [union] + [on] => ์„œ๋ฒ„๋กœ ๋ณด๋‚ด์ง€๋ฉด [uni] + [on]์œผ๋กœ ์ธ์‹๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
  • 36. 36 0x02 Zixem SQLi Problems (level1 ~ level3) [Level 3 (Medium)] โ€˜ unionon select user(), version(), null, null ์ด ๋ช…๋ น์–ด๋กœ ๋ณด๋‚ด์„œ union์ด uni๋กœ ๋Œ€์ฒด๋˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋๋ถ€๋ถ„์— [โ€˜]๋ฅผ ํ•˜๋‚˜ ๋” ๋ถ™์—ฌ์„œ ๋ณด๋‚ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
  • 37. 37 0x02 Zixem SQLi Problems (level1 ~ level3) [Level 3 (Medium)] โ€˜ unionon select user(), version(), null, nullโ€™ ์ด๋ ‡๊ฒŒ ๋ช…๋ น์–ด๋ฅผ ๋ณด๋ƒˆ๋”๋‹ˆ ์ œ๋Œ€๋กœ injection ์ด ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ item ์˜ ๊ฐ’์„ ๋‹ค๋ฅธ ๊ฐ’์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ๋ฉด ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. (3์ด์™ธ์˜ ๊ฐ’ ์ง€์ •)
  • 38. 38 0x02 Zixem SQLi Problems (level1 ~ level3) [Level 3 (Medium)] ์„ฑ๊ณต์ ์œผ๋กœ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜ํƒ€๋‚œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Level3 Complete!