[LOS] Dragon ํ’€์ด(20)

20 ๋ฒˆ์งธ ๋ฌธ์ œ์ธ "Dragon"์ž…๋‹ˆ๋‹ค. if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~"); ์ฟผ๋ฆฌ๋ฌธ์„ ์ž…๋ ฅ๋ฐ›์•„ ์‹คํ–‰ํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ๋ณ€์ˆ˜๋Š” GET [pw]์ด๋ฉฐ ํ•„ํ„ฐ๋งํ•˜๊ณ  ์žˆ๋Š” ๋ฌธ์ž์—ด์€ / _ . () ์ƒ๋Œ€์ ์œผ๋กœ ์ ์–ด์„œ ๊นŒ๋‹ค๋กœ์›Œ ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. $query = "select id from prob_dragon where id='guest'# and pw='{$_GET[pw]}'"; ์ž…๋ ฅ๋˜๋Š” ์ฟผ๋ฆฌ ๋ฌธ์„ ๋ณด๋ฉด id='guest'๋กœ ์ง€์ •๋˜์–ด ์žˆ์œผ๋ฉฐ ๋ฐ”๋กœ ์•ž์— "#(์ฃผ์„)" ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— "pw" ๊ฐ’์— ์ž…๋ ฅ๋œ ๊ตฌ๋ฌธ๋“ค์„ ๋ชจ๋‘ ๋ฌดํšจ ์ฒ˜๋ฆฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. if($result['id'] == 'admin') solve("dragon"); ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ..

CHALLENGE
[LOS] Xavis ํ’€์ด(19)

์—„์ฒญ ๊นŒ๋‹ค๋กœ์› ๋˜ "xavis" ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ฒ˜์Œ ๋ดค์„ ๋•Œ๋Š” ๋ ˆ๋ฒจ ๋‚œ์ด๋„ ์น˜๊ณ ๋Š” ๋„ˆ๋ฌด ์‰ฌ์šด ๋ฌธ์ œ์ธ ๊ฑฐ ๊ฐ™์•„์„œ ์‰ฌ์–ด๊ฐ€๋Š” ํƒ€์ž„์ธ ์ค„ ์•Œ์•˜์œผ๋‚˜ ์ •๋‹ต์ด ์ „ํ˜€ ๋‚˜์˜ค์ง€๊ฐ€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ฟผ๋ฆฌ๋ฌธ์„ "์ฐธ"์œผ๋กœ ๋งŒ๋“ค์–ด์„œ ํŒจ์Šค์›Œ๋“œ ๊ธธ์ด๋ฅผ ์œ ์ถ”ํ•˜์—ฌ 12์ž๋ฆฌ์ธ๊ฒƒ์„ ์•Œ์•„๋‚ด๊ณ  ํ•œ ๋˜๋ฐ๋กœ burp suite๋ฅผ ํ†ตํ•ด ๊ฐ’์„ ํ•˜๋‚˜์”ฉ ๋Œ€์ž…ํ•ด์„œ ๊ฒฐ๊ณผ๋ฅผ ์–ป์–ด๋‚ด๋ ค๊ณ  ascii ์ฝ”๋“œ๋ฅผ ๋Œ๋ ค๋ดค์ง€๋งŒ ๋„์ถœ๋œ ๊ฐ’์€ ์ „ํ˜€ ์—†๊ณ  ๊ณผ๋ถ€ํ•˜๊ฐ€ ๊ฑธ๋ ค ๋„์ค‘์— ๋ฉˆ์ถ”๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ ์ ‘๊ทผ ๋ฐฉ์‹๋ถ€ํ„ฐ ์ถœ์ œ์ž์˜ ์˜๋„๋ฅผ ๋ชจ๋ฅด๊ฒ ์–ด์„œ ํžŒํŠธ๋ฅด ๋ณด๋ฉด์„œ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ํžŒํŠธ 1. ํŒจ์Šค์›Œ๋“œ๊ฐ€ ์ˆซ์ž, ์•ŒํŒŒ๋ฒณ, ํŠน์ˆ˜๋ฌธ์ž ๊ฐ€ ์•„๋‹˜ 2. ascii ์ฝ”๋“œ๋กœ ์ถœ๋ ฅ์‹œํ‚ค์ง€๋ง๊ณ  "hex" ํ˜•ํƒœ๋กœ ์ถœ๋ ฅ์‹œํ‚ฌ๊ฒƒ 3. ์ถœ๋ ฅ๋œ "hex" ๊ฐ’์„ ์›๋ฌธ ํ˜•ํƒœ๋กœ decode ํ• ๊ฒƒ Input Code ' or length..

