{"id":5092,"date":"2022-01-10T17:06:08","date_gmt":"2022-01-10T08:06:08","guid":{"rendered":"\/blog\/?p=5092"},"modified":"2023-09-21T09:26:26","modified_gmt":"2023-09-21T00:26:26","slug":"sca-ssc-log4j2shell-%ec%b7%a8%ec%95%bd%ec%a0%90-%ed%8c%a8%ec%b9%98-%ec%8a%a4%ed%81%ac%eb%a6%bd%ed%8a%b8","status":"publish","type":"post","link":"https:\/\/hasu0707.duckdns.org\/blog\/?p=5092","title":{"rendered":"[SCA\/SSC] log4j2shell \ucde8\uc57d\uc810 \ud328\uce58 \uc2a4\ud06c\ub9bd\ud2b8"},"content":{"rendered":"\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">@ECHO OFF\nSETLOCAL ENABLEDELAYEDEXPANSION\nCOLOR 1F\nCLS\nREM ###########################################################\nREM #\nREM # log4jShell \ucde8\uc57d\uc810 \ud328\uce58\nREM #\nREM # \ub300\uc0c1: Fortify SCA 4.3~21.1\nREM # \uc120\ud589\uc870\uac74: zip \ucee4\ub9e8\ub4dc\uac00 \uc124\uce58\ub418\uc5b4 \uc788\uc5b4\uc57c \ud55c\ub2e4.\nREM #\nREM # CVE: https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2021-44228\nREM #\nREM # Author: hasu0707@esvali.com (2021.12.13)\nREM #\nREM ###########################################################\nSET \"ZIP_CMD=zip\"\n\nREM ###########################################################\nREM # \uc804\uc5ed \ubcc0\uc218 \uc124\uc815\nREM ###########################################################\nSET TIMESTAMP_VAL=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%\nSET TIMESTAMP_VAL=%TIMESTAMP_VAL: =0%\nSET \/A FILESIZE1=0\nSET \/A FILESIZE2=0\n\nREM ###########################################################\nREM # \ud0c0\uc774\ud2c0 \ucd9c\ub825\nREM ###########################################################\nECHO ###########################################################\nECHO #\nECHO # Fortify SCA log4jShell \ucde8\uc57d\uc810 \ud328\uce58 \uc2a4\ud06c\ub9bd\ud2b8\nECHO #\nECHO #                              (\uc8fc)\uc774\uc528\ud050\ubc38\ub9ac\nECHO #\nECHO ###########################################################\nECHO.\n\nECHO ###########################################################\nECHO # Fortify SCA \uacbd\ub85c \uc785\ub825\nECHO # (\uacf5\ubc31\uc774 \ud3ec\ud568\ub418\uc5b4 \uc788\uc73c\uba74 \uc624\ub958\uac00 \ub0a0 \uc218 \uc788\uc2b5\ub2c8\ub2e4.)\nECHO ###########################################################\nECHO Fortify SCA \uacbd\ub85c\ub97c \uc785\ub825\ud574 \uc8fc\uc138\uc694.\nECHO \uc608) C:\\fortify_sca_20.2.0\n\n:LABEL_1\nSET \/P SCA_PATH=\"SCA PATH: \"\nIF NOT EXIST \"%SCA_PATH%\\Core\\lib\" (\n  ECHO ERROR: %SCA_PATH%\ub294 Fortify SCA \ud3f4\ub354\uac00 \uc544\ub2d9\ub2c8\ub2e4.\n  GOTO LABEL_1\n)\nECHO.\n\nFOR \/F \"tokens=* USEBACKQ\" %%F IN (`DIR \/B \"%SCA_PATH%\\Core\\lib\\log4j-core-*.jar\"`) DO (\n  SET JAR_FILE=%%F\n)\n\nIF NOT DEFINED JAR_FILE (\n  ECHO ERROR: JAR \ud30c\uc77c\uc774 \ubc1c\uacac\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.\n  EXIT \/B\n)\n\nFOR \/F \"tokens=* USEBACKQ\" %%F IN (`DIR \/B \"%SCA_PATH%\\Core\\lib\\log4j-core-*.jar\"`) DO (\n  ECHO ###########################################################\n  ECHO # \ud328\uce58\ub300\uc0c1 JAR\ud30c\uc77c: \"%SCA_PATH%\\Core\\lib\\%%F\"\n  ECHO ###########################################################\n  ECHO.\n\n  ECHO ###########################################################\n  ECHO # \ubc31\uc5c5 \uc2e4\ud589\n  ECHO # \"%SCA_PATH%\\Core\\lib\\%%F -> %%F.%TIMESTAMP_VAL%\"\n  ECHO ###########################################################\n  COPY \/B \/Y \"%SCA_PATH%\\Core\\lib\\%%F\" %%F.%TIMESTAMP_VAL%\n  ECHO.\n  CALL :GETFILESIZE \"%SCA_PATH%\\Core\\lib\\%%F\" FILESIZE1\n\n  ECHO ###########################################################\n  ECHO # \ud328\uce58 \uc2e4\ud589\n  ECHO ###########################################################\n  ECHO %ZIP_CMD% -q -d \"%SCA_PATH%\\Core\\lib\\%%F\" org\/apache\/logging\/log4j\/core\/lookup\/JndiLookup.class\n  %ZIP_CMD% -q -d \"%SCA_PATH%\\Core\\lib\\%%F\" org\/apache\/logging\/log4j\/core\/lookup\/JndiLookup.class\n  CALL :GETFILESIZE \"%SCA_PATH%\\Core\\lib\\%%F\" FILESIZE2\n  ECHO.\n\n  ECHO ###########################################################\n  ECHO # \ud30c\uc77c \uad8c\ud55c \uc124\uc815\n  ECHO ###########################################################\n  ICACLS \"%SCA_PATH%\\Core\\lib\\%%F\" \/t \/grant:r Administrators:F > NUL\n  ICACLS \"%SCA_PATH%\\Core\\lib\\%%F\" \/t \/grant:r Users:F > NUL\n  ICACLS \"%SCA_PATH%\\Core\\lib\\%%F\" \/t \/grant:r Everyone:F > NUL\n  ECHO.\n\n  IF \"!FILESIZE1!\" EQU \"!FILESIZE2!\" (\n    ECHO ###########################################################\n    ECHO # File: %SCA_PATH%\\Core\\lib\\%%F\n    ECHO # Before size: !FILESIZE1!\n    ECHO # After size: !FILESIZE2!\n    ECHO #\n    ECHO # ERROR!!: \ud328\uce58 \uc804\uacfc \ud328\uce58 \ud6c4\uc758 \ud30c\uc77c \uc0ac\uc774\uc988\uac00 \uac19\uc544 \uc911\ubcf5\n    ECHO #          \ud328\uce58 \ub610\ub294 \ud328\uce58\uac00 \uc2e4\ud328 \ud588\uc2b5\ub2c8\ub2e4.\n    ECHO ###########################################################\n  ) ELSE (\n    ECHO ###########################################################\n    ECHO # File: %SCA_PATH%\\Core\\lib\\%%F\n    ECHO # Before size: !FILESIZE1!\n    ECHO # After size: !FILESIZE2!\n    ECHO #\n    ECHO # \ud328\uce58 \uc131\uacf5 !!\n    ECHO ###########################################################\n  )\n  PAUSE\n)\nENDLOCAL\nGOTO :EOF\n\nREM ###########################################################\nREM # \ud30c\uc77c \uc0ac\uc774\uc988\ub97c \uad6c\ud558\ub294 \ud568\uc218\nREM ###########################################################\n:GETFILESIZE\n  SET %~2=%~Z1\nGOTO :EOF<\/pre>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">@ECHO OFF\nSETLOCAL ENABLEDELAYEDEXPANSION\nCOLOR 1F\nCLS\nREM ###########################################################\nREM #\nREM # log4jShell \ucde8\uc57d\uc810 \ud328\uce58\nREM #\nREM # \ub300\uc0c1: Fortify SSC 4.3~21.1\nREM # \uc120\ud589\uc870\uac74: zip \ucee4\ub9e8\ub4dc\uac00 \uc124\uce58\ub418\uc5b4 \uc788\uc5b4\uc57c \ud55c\ub2e4.\nREM #\nREM # CVE: https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2021-44228\nREM #\nREM # Author: hasu0707@esvali.com (2021.12.13)\nREM #\nREM ###########################################################\nSET \"ZIP_CMD=zip\"\n\nREM ###########################################################\nREM # \uc804\uc5ed \ubcc0\uc218 \uc124\uc815\nREM ###########################################################\nSET TIMESTAMP_VAL=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%\nSET TIMESTAMP_VAL=%TIMESTAMP_VAL: =0%\nSET \/A FILESIZE1=0\nSET \/A FILESIZE2=0\n\nREM ###########################################################\nREM # \ud0c0\uc774\ud2c0 \ucd9c\ub825\nREM ###########################################################\nECHO ###########################################################\nECHO #\nECHO # Fortify SSC log4jShell \ucde8\uc57d\uc810 \ud328\uce58 \uc2a4\ud06c\ub9bd\ud2b8\nECHO #\nECHO #                              (\uc8fc)\uc774\uc528\ud050\ubc38\ub9ac\nECHO #\nECHO ###########################################################\nECHO.\n\nECHO ###########################################################\nECHO # Fortify SSC \uacbd\ub85c \uc785\ub825\nECHO # (\uacf5\ubc31\uc774 \ud3ec\ud568\ub418\uc5b4 \uc788\uc73c\uba74 \uc624\ub958\uac00 \ub0a0 \uc218 \uc788\uc2b5\ub2c8\ub2e4.)\nECHO ###########################################################\nECHO Fortify SSC \uacbd\ub85c\ub97c \uc785\ub825\ud574 \uc8fc\uc138\uc694.\nECHO \uc608) D:\\apache-tomcat\\webapps\\ssc\n\n:LABEL_1\nSET \/P SSC_PATH=\"SSC PATH: \"\nIF NOT EXIST \"%SSC_PATH%\\flex\" (\n  ECHO ERROR: %SSC_PATH%\ub294 Fortify SSC \ud3f4\ub354\uac00 \uc544\ub2d9\ub2c8\ub2e4.\n  GOTO LABEL_1\n)\nECHO.\n\nFOR \/F \"tokens=* USEBACKQ\" %%F IN (`DIR \/B \"%SSC_PATH%\\WEB-INF\\lib\\log4j-core-*.jar\"`) DO (\n  SET JAR_FILE=%%F\n)\n\nIF NOT DEFINED JAR_FILE (\n  ECHO ERROR: JAR \ud30c\uc77c\uc774 \ubc1c\uacac\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.\n  EXIT \/B\n)\n\nFOR \/F \"tokens=* USEBACKQ\" %%F IN (`DIR \/B \"%SSC_PATH%\\WEB-INF\\lib\\log4j-core-*.jar\"`) DO (\n  ECHO ###########################################################\n  ECHO # \ud328\uce58\ub300\uc0c1 JAR\ud30c\uc77c: \"%SSC_PATH%\\WEB-INF\\lib\\%%F\"\n  ECHO ###########################################################\n  ECHO.\n\n  ECHO ###########################################################\n  ECHO # \ubc31\uc5c5 \uc2e4\ud589\n  ECHO # \"%SSC_PATH%\\WEB-INF\\lib\\%%F -> %%F.%TIMESTAMP_VAL%\"\n  ECHO ###########################################################\n  COPY \/B \/Y \"%SSC_PATH%\\WEB-INF\\lib\\%%F\" %%F.%TIMESTAMP_VAL%\n  ECHO.\n  CALL :GETFILESIZE \"%SSC_PATH%\\WEB-INF\\lib\\%%F\" FILESIZE1\n\n  ECHO ###########################################################\n  ECHO # \ud328\uce58 \uc2e4\ud589\n  ECHO ###########################################################\n  ECHO %ZIP_CMD% -q -d \"%SSC_PATH%\\WEB-INF\\lib\\%%F\" org\/apache\/logging\/log4j\/core\/lookup\/JndiLookup.class\n  %ZIP_CMD% -q -d \"%SSC_PATH%\\WEB-INF\\lib\\%%F\" org\/apache\/logging\/log4j\/core\/lookup\/JndiLookup.class\n  CALL :GETFILESIZE \"%SSC_PATH%\\WEB-INF\\lib\\%%F\" FILESIZE2\n  ECHO.\n\n  ECHO ###########################################################\n  ECHO # \ud30c\uc77c \uad8c\ud55c \uc124\uc815\n  ECHO ###########################################################\n  ICACLS \"%SSC_PATH%\\WEB-INF\\lib\\%%F\" \/t \/grant:r Administrators:F > NUL\n  ICACLS \"%SSC_PATH%\\WEB-INF\\lib\\%%F\" \/t \/grant:r Users:F > NUL\n  ICACLS \"%SSC_PATH%\\WEB-INF\\lib\\%%F\" \/t \/grant:r Everyone:F > NUL\n  ECHO.\n\n  IF \"!FILESIZE1!\" EQU \"!FILESIZE2!\" (\n    ECHO ###########################################################\n    ECHO # File: %SSC_PATH%\\WEB-INF\\lib\\%%F\n    ECHO # Before size: !FILESIZE1!\n    ECHO # After size: !FILESIZE2!\n    ECHO #\n    ECHO # ERROR!!: \ud328\uce58 \uc804\uacfc \ud328\uce58 \ud6c4\uc758 \ud30c\uc77c \uc0ac\uc774\uc988\uac00 \uac19\uc544 \uc911\ubcf5\n    ECHO #          \ud328\uce58 \ub610\ub294 \ud328\uce58\uac00 \uc2e4\ud328 \ud588\uc2b5\ub2c8\ub2e4.\n    ECHO ###########################################################\n  ) ELSE (\n    ECHO ###########################################################\n    ECHO # File: %SSC_PATH%\\WEB-INF\\lib\\%%F\n    ECHO # Before size: !FILESIZE1!\n    ECHO # After size: !FILESIZE2!\n    ECHO #\n    ECHO # \ud328\uce58 \uc131\uacf5 !!\n    ECHO ###########################################################\n  )\n  PAUSE\n)\nENDLOCAL\nGOTO :EOF\n\nREM ###########################################################\nREM # \ud30c\uc77c \uc0ac\uc774\uc988\ub97c \uad6c\ud558\ub294 \ud568\uc218\nREM ###########################################################\n:GETFILESIZE\n  SET %~2=%~Z1\nGOTO :EOF<\/pre>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#!\/bin\/sh\n###########################################################\n#\n# log4jShell \ucde8\uc57d\uc810 \ud328\uce58\n#\n# \ub300\uc0c1: Fortify SCA Server 4.3~21.1\n# \uc120\ud589\uc870\uac74: zip \ucee4\ub9e8\ub4dc\uac00 \uc124\uce58\ub418\uc5b4 \uc788\uc5b4\uc57c \ud55c\ub2e4.\n#\n# CVE: https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2021-44228\n#\n# Author: hasu0707@esvali.com (2021.12.13)\n#\n###########################################################\nTIMESTAMP_VAL=`date \"+%Y%m%d_%H%M%S\"`\nCURRENT_DIR=`pwd -P`\nSCA_LIBDIR=\"Core\/lib\"\n\n###########################################################\n#\n# Fortify SCA \uacbd\ub85c\ub97c \uc785\ub825 \ubc1b\ub294\ub2e4.\n#\n###########################################################\nfunc_input_install_path() {\n  echo \"EX) \/opt\/Fortify\/Fortify_SCA_and_Apps_20.2.1\"\n  while read -p \"Fortify SCA Path: \" SCA_PATH\n  do\n    if [ ! -d ${SCA_PATH}\/Core\/lib ]\n    then\n      echo \"${SCA_PATH} is not Fortify SCA Path.\"\n    else\n      break\n    fi\n  done\n}\n\n###########################################################\n#\n# \ud328\uce58\ub97c \uc2e4\ud589\ud55c\ub2e4.\n#\n###########################################################\nfunc_patch_log4j_core() {\n  echo \"###########################################################\"\n  echo \"#\"\n  echo \"# SCA_PATH: ${SCA_PATH}\"\n  echo \"#\"\n  echo \"###########################################################\"\n\n  JAR_FULLPATH=`ls -1 ${SCA_PATH}\/${SCA_LIBDIR}\/log4j-core-*.jar`\n  for LOG4J2CORE in ${JAR_FULLPATH}\n  do\n    JAR_FILE=$(basename -- ${LOG4J2CORE})\n    echo \"###########################################################\"\n    echo \"# JAR FILE: ${LOG4J2CORE}\"\n    echo \"###########################################################\"\n\n    if [ ! -f ${LOG4J2CORE} ]\n    then\n      echo \"ERROR: log4j-core.jar not found.\"\n      exit 1\n    fi\n\n    echo \">>Backup ${LOG4J2CORE} -> ${CURRENT_DIR}\/${JAR_FILE}.${TIMESTAMP_VAL}\"\n    cp -f ${LOG4J2CORE} ${CURRENT_DIR}\/${JAR_FILE}.${TIMESTAMP_VAL}\n    cp -f ${LOG4J2CORE} ${LOG4J2CORE}.${TIMESTAMP_VAL}\n    echo\n\n    echo \"zip -q -d ${LOG4J2CORE} org\/apache\/logging\/log4j\/core\/lookup\/JndiLookup.class\"\n    FILESIZE1=$(stat -c%s ${LOG4J2CORE})\n    zip -q -d ${LOG4J2CORE} org\/apache\/logging\/log4j\/core\/lookup\/JndiLookup.class\n    sync\n    FILESIZE2=$(stat -c%s ${LOG4J2CORE})\n\n    # \ud30c\uc77c \uc0ac\uc774\uc988\ub85c \uc815\uc0c1\uc801\uc73c\ub85c \ud328\uce58\uac00 \ub418\uc5c8\ub294\uc9c0 \uac80\uc0ac\ud55c\ub2e4.\n    echo \">> File name: ${LOG4J2CORE}\"\n    echo \">> Before file size: ${FILESIZE1}\"\n    echo \">> After  file size: ${FILESIZE2}\"\n    echo \"-----------------------------\"\n\n    if [ \"$FILESIZE1\" -eq \"$FILESIZE2\" ]; then\n      echo \"*** ERROR: FAILED TO PATCH. (same filesize) ***\"\n    else\n      echo \"*** SUCCESSED TO PATCH. ***\"\n    fi\n    echo\n  done\n}\n\n###########################################################\n#\n# main\n#\n###########################################################\nfunc_input_install_path\nfunc_patch_log4j_core\n\n# Debug\n#cp -f \/opt\/Fortify\/log4j-core-2.10.0.jar \/opt\/Fortify\/Fortify_SCA_and_Apps_20.2.1\/Core\/lib\/\n#cp -f \/opt\/Fortify\/log4j-core-2.13.2.jar \/opt\/Fortify\/Fortify_SCA_and_Apps_20.2.1\/Core\/lib\/\n<\/pre>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#!\/bin\/sh\n###########################################################\n#\n# log4jShell \ucde8\uc57d\uc810 \ud328\uce58\n#\n# \ub300\uc0c1: Fortify SSC Server 4.3~21.1\n# \uc120\ud589\uc870\uac74: zip \ucee4\ub9e8\ub4dc\uac00 \uc124\uce58\ub418\uc5b4 \uc788\uc5b4\uc57c \ud55c\ub2e4.\n#\n# CVE: https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2021-44228\n#\n# Author: hasu0707@esvali.com (2021.12.13)\n#\n###########################################################\nTIMESTAMP_VAL=`date \"+%Y%m%d_%H%M%S\"`\nCURRENT_DIR=`pwd -P`\nSSC_LIBDIR=\"WEB-INF\/lib\"\n\n###########################################################\n#\n# Fortify SSC \uacbd\ub85c\ub97c \uc785\ub825 \ubc1b\ub294\ub2e4.\n#\n###########################################################\nfunc_input_install_path() {\n  echo \"EX) \/opt\/tomcat\/apache-tomcat-9.0.55\/webapps\/ssc\"\n  while read -p \"Fortify SSC Path: \" SSC_PATH\n  do\n    if [ ! -d ${SSC_PATH}\/flex ]\n    then\n      echo \"${SSC_PATH} is not Fortify SSC Path.\"\n    else\n      break\n    fi\n  done\n}\n\n###########################################################\n#\n# \ud328\uce58\ub97c \uc2e4\ud589\ud55c\ub2e4.\n#\n###########################################################\nfunc_patch_log4j_core() {\n  echo \"###########################################################\"\n  echo \"#\"\n  echo \"# SSC_PATH: ${SSC_PATH}\"\n  echo \"#\"\n  echo \"###########################################################\"\n\n  JAR_FULLPATH=`ls -1 ${SSC_PATH}\/${SSC_LIBDIR}\/log4j-core-*.jar`\n  for LOG4J2CORE in ${JAR_FULLPATH}\n  do\n    JAR_FILE=$(basename -- ${LOG4J2CORE})\n    echo \"###########################################################\"\n    echo \"# JAR FILE: ${LOG4J2CORE}\"\n    echo \"###########################################################\"\n\n    if [ ! -f ${LOG4J2CORE} ]\n    then\n      echo \"ERROR: log4j-core.jar not found.\"\n      exit 1\n    fi\n\n    echo \">>Backup ${LOG4J2CORE} -> ${CURRENT_DIR}\/${JAR_FILE}.${TIMESTAMP_VAL}\"\n    cp -f ${LOG4J2CORE} ${CURRENT_DIR}\/${JAR_FILE}.${TIMESTAMP_VAL}\n    cp -f ${LOG4J2CORE} ${LOG4J2CORE}.${TIMESTAMP_VAL}\n    echo\n\n    echo \"zip -q -d ${LOG4J2CORE} org\/apache\/logging\/log4j\/core\/lookup\/JndiLookup.class\"\n    FILESIZE1=$(stat -c%s ${LOG4J2CORE})\n    zip -q -d ${LOG4J2CORE} org\/apache\/logging\/log4j\/core\/lookup\/JndiLookup.class\n    sync\n    FILESIZE2=$(stat -c%s ${LOG4J2CORE})\n\n    # \ud30c\uc77c \uc0ac\uc774\uc988\ub85c \uc815\uc0c1\uc801\uc73c\ub85c \ud328\uce58\uac00 \ub418\uc5c8\ub294\uc9c0 \uac80\uc0ac\ud55c\ub2e4.\n    echo \">> File name: ${LOG4J2CORE}\"\n    echo \">> Before file size: ${FILESIZE1}\"\n    echo \">> After  file size: ${FILESIZE2}\"\n    echo \"-----------------------------\"\n\n    if [ \"$FILESIZE1\" -eq \"$FILESIZE2\" ]; then\n      echo \"*** ERROR: FAILED TO PATCH. (same filesize) ***\"\n    else\n      echo \"*** SUCCESSED TO PATCH. ***\"\n    fi\n    echo\n  done\n}\n\n###########################################################\n#\n# main\n#\n###########################################################\nfunc_input_install_path\nfunc_patch_log4j_core\n<\/pre>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[66],"tags":[],"class_list":["post-5092","post","type-post","status-publish","format-standard","hentry","category-computing_fortify"],"_links":{"self":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/5092","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5092"}],"version-history":[{"count":0,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/5092\/revisions"}],"wp:attachment":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5092"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5092"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5092"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}