日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

拼接符 防注入正则校验_Apache Kylin 命令注入漏洞调试分析(CVE-2020-1956)

發布時間:2023/12/10 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 拼接符 防注入正则校验_Apache Kylin 命令注入漏洞调试分析(CVE-2020-1956) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、前言

Apache Kylin是一個開源的、分布式的分析型數據倉庫,提供Hadoop/Spark 之上的 SQL 查詢接口及多維分析(OLAP)能力以支持超大規模數據。近日,百度云安全團隊監測到Apache官方發出了一個漏洞通告,披露了Apache kylin多版本存在命令注入漏洞,漏洞編號為CVE-2020-1956。由于Apache Kylin依賴的組件較多,自行搭建環境較為困難,我們采用了IDEA+docker進行遠程調試來分析漏洞。

2、遠程調試環境搭建

本次復現使用了受影響的Kylin 3.0.1版本,直接鏡像拉取并啟動,對外暴露17070、19001端口。

docker pull apachekylin/apache-kylin-standalone:3.0.1

docker run -d -p 17070:7070 19001:19001 apachekylin/apache-kylin-standalone:3.0.1

遠程調試需要保證運行環境代碼和本地代碼相同,這里我們可以去Kylin的releases頁面下載3.0.1版本,解壓后導入IDEA。此時docker啟動的Kylin并沒有開啟遠程調試,先進入容器bash,修改/home/admin/apache-kylin-3.0.1-bin-hbase1x/bin/kylin.sh,在啟動命令添加一行。

此時Kylin是啟動狀態,先執行./kylin.sh stop以停止服務,再執行啟動腳本/home/admin/entrypoint.sh,可連接到服務器的19001端口進行遠程調試。編輯Configurations,選擇Remote并填寫對應的主機和端口。

當Console端出現如下提示,表明遠程連接成功。

3、漏洞分析

漏洞入口在server-base/src/main/java/org/apache/kylin/rest/controller/CubeController.java的migrateCube方法,我們構造好對應的POST包,對該方法打斷點。此時傳遞的project為learn_kylin,隨后進入migrateCute方法。

跟進到CubeService.java的migrateCute方法,1086行會獲取kylin的配置,1087行調用config對象的isAllowAutoMigrateCube進行判斷,若返回False則程序會拋出異常。

我們跟進到KylinConfigBase.java的isAllowAutoMigrateCube方法,該方法主要是判斷屬性kylin.tool.auto-migrate-cube.enabled的值是否為true,若要繼續執行則需要設置該屬性為true。

接著在1098、1099行會從config對象中獲取srcCfgUri、dstCfgUri,對象的屬性分別為

kylin.tool.auto-migrate-cube.src-config、kylin.tool.auto-migrate-cube.dest-config,并且1101、1102行還會判斷取出的兩個屬性的值是否為空。

接著1108行會將projectName、srcCfgUri、dstCfgUri等參數直接拼接到cmd中,并在1111行執行,在整個過程中沒有對projectName進行任何的校驗,導致命令注入漏洞。并且,若能夠控制上述3個屬性值,那么srcCfgUri以及dstCfgUri也是能夠導致命令注入漏洞的。

我們看下官方的補丁https://github.com/apache/kylin/commit/9cc3793ab2f2f 0053c467a9 b3f38cb7791cd436a。對projectName、dstCfgUri、srcCfgUri都調用了checkParameter方法進行處理。

而checkParameter方法主要是將可疑的命令執行字符替換為空,包括空格、管道符、&等。

4、漏洞復現

根據網上文檔可知,Cube級屬性值是可以添加或者修改的,并且可以覆蓋kylin的屬性。那么我們首先在某個Cube中添加上述屬性。

這里我們先嘗試ProjectName參數的命令注入,發現可以成功執行touch命令。

由于命令注入點在路徑中,注入命令中包含”/”會導致路由出錯,而反彈shell、寫webshell等都需要用”/”,因此有一些文章將此處認定為受限的命令注入。但是這里我們可以用其他字符來替代斜杠,聯系上篇文章提到的shell參數擴展,斜杠可以用${PATH:0:1}表示。