CHALLENGE
[LOS] Nightmare ํ’€์ด(18)

18๋ฒˆ์งธ ๋ฌธ์ œ์ธ "nightmare"์ž…๋‹ˆ๋‹ค. if(preg_match('/prob|_|\.|\(\)|#|-/i', $_GET[pw])) exit("No Hack ~_~"); if(strlen($_GET[pw])>6) exit("No Hack ~_~"); "pw" ๋ณ€์ˆ˜์—๋Š” _ . () # - ๊ฐ™์€ ๊ธฐํ˜ธ๋“ค์„ ๊ฒ€์ฆํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ GET [pw]>6์ฒ˜๋Ÿผ ์ž…๋ ฅ๊ฐ’ ๊ธธ์ด๋ฅผ ๊ฒ€์ฆํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— 6๊ธ€์ž๋ฅผ ๋„˜์–ด๊ฐ€๋ฉด No Hack์ด๋ผ๋Š” ํŽ˜์ด์ง€๋กœ ๋„˜๊ธฐ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ 1. ์šฐ์„  ์ž…๋ ฅ๊ฐ’ ๊ธธ์ด ์ œํ•œ์„ ๋งž์ถฐ์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ๋ณธ์ ์ธ "์ฐธ" ๊ตฌ๋ฌธ์ธ or 1=1 ์€ ๋ถˆ๊ฐ€๋Šฅํ•  ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„  if($result['id']) solve("nightmare"); ์ฒ˜๋Ÿผ admin ์ด ์•„๋‹Œ ์•„๋ฌด๋Ÿฐ ๊ณ„์ •์œผ๋กœ ์ ‘๊ทผ..

CHALLENGE
[LOS] Assassin ํ’€์ด(15)

15 ๋ฒˆ์งธ ๋ฌธ์ œ์ธ "assassin"์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ๋ฌธ์ œ์˜ ๊ฒฝ์šฐ "$_GET[pw]" ๋ผ๋Š” ๋ณ€์ˆ˜์— ์ฟผ๋ฆฌ๋ฌธ์„ ์ž…๋ ฅ๋ฐ›์•„ ์‹คํ–‰๋˜๋Š” ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. if(preg_match('/\'/i', $_GET[pw])) exit("No Hack ~_~"); ์ž…๋ ฅ๊ฐ’์„ ๊ฒ€์ฆํ•˜๋Š” ๋ถ€๋ถ„์ธ "preg_match" ํ•จ์ˆ˜๋ฅผ ๋ณด๋ฉด ์‹ฑ๊ธ€์ฟผํ„ฐ๋ฅผ ๊ฒ€์ฆํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. if($result['id']) echo "Hello {$result[id]}"; if($result['id'] == 'admin') solve("assassin"); ์–ด์Ž„์‹  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„  ์ž…๋ ฅ๋ฐ›์€ pw์˜ ๊ฐ’์ด "admin" ๊ณ„์ •์ด์–ด์•ผ ํ•œ๋‹ค๋Š”๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ƒ๋‹จ์˜ ์ฟผ๋ฆฌ๋ฌธ์„ ๋ณด๋ฉด =(๋“ฑํ˜ธ) ๋Œ€์‹  " like " ๊ตฌ๋ฌธ์„ ์“ฐ๊ณ  ์žˆ๋„ค์š” *like๋Š” ..

CHALLENGE