ç 究éçºé¨ã®ä¿è¦ (@takahoyo) ã§ãã ä»åã¯å¼ãã¼ã ã®ã³ã³ãã³ãéçºã®ã¤ã³ã¿ã¼ã³ã·ããã«åå ãã¦ããä¼æ±ããã¤ã³ã¿ã¼ã³ã·ãããéãã¦å¦ãã ãã¨ãå ±æãã¾ãã
ã¯ããã«
ããã«ã¡ã¯ãæ ªå¼ä¼ç¤¾ã¨ãã»ã¨ãã»ã©ãã©ããªã¼ãºï¼ä»¥ä¸NFLabs.ï¼å¦çã¤ã³ã¿ã¼ã³ã®ä¼æ±ã§ãã NFLabs. ã§ã¯äºæ¥ã®ï¼ã¤ã¨ãã¦ãã»ãã¥ãªãã£äººæãè²æããæè²ç¨ã³ã³ãã³ãã®ä½æãè¡ãªã£ã¦ãã¾ããç§ã¯ãã®ä¸ã§ä¸»ã«æè²ã³ã³ãã³ãã®éçºã«åãçµãã§ãã¾ãã ãã®è¨äºã§ã¯ãé·æã¤ã³ã¿ã¼ã³ã·ããã§ã®ç§ã®æ¥åå 容ã«ã¤ãã¦è©³ããç´¹ä»ãã¾ãã
ãããã£ã¼ã«
ç§ã¯åè大å¦ã®å·¥å¦é¨æ å ±å·¥å¦ã³ã¼ã¹ã«éã£ã¦ããå¦é¨ï¼å¹´çã§ããã»ãã¥ãªãã£ããããã¯ã¼ã¯ãä¸å¿ã«æ±ã£ã¦ããç 究室ã«æå±ãã¦ãã¾ããæ®æ®µã¯ã»ãã¥ãªãã£ã«é¢ããåå¼·ä¼ãã¯ã¼ã¯ã·ã§ãããã³ã³ãã¹ãã«åå ãã¦ãã¾ããWebã»ãã¥ãªãã£ãReversingãPwnableãã»ãã¥ãªãã£ãã°åæãªã©ã«èå³ãæã£ã¦ãã¾ãã
åå ã®çµç·¯
å»å¹´ï¼ï¼ï¼ï¼ï¼å¹´ï¼ã®æ¥é ã«ãæè¡è·ã§åãã¦ã¿ããã¨æããã¤ã³ã¿ã¼ã³ã·ããã®åéæ å ±ãæ¢ãã¯ããã¾ãããç§ã¯ãã®é ããã»ãã¥ãªãã£é åã«èå³ããã£ãã®ã§ãå¯è½ã§ããã°ã»ãã¥ãªãã£ã«é¢ãããã¤ã³ã¿ã¼ã³ã·ããã«åå ãããã¨èãã¦ãã¾ãããããããå®éã«èª¿ã¹ã¦ã¿ãã¨ãã©ããããã³ãã¨ã³ãã»ããã¯ã¨ã³ãã¨ã³ã¸ãã¢ã®åéã°ããã§ãã»ãã¥ãªãã£ã«é¢ãããé·æã¤ã³ã¿ã¼ã³ã·ãããè¦ã¤ããããã«ãã¾ããã諦ãããã¦ããä¸ã§ãå¶ç¶Twitterï¼ç¾Xï¼ã«ã¦NFLabs.ã®ã¤ã³ã¿ã¼ã³ã·ããåéã«ã¤ãã¦ã®ãã¤ã¼ããè¦ã¦ãããå¿åãããã¨ã«ãã¾ããã
ã¤ã³ã¿ã¼ã³ã·ããã®æ¥åå 容
ãæè²ã³ã³ãã³ãã®éçºãã«ãããå ·ä½çãªæ¥åãç´¹ä»ãã¾ãã
åé¡ã®ã¢ã¤ãã£ã¢ãèãã
æè²ç¨ã³ã³ãã³ãã¯ãå©ç¨è ã主ä½çã«å¦ç¿ã§ããããã«ãå¦ç¿ãããã¼ãã«åãããå®è·µçãªåé¡ã«åçãã¦ããå½¢å¼ã§ããããã«ãããç¥èãå®è·µçãªã¹ãã«ã¨ãã¦èº«ã«ã¤ãããã¨ãã§ãã¾ããããã§ãå¦ç¿è ãç解ãã¹ãèå¼±æ§ã¨ã¯ä½ããã¾ãããã®èå¼±æ§ãå¦ç¿ããä¸ã§ã©ã®ãããªåé¡ãè¨å®ãã¹ãããèãã¦è¨è¨ãã¾ããè¨è¨ããåé¡ã«ã¤ãã¦ã¯ãå¦ç¿ãããã¼ãã¨ãã¦é©åã§ãããã¨ãç¾å®ã§ãçºçããããã¨ãæ¢åã®åé¡ã¨ã®ãã©ã³ã¹ãã¨ãã¦ãããã¨çãã社å¡ã®æ¹ã«ã¬ãã¥ã¼ãã¦ããã ãã¾ãã ã»ãã¥ãªãã£ã®èå¼±æ§ãæè²ã®é¡æã¨ãã¦æ·±ãæãä¸ããçµé¨ã¯ãä»ã§ã¯ãªããªãå¾ãããªãè²´éãªæ©ä¼ã ã¨æãã¦ãã¾ãã
å®è·µç°å¢ãä½æãã
è¨è¨ããåé¡ãå®éã«è§£ããã¨ãã§ããå®è·µç°å¢ãä½æãã¾ããç¾å®çãªã·ããªãªã«è¿ã¥ãããã«ã社å¡ã®æ¹ã«ãã¢ããã¤ã¹ãããã ããªããå®è£ ãã¦ããã¾ããèå¼±æ§ã®åç¾ã«ã¯ãæ»æè ã®è¦ç¹ã«ç«ã¡ããã®ææ³ãæ·±ãç解ãããã¨ãä¸å¯æ¬ ã§ããå®è·µã¨æ¤è¨¼ãç¹°ãè¿ãä¸ã§ãã»ãã¥ãªãã£ã«é¢ããç解ãæ·±ãããã¨ãã§ããããããã®æ¥åã¯ã¨ã¦ãåå¼·ã«ãªããã¨ãå¤ãã§ãã
åé¡æã解説æãä½æãã
ä½æããå®è·µç°å¢ã«åãããåé¡æã解説æãä½æãã¾ããå°éç¨èªãåããããã説æããèªè ã®ç解度ã«åããã¦èª¬æã®ç²åº¦ã調æ´ããå¿ è¦ããããããé常ã«ããããã®ããæ¥åã§ããã¾ããå®è·µç°å¢ã®ä½æã¨åæ§ã«ã解説æã®ä½æã«ãæ»æææ³ã¸ã®æ·±ãç解ãæ±ãããã¾ããã¢ã¦ããããã¨ãã¦ããä»äººã«ãããããã«æ¸ãããã¨ã¯ãã¼ãã§ããããããããã¾ã§ã®å·¥ç¨ãçµãã¦å®éã«ã³ã³ãã³ãã«çµã¿è¾¼ã¾ããã¨ã大ããªéææãæãã¾ãã
å®éã«åãçµãã ãã¼ã
å®éã«ä½åã«åãçµãã ãã¼ãã®ä¸ä¾ã¨ãã¦ãLocal File Inclusion(LFI)
ã®èå¼±æ§ãç´¹ä»ãã¾ãã
LFIã«ã¤ãã¦èª¿ã¹ã¦ã¿ãã¨ãé©åãªå
¥åæ¤è¨¼ãè¡ããã¦ããªãå ´åã«ãæ»æè
ãä»»æã®ãã¡ã¤ã«ãèªã¿è¾¼ãã ãå®è¡ãããã§ããèå¼±æ§ã ã¨ãããã¾ãããããããã®èå¼±æ§ã®å
·ä½çãªæªç¨æ¹æ³ããã®å½±é¿ç¯å²ã¯ãã»ãã¥ãªãã£åå¦è
ã«ã¯ç解ãã¥ããããããã¾ãããããã§ãLFIã®èå¼±æ§ãå©ç¨ãã¦ãã©ã®ãããªæ»æãæç«ããã®ãã調æ»ãã¾ãã
LFIã®èå¼±æ§ãæªç¨ãããã¨ã以ä¸ã®è¢«å®³ãæ³å®ããã¾ãã
- ãµã¼ãã«åå¨ããä»»æã®ãã¡ã¤ã«ã®é²è¦§
- ãªã¢ã¼ãã³ã¼ãå®è¡
ä»åã¯ãLFIãåãªããã¡ã¤ã«èªã¿è¾¼ã¿ã ãã§ãªãããªã¢ã¼ãã³ã¼ãå®è¡ã«ãã¤ãªããå±éºæ§ã示ããããLog Poisoningã¨çµã¿åãããã·ããªãªãè¨è¨ãã¾ãããLog Poisoningã¯ããã°ãã¡ã¤ã«ã«æªæã®ããã³ã¼ããä¿æãããæ»æææ³ã§ãã
ããããæ´çããã¨ã以ä¸ã®ã·ããªãªã§åé¡ãè¨è¨ã§ãã¾ãã
- Webã¢ããªã±ã¼ã·ã§ã³ä¸ã«LFIã®èå¼±æ§ããªããæ¢ã
- Log Poisoningãç¨ãã¦ãä»»æã³ã¼ãã®å®è¡ãå¯è½ã«ãªãæååããã°ãã¡ã¤ã«ã«æ³¨å ¥ãã
- LFIã®èå¼±æ§ãå©ç¨ãã¦ããã°ãã¡ã¤ã«ãããã°ã©ã ã¨ãã¦å®è¡ãã
- ãã©ã°ã¨ãªãæ å ±ãåå¾ãã
大ã¾ããªæ¹éã決ãããã¨ã«ãä¸è¨ã®ã·ããªãªãå®è·µã§ããç°å¢ãä½æãã¾ããå¦ç¿ã«å©ç¨ããããããã«æ確ãªLFIã®èå¼±æ§ãä½ãè¾¼ã¿ã¾ããã¾ããLog Poisoningããã対象ã®ãã°ãã¡ã¤ã«ãç¨æãããããApache + PHP + MySQLã®æ§æã§å®è·µã§ããç°å¢ã®æ§ç¯ãè¡ãã¾ãããããã«ãããApacheã®ã¢ã¯ã»ã¹ãã°ãçæãããã·ããªãªãå®è·µãããããªãã¾ãã å ãã¦ãé ããã£ã¬ã¯ããªã®ãã©ã°åå¾ã ãã§ã¯ç¾å®çãªæ»æã·ããªãªã¨ã¯è¨ããªããããMySQLãã¼ã¿ãã¼ã¹ããã¦ã¼ã¶ã®ã¯ã¬ãã³ã·ã£ã«æ å ±ãçã¿åºããã¨ãæçµç®æ¨ã¨ãã¾ããã æå¾ã«ããããã®ã·ããªãªã«åãããåé¡æã解説æãä½æãã¾ãã å®è·µçãªç°å¢æ§ç¯ã¨ããã®æåãåæãåããããã解説ããçµé¨ã¯ãã»ãã¥ãªãã£ã¨ã³ã¸ãã¢ã¨ãã¦ã®ã¹ãã«ã¢ããã«å¤§ããè²¢ç®ããã¨èãã¦ãã¾ããå®éã«ãNFLabs.ã§ã®ã¤ã³ã¿ã¼ã³ã·ãããéãã¦ãéçºç°å¢ã®æ§ç¯ããããã¥ã¡ã³ãä½æãåºæ¬æ©è½ã®å®è£ ã¾ã§ãä¸é£ã®éçºããã»ã¹ãå¹ççã«é²ããã¹ãã«ãåä¸ããã¨æãã¦ãã¾ãã
ã¤ã³ã¿ã¼ã³ã·ããã®é°å²æ°
ç§ã¯ç 究室ã®æ´»åããªãæ¥ãä¸å¿ã«é±ï¼æ¥ã»ã©å¤åãã¦ãã¾ãããã«ãªã¢ã¼ãã§ã®å¤åã¨ãªã£ã¦ãããSlackãGitLabãæ´»ç¨ããåæ»ãªã³ãã¥ãã±ã¼ã·ã§ã³ãå³ã£ã¦ãã¾ããååä¸ã«è¡ããããã¤ãªã¼ãã¼ãã£ã³ã°ã§ã¯ãèªèº«ãåãçµãã§ããã¿ã¹ã¯ã®é²æãåé¡ç¹ãå ±æãã¾ããæ°ãã«çããåé¡ã«ã¤ãã¦ã¯ãããã¹ããã£ããã§å ±æãè¡ãã¾ããã¾ããå¿ è¦ã«å¿ãã¦Webä¼è°ãã¼ã«ã使ç¨ãã¦ãåé¡ã®ç¶æ³ãå ±æãã¾ããSlackã§ã®è³ªåã«ã¯ããã¤ãè¿ éãã¤ä¸å¯§ãªåçãè¿ã£ã¦ããã®ã§ãå®å¿ãã¦æ¥åã«åãçµãã¾ããã¾ããå¤åã®æ¥ç¨ãæè»ã«èª¿æ´ã§ããã®ã§ãå¦æ¥ã¨ã®ä¸¡ç«ãç¡çãªãè¡ãã¦ãã¾ãã ã»ãã¥ãªãã£ã«æ ç±ãæã£ã¦åãçµã¾ãã¦ããæ¹ã ã«å²ã¾ããªãããããã»ã©æè»ã«åããã¤ã³ã¿ã¼ã³ã·ããã¯ä»ã«ãªãã¨æãã¾ãã
ã¤ã³ã¿ã¼ã³ã·ãããæ¯ãè¿ã£ã¦
以åã¯ãå¦ãã èå¼±æ§ãå®éã«æ¤è¨¼ããæ©ä¼ãå°ãªããç¥èã¨ãã¦ç解ããã ãã§çµãã£ã¦ãã¾ããã¨ãããã¾ãããã¤ã³ã¿ã¼ã³ã·ãããéãã¦ãæ°å¤ãã®èå¼±æ§åç¾ã»æ¤è¨¼ã«åãçµãä¸ã§ãå®è·µçãªç¥èãã¹ãã«ã身ã«ã¤ããæ¤è¨¼ç°å¢æ§ç¯ã¸ã®æµææããªããªãã¾ããã ã¤ã³ã¿ã¼ã³ã·ãããéãã¦ãæè¡çãªã¹ãã«ã ãã§ãªããããã¥ã¡ã³ãã®èªè§£ããã¼ã ã§ã®æ å ±å ±æã質ååãªã©ãã»ãã¥ãªãã£ã¨ã³ã¸ãã¢ã¨ãã¦å¿ è¦ãªåºç¤åãé¤ããã¨ãã§ãã¾ããã
ãããã«
æ¹ãã¦ãç§ã®èå³é¢å¿ã«åããã¦1年以ä¸ã«ãããææ¦ã®å ´ãä¸ãã¦ãã ãã£ã¦ããè·å ´ã®çããããããã¨ããããã¾ãã
ãã®è¨äºã§ã¯ãé·æã¤ã³ã¿ã¼ã³ã·ããã®æ¥åå 容ã«ã¤ãã¦ç´¹ä»ãã¾ãããNFLabs.ã®ã¤ã³ã¿ã¼ã³ã·ããã«ã¤ãã¦èª¿ã¹ã¦ããæ¹ã®åèã«ãªãã°å¹¸ãã§ãã