๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

SWUFORCE/์›Œ๊ฒŒ์ž„ ํ’€์ด

(42)
[H4CKING GAME] Season1 : cat (Forensics) ์‚ฌ์ง„์„ ๋‹ค์šด๋กœ๋“œํ•˜๋‹ˆ ๊ทธ๋ƒฅ ํ‰๋ฒ”ํ•˜๊ณ  ๊ท€์—ฌ์šด... ๊ณ ์–‘์ด ์‚ฌ์ง„์ด๋‹ค์‚ฌ์ง„์„ ์œก์•ˆ์œผ๋กœ ๋ณด์•„์„œ๋Š” ํ”Œ๋ž˜๊ทธ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์„ ๊ฒƒ ๊ฐ™์•„์„œ, HxD๋กœ ์—ด์–ด ๋ณธ๋‹ค. jpg ํŒŒ์ผ์ด๋ผ ๋ฐ”๋กœ ์ด์ „ ๋ฌธ์ œ์ธ linefeed.png ํŒŒ์ผ๊ณผ๋Š” ๊ตฌ์กฐ๊ฐ€ ํ™•์—ฐํžˆ ๋‹ค๋ฆ„.jpg ํŒŒ์ผ ๊ตฌ์กฐ๋„ ๋ถ„์„ํ•ด ๋ณธ๋‹ค.  SOI (Start Of Image)ํ”ํžˆ ๋งํ•˜๋Š” ํ—ค๋” ์‹œ๊ทธ๋‹ˆ์ฒ˜FF D8APPn JFIF MarkerAPP0~APP15๊นŒ์ง€ ์˜ฌ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ธ๋„ค์ผ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด๊ฐ FFE0~FFEFDQT (Define Quantization Tables)์–‘์žํ™” ํ…Œ์ด๋ธ”์„ ์ •์˜ํ•˜๋Š” ๋ฐ ์••์ถ• ์œ„ํ•ด ์‚ฌ์šฉFF DBSOF (Start Of Frame)์ด๋ฏธ์ง€ ํฌ๊ธฐ(๋†’์ด, ๋„ˆ๋น„) ์ •์˜FFC0~FFC2DHT (Define Huffman Tables)FF C4SOS (Start Of..
[H4CKING GAME] Season1 : LineFeed (Forensics) linefeed.png ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ๋ฐ›์•„ ์—ด์–ด ๋ณด๋ฉด ์ด๋ ‡๊ฒŒ RGB๋กœ ์ƒ‰ ๋”ฐ์˜จ ๊ฒƒ ๊ฐ™์€ ์„  4๊ฐœ๊ฐ€ ๋ณด์ธ๋‹ค.ํ™•๋Œ€ํ•ด ๋ด๋„ ํ”Œ๋ž˜๊ทธ๋ฅผ ์œก์•ˆ์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๊ฑด ์•„๋‹Œ ๊ฒƒ ๊ฐ™์•„์„œ,HxD๋กœ ์—ด์–ด๋ณธ๋‹ค.  png ํŒŒ์ผ์˜ ๊ตฌ์กฐ๋ฅผ ์•Œ์•„์•ผ ํ’€ ์ˆ˜ ์žˆ๋Š” ๊ฑธ๊นŒ?... PNG ํ—ค๋” ์‹œ๊ทธ๋‹ˆ์ฒ˜89 50 4E 47 0D 0A 1A 0A (์ด 8byte)์ฒญํฌLength: Chunk Data์˜ ๊ธธ์ดChunk Type: ์ฒญํฌ์˜ ํƒ€์ž…, ์ฆ‰ IHDR, IDAT ๋“ฑIHDR: PNG ํŒŒ์ผ์˜ ๊ธฐ๋ณธ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ์Œ. ์–ธ์ œ๋‚˜ 13byte, ์‹œ๊ทธ๋‹ˆ์ฒ˜ ๋ฐ”๋กœ ๋’ค์— ๋ถ™์Œ. Width(4bytes), Height(4bytes), Bit Depth(1byte), Color Type(1byte)IDAT: ์‹ค์ œ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๋ถ€๋ถ„. ํ•œ ๊ฐœ์˜ PNG ํŒŒ์ผ..
[H4CKING GAME] Season1 : Easy (forensic) easy.png ์—ด์–ด ๋ณด๋ฉด,์ด๋ ‡๊ฒŒ ํ๋ฆฟํ•œ ์‚ฌ์ง„ ํŒŒ์ผ์ด๋‹ค. ํ™”๋ฉด ๋ฐ๊ธฐ๋ฅผ ํ‚ค์›Œ ๋ณด๋‹ˆ ํ์•Œ์ฝ”๋“œ์˜ ํ˜•ํƒœ๊ฐ€ ๋ณด์ด๋Š” ๋“ฏํ•˜๋‹ค.  ์œˆ๋„์šฐ์ฆˆ์—์„œ ์ œ๊ณตํ•˜๋Š” ์‚ฌ์ง„ ํŽธ์ง‘๊ธฐ๋กœ ์ƒ‰๊ฐ๊ณผ ๋ฐ๊ธฐ๋ฅผ ์กฐ์ ˆํ•ด ๋Œ€๋žต ์ด์ •๋„ ์ˆ˜์ค€๊นŒ์ง€๋Š” ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.์œก์•ˆ์œผ๋กœ ์‹๋ณ„ ๊ฐ€๋Šฅํ•œ QR์ฝ”๋“œ์ด์ง€๋งŒ ํœด๋Œ€ํฐ ์นด๋ฉ”๋ผ๋กœ ๋น„์ถฐ ๋ดค์„ ๋•Œ ์ธ์‹์ด ๋˜์ง„ ์•Š๋Š”๋‹ค.  ํœด๋Œ€ํฐ์œผ๋กœ ์˜ฎ๊ฒจ ์กฐ๊ธˆ ๋” ์ •๋ฐ€ํ•œ ๋ฐ๊ธฐ ๋ณด์ •์„ ํ•ด ๋ณธ๋‹ค.์„ ๋ช…๋„๋ฅผ ์ง‘์ค‘์ ์œผ๋กœ ๋†’์—ฌ ๊ฝค ์„ ๋ช…ํ•œ QR์ฝ”๋“œ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์— ์„ฑ๊ณตํ–ˆ๋‹ค. ํœด๋Œ€ํฐ ๊ฐค๋Ÿฌ๋ฆฌ ์–ดํ”Œ์—์„œ QR์ฝ”๋“œ ์ธ์‹ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด์ž, ์œ„ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด H4CGM{not_easy}๋ผ๋Š” ํ”Œ๋ž˜๊ทธ ํ˜•ํƒœ๋ฅผ ์›น์— ๊ฒ€์ƒ‰ํ•˜๋Š” ๋งํฌ๊ฐ€ ํ‘œ์‹œ๋œ๋‹ค.'์›น ๊ฒ€์ƒ‰' ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ๋ณด๋ฉด ๋ฐ”๋กœ ์‚ฌํŒŒ๋ฆฌ๋กœ ์—ฐ๊ฒฐ๋ผ H4CGM{not_easy}๋ฅผ ๊ฒ€์ƒ‰์ฐฝ์— ๊ฒ€์ƒ‰ํ•˜๊ฒŒ ๋œ๋‹ค.์ถ”๊ฐ€์ ์œผ๋กœ ์ฐพ์•„๋ด์•ผ ํ•˜๋Š” ๊ฑด ..
[H4CKING GAME] Season1 : Paint (forensics) ๋ฌธ์ œ ์„ค๋ช…png ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œํ•ด ๋ณด๋ฉด๋Œ€์ถฉ ๊ฐ€๋ ค์ง„ ํ”Œ๋ž˜๊ทธ ํ™”๋ฉด.์‚ฌ์ง„ ๋ฐ๊ธฐ ๊ฐ™์€ ๊ฑฐ ์กฐ์ ˆํ•˜๋ฉด ๊ธˆ๋ฐฉ ํ’€ ์ˆ˜ ์žˆ์–ด ๋ณด์ธ๋‹ค...ํœด๋Œ€ํฐ์œผ๋กœ ์‚ฌ์ง„ ์˜ฎ๊ธฐ๊ธฐ ๊ท€์ฐฎ์•„์„œ... ์œˆ๋„์šฐ์ฆˆ ๊ธฐ๋ณธ ์‚ฌ์ง„ ์•ฑ์—์„œ ๋ฐ๊ธฐ ๋ช…์•” ์กฐ์ ˆํ•ด ๋ดค๋Š”๋ฐ์–ด๋‘ก๊ฒŒ ์น ํ•ด์ง„ ๋ถ€๋ถ„์€ ํฌ๋ฏธํ•˜๊ฒŒ ๋ณด์ธ๋‹ค.  ๋ณด์ด๋Š” ๊ฒƒ๋งŒ์œผ๋กœ ์ตœ๋Œ€ํ•œ ์œ ์ถ”ํ•ด ๋ณด๋ฉด 'Flag is H4CGM{h1dd2n_4nd_5S3k}' ์ฒ˜๋Ÿผ ๋ณด์ธ๋‹ค.Flag ์ฐฝ์— ์ž…๋ ฅํ–ˆ์œผ๋‚˜ ํ‹€๋ฆฐ ๋‹ต์ด๋ผ๋Š” ์ฐฝ์ด ํ‘œ์‹œ๋œ๋‹ค.  ์•„๋ฌด๋ž˜๋„ ๋„ˆ๋ฌด ๋ฌด์˜๋ฏธํ•œ ๋ฌธ์ž์—ด์ด์—ˆ๋˜ ๋“ฏ ์‹ถ์–ด ๋‹ค์‹œ ์œ„ ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ๋ง์ด ๋˜๊ฒŒ๋” ์ถ”์ธกํ–ˆ๋”๋‹ˆ'H4CGM{h1dd3n_4nd_533k}'๋Š” ์–ด๋–จ๊นŒ ์œ„ ํ”Œ๋ž˜๊ทธ ์ž…๋ ฅํ•ด ๋ณด๋‹ˆ ํ’€์ด์— ์„ฑ๊ณตํ–ˆ๋‹ค.
[wargame.kr] md5 password (web) ๋ฌธ์ œ ์„ค๋ช…์„œ๋ฒ„ ์ƒ์„ฑ ํ›„ ์ ‘์† ํ™”๋ฉด. ์˜ฌ๋ฐ”๋ฅธ ํŒจ์Šค์›Œ๋“œ ์ž…๋ ฅํ•˜๋ฉด ํ”Œ๋ž˜๊ทธ ํš๋“ ๊ฐ€๋Šฅํ•œ ํ˜•์‹์˜ ๋ฌธ์ œ์ธ ๋“ฏ? "; echo "FLAG : ".$FLAG; }else{ echo "wrong.."; } }?>password : get source์†Œ์Šค์ฝ”๋“œ. ํ•ต์‹ฌ์ด ๋˜๋Š” ๊ฑด$row=@mysqli_fetch_array(mysqli_query($conn, "select * from admin_password where password='".md5($ps,true)."'")); if(isset($row[0])){ echo "hello admin!".""; echo "FLAG : ".$FLAG;์—ฌ๊ธฐ์ธ ๋“ฏ. ์‹ค์ œ ์ž…๋ ฅํ•˜๋Š” ํŒจ์Šค์›Œ๋“œ ๊ฐ’ ์ฆ‰ ๋ณ€์ˆ˜์ธ $ps๋Š” mysql_real_escape_string()์œผ๋กœ SQ..
[wargame.kr] type confusion (web) ๋ฌธ์ œ ์„ค๋ช…๋‹จ์ˆœ ๋น„๊ต ๋ฌธ์ œ๋ฌธ์ œ ์ด๋ฆ„์ด ํžŒํŠธ๊ฐ€ ๋œ๋‹ค๋Š”...์„œ๋ฒ„ ์ƒ์„ฑํ•ด์„œ ๋“ค์–ด๊ฐ€ ๋ณด๋ฉด ์ง„์งœ ๊ฐ„๋‹จํ•œ... ํ˜•ํƒœ์˜ ํŽ˜์ด์ง€ํŠน์ • ๋ฌธ์ž์—ด ๋„ฃ์–ด์„œ check๋ฅผ ํ•ด์•ผ ๋˜๋Š” ๊ฒƒ ๊ฐ™์Œ์•„๋ฌด ๊ธ€์ž๋‚˜ ๋„ฃ๊ณ  check ํ–ˆ๋”๋‹ˆ ์ด๋Ÿฐ ๋ฉ”์‹œ์ง€ ๋œธ.  ์šฐ์„  ์†Œ์Šค ์ฝ”๋“œ๋ถ€ํ„ฐ ์—ด์–ด ๋ณด์žkey == $key) { $ret = ["code" => true, "flag" => $FLAG]; } else { $ret = ["code" => false]; } die(json_encode($ret)); } function gen_key(){ $key = uniqid("welcome to wargame.kr!_", true); $key = sha1($key); return $key; }?> ..
[wargame.kr] tmitter (web) ๋ฌธ์ œ ์„ค๋ช…admin์ด๋ผ๋Š” ID๋กœ ๋กœ๊ทธ์ธํ•˜๋Š” ๋ฌธ์ œ์„œ๋ฒ„ ์ƒ์„ฑํ•ด์„œ ์ ‘์†ํ–ˆ๋”๋‹ˆ ๋ชจํ‹ฐ๋ธŒ๊ฐ€ ํŠธ์œ„ํ„ฐ์ธ ๋“ฏ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ/ํšŒ์›๊ฐ€์ž… ๋ฒ„ํŠผ์ด ๊ฐ๊ฐ ์žˆ๋‹ค. ํšŒ์›๊ฐ€์ž… ์ฐฝ์ด ์žˆ์œผ๋‹ˆ ์ž„์˜์˜ ID PW๋กœ ํšŒ์›๊ฐ€์ž…์„ ๋จผ์ € ํ•ด ๋ณธ๋‹ค. ํšŒ์›๊ฐ€์ž… ํ›„ ๋กœ๊ทธ์ธ๊นŒ์ง€ ํ•ด ๋ณด๋‹ˆ, ์ด๋ ‡๊ฒŒ ๋‚˜๋ฆ„ SNS์ฒ˜๋Ÿผ ๋œฌ๋‹ค. hello world ์ณ์„œ Tmeet ํ•ด ๋ณด๋‹ˆ๊นŒ๋Œ€์ถฉ ์ด๋ ‡๊ฒŒ...์—ฌ๊ธฐ์„œ ํžŒํŠธ๋ฅผ ์–ป์„ ๊ฑด ์—†์–ด ๋ณด์ž„.์šฐ์ธก ์ƒ๋‹จ Find People/Settings/Helps ๋‹ค ๋ˆŒ๋Ÿฌ ๋ด๋„ Not yet์ด๋ผ๊ณ  ํ•จ.  ๋ฌธ์ œ์—์„œ ์š”๊ตฌํ•˜๊ณ  ์žˆ๋Š” ๊ฒŒ admin์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋Š” ๊ฑฐ๋‹ˆ๊นŒ, admin์ด๋ผ๋Š” ํšŒ์› ์ •๋ณด๊ฐ€ ์ด๋ฏธ ์กด์žฌํ•˜๋Š”์ง€ ํšŒ์›๊ฐ€์ž…์„ ์‹œ๋„ํ•ด ๋ณด๊ฒ ๋‹ค. ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ID. ๊ทธ๋ ‡๋‹ค๋ฉด ํŒจ์Šค์›Œ๋“œ๋ฅผ ์•Œ์•„๋‚ด์„œ ๋กœ๊ทธ์ธ์„ ํ•ด์•ผ ํ•œ๋‹ค.  IDat least 4char ..
[wargame.kr] strcmp (web) ๋ฌธ์ œ ์„ค๋ช…strcmp ํ•จ์ˆ˜๋ฅผ ์šฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด, ํ”Œ๋ž˜๊ทธ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„ ์ƒ์„ฑ ํ›„ ์ ‘์†. " . $FLAG .""; exit(); } else { echo "Wrong password.."; } }?> password : view-sourceํŽ˜์ด์ง€์˜ view-source ๋ˆ„๋ฅด๋ฉด ์ด๋ ‡๊ฒŒ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋ณด์—ฌ ์ค€๋‹ค. ๋ฌธ์ œ ์„ค๋ช…์—์„œ strcmp ํ•จ์ˆ˜๋ฅผ ์šฐํšŒํ•˜๋ผ๊ณ  ํ–ˆ์œผ๋‹ˆ๊นŒ strcmp๊ฐ€ ์žˆ๋Š” ๋ผ์ธ์„ ์ฃผ์˜ ๊นŠ๊ฒŒ ๋ดค๋‹ค.   if (strcmp($_POST['password'], $password) == 0) { echo "Congratulations! Flag is " . $FLAG ."";์—ฌ๊ธฐ ์ฝ”๋“œ์—์„œ๋„, strcmp๋ฅผ ..