同樣的,由于可以直接修改配置文件,也可以利用srcCfgUri或者dstCfgUri注入,此時就不受路徑處的一些限制了。

5、安全產品解決方案

百度安全智能一體化產品已支持CVE-2020-1956漏洞的檢測和攔截,有需要的用戶可以訪問anquan.baidu.com聯系我們。

受影響的用戶請點擊閱讀原文下載官方發布的最新版進行漏洞的修復

http://kylin.apache.org/cn/download/

參考鏈接:

https://www.t00ls.net/thread-56549-1-1.html

https://github.com/apache/kylin/commit/9cc3793ab2f2f0053c467a9b3f38cb7791cd436a

總結

以上是生活随笔為你收集整理的拼接符 防注入正则校验_Apache Kylin 命令注入漏洞调试分析(CVE-2020-1956)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久精品在线播放 | 成年人免费黄色片 | 国产农村妇女毛片精品久久 | 三级毛毛片 | 亚洲精品一区二区三区在线观看 | 国产精品一品二区三区的使用体验 | 在线观看视频二区 | 久久久久久久久久影视 | 黄色裸体片 | 97理伦| 国产第99页 | 婷婷久久综合网 | 善良的老师伦理bd中字 | 成人做爰www看视频软件 | 男男全肉变态重口高h | 在线观看一区二区三区视频 | 亚洲精品久久久 | www成人免费视频 | 成人国产视频在线观看 | 国产成人综合精品 | 三级免费网址 | 午夜精品小视频 | 69xx欧美| 欧美偷拍一区二区三区 | 狠狠成人 | 国产又黄又粗 | 亚洲天堂中文字幕 | 欧美区在线观看 | 激情九月天 | 日韩免费小视频 | 亚洲成人免费电影 | 成人黄色国产 | 成人高清 | 国产精品欧美综合 | 美女的胸给男人玩视频 | 国产麻豆免费观看 | 香蕉视频在线播放 | 特黄特色大片免费 | 亚洲精品视频在线播放 | 成人激情久久 | 精品一区电影国产 | 91在线免费看片 | 国产露脸国语对白在线 | 欧美绿帽合集xxxxx | 亚洲福利社 | 精品国产成人 | 亚洲欧洲天堂 | 都市激情男人天堂 | 欧美人妖xxxx| 香蕉视频网页 | 午夜免费视频网站 | 熟女少妇内射日韩亚洲 | 激情小说av| 玩偶游戏在线观看免费 | 精品视频一区二区三区 | 美女又爽又黄免费 | 村姑电影在线播放免费观看 | 青春草免费视频 | 国产精品久久久久久中文字 | 国产xxxx| 草久av| 国产女人18毛片水真多18 | 日韩一级免费看 | 日本理论中文字幕 | 亚洲v日韩v综合v精品v | 成人国产一区二区 | 色婷婷精品国产一区二区三区 | beeg日本高清xxxx18| 91香蕉在线看 | 97超级碰碰人妻中文字幕 | 精品一区二区久久久久久按摩 | 热久久网站 | 日色视频 | 爆乳熟妇一区二区三区霸乳 | 久久国内视频 | 米奇7777狠狠狠狠视频 | 美女一级黄色片 | 国产成人精品无码免费看夜聊软件 | 狠狠操人人干 | 成人激情视频在线 | ass日本粉嫩pics珍品 | 亚洲欧美另类激情 | 在线a视频 | 午夜精品免费观看 | 亚洲国产精品久久AV | 成人免费久久 | 在线免费观看污视频 | 亚洲成人v | 粉色午夜视频 | 中文字幕一区二区人妻电影 | 深夜福利国产 | 亚洲午夜久久 | 在线观看黄色片网站 | 已满十八岁免费观看全集动漫 | 淫视频在线观看 | 97视频久久 | 精品人妻码一区二区三区红楼视频 | 初尝黑人巨炮波多野结衣 | 欧美一区二区高清 |