PostgreSQL | 用pg_dumpfile來破解密碼,從入門到放棄

2021-02-24 勵志成為PostgreSQL大神
是不是可以破解密碼呢?

今日突然想到pg_filedump是不是也能破解密碼?要想破解密碼,先要了解一下pg_authid表。

postgres=# SELECT rolname,rolpassword FROM pg_authid;
          rolname          |             rolpassword             
--+--
 pg_monitor                | 
 pg_read_all_settings      | 
 pg_read_all_stats         | 
 pg_stat_scan_tables       | 
 pg_read_server_files      | 
 pg_write_server_files     | 
 pg_execute_server_program | 
 pg_signal_backend         | 
 postgres                  | md595aaa05cd729a6b009a25fc012aaa3b5
 test                      | md581db3552a331b95842e7782346aa66b2

目前我的環境使用的是md5加密。

先從原始碼中找出要挖掘的文件號。

此處顯示挖掘1260文件。1260文件比較特殊,它不在任何資料庫下,而是在 global文件夾下,因此需要指定路徑為global/1260

[postgres@centos8 pgdata]$ pg_filedump  -D oid,name,bool,bool,bool,bool,bool,bool,bool,int,text,~  ./global/1260 | grep COPY:
COPY: 10        postgres        t       t       t       t       t       t       t       -1      \N      \N
COPY: 3373      pg_monitor      f       t       f       f       f       f       f       -1      \N      \N
COPY: 3374      pg_read_all_settings    f       t       f       f       f       f       f       -1      \N      \N
COPY: 3375      pg_read_all_stats       f       t       f       f       f       f       f       -1      \N      \N
COPY: 3377      pg_stat_scan_tables     f       t       f       f       f       f       f       -1      \N      \N
COPY: 4569      pg_read_server_files    f       t       f       f       f       f       f       -1      \N      \N
COPY: 4570      pg_write_server_files   f       t       f       f       f       f       f       -1      \N      \N
COPY: 4571      pg_execute_server_program       f       t       f       f       f       f       f       -1      \N      \N
COPY: 4200      pg_signal_backend       f       t       f       f       f       f       f       -1      \N      \N
COPY: 10        postgres        t       t       t       t       t       t       t       -1      md595aaa05cd729a6b009a25fc012aaa3b5     \N
COPY: 73931     test    t       t       f       f       t       f       f       -1      \N      \N
COPY: 73931     test    t       t       f       f       t       f       f       -1      md581db3552a331b95842e7782346aa66b2     \N

不久我們就挖出了加密密碼。但加密後的密碼無法登錄到資料庫。

[postgres@centos8 ~]$ psql -h192.168.56.119 -Upostgres -d postgres -W
Password: 
2021-02-07 08:32:11.788 UTC [8054] FATAL:  password authentication failed for user "postgres"
2021-02-07 08:32:11.788 UTC [8054] DETAIL:  Password does not match for user "postgres".
        Connection matched pg_hba.conf line 91: "host    all             all             0.0.0.0/0               md5"
psql: error: FATAL:  password authentication failed for user "postgres"

PostgreSQL的密碼不是對密碼值進行默認散列,而是使用(密碼+ Slat)來散列。test用戶密碼是Sqlite123,讓我們來計算它。

[postgres@centos8 pgdata]$ echo -n "Sqlite123" | md5sum 
708afc6329d6ce5eec8fef1c54b27259  -

我們會發現,計算出的md5值與挖掘出的md5值不同。添加slat值後再來測試一下。

[postgres@centos8 pgdata]$ echo -n "Sqlite123test" | md5sum 
81db3552a331b95842e7782346aa66b2  -

可以看到這次和我們挖掘的密碼值一樣了。所以PostgreSQL的slat其實就是用戶名。我的postgres的密碼也是Sqlite123,加上Slat可以看到和我們挖掘的數據一致。

[postgres@centos8 pgdata]$ echo -n "Sqlite123postgres" | md5sum 
95aaa05cd729a6b009a25fc012aaa3b5  -

既然我們知道加密的md5值,要反推明文的密碼,實際上是很困難的,尤其是加了 slat之後。

為什麼用slat破解比較困難,因為每個用戶都有自己的用戶名,然後每個用戶的H函數(H函數就是要破解的哈希函數)就不一樣了。您必須為每一位用戶生成不同的彩虹表。因此解碼非常困難。

但您可以想像,超級管理員的slat總是postgres,因此仍然有可能被破解。在網絡上,我們發現了一種破解的網站,嘗試未能成功。

但是我在stackoverflow.com上發現有人用hashcat工具破解了密碼,這裡也添加了salt。它能將較簡單的解碼出來。

我自己下了hashcat,總是試驗不成功。因此破譯密碼的之路從入門到放棄了。在PostgreSQL10之後,推薦使用scram-sha-256加密算法進行加密。

後記

雖然是一次失敗的嘗試,從入門到放棄,但是並不是說無法破解,起碼我們還可以通過修改底層文件,直接篡改md5值來進行破解。

相關焦點

  • PG中的oid和relfilenode之間的關係
    通常情況下可以在Pg_class表找到這個值,然而也會查考一些表的relfilenode為0.本文介紹這些表relfilenode的內部處理流程。普通表的relfilenodePG中創建一個表後,會在系統被pg_class存儲它的relfilenode值。下面例子,表創建後,OID和relfilenode都時16808。
  • 犯罪大師入門篇2進階答案解析攻略 入門篇2進階密碼破解過程
    犯罪大師入門篇2進階答案解析攻略 入門篇2進階密碼破解過程 犯罪大師的入門篇2進階是需要你破解一個叫做維吉尼亞密碼的表,很多玩家都不清楚這個怎麼破解,下面就來為大家分享一下犯罪大師入門篇2進階答案解析攻略
  • 用數據破解愛情密碼
    古今中外不知多少遷客騷人曾用唯美的語句來讚美愛情的美好,也不知有多少科學家為了幫助單身狗找到人生的另一半挺身而出,挑燈夜戰來破解愛情的密碼。那麼今天就用科學的思維來破解愛情密碼。到2016年,我國流動人口近3億,這些人中的適婚群體遭遇到婚戀方面的各種現實阻礙,單身群體不斷延遲婚戀時間,且數量不斷增大。最後,城市中的工作和生活節奏變快,人們不得不大大壓縮在現實世界中交友的時間。
  • 從Postgres95到PostgreSQL9.5:新版亮眼特性
    PostgreSQL 9.2:級聯數據複製、index-only scans、JSON 數據類型、空間分區 GiST 索引(SP-GiST)PostgreSQL 9.3:數據校對 checksums、豐富 JSON 函數及操作符、並行 pg_dump 備份、物化視圖PostgreSQL 9.4:JSONB 數據類型(高性能可索引)、可在線刷新物化視圖
  • 如何破解不是免費連接的WiFi密碼?
    為了得到這些wifi密碼,除了向主人詢問之外,那就是破解了。那麼,如何破解這種不是免費連接的WiFi密碼呢?先來說個最簡單的方式——使用wifi萬能鑰匙Wifi萬能鑰匙,大家都不會陌生,一個可以輕鬆「破解」WiFi密碼的手機APP。
  • IOS越獄惡意軟體:WiFi破解大師
    太極越獄重大安全後門暫且按下不表,此次以越獄應用「WiFi破解大師」為例進行分析。  應用簡介  「WiFi破解大師」是一個查看wifi密碼小工具,自己連上某個wifi,朋友第一次來不知道密碼怎麼辦?通過wifi密碼查看功能來查看當前連接的wifi密碼是什麼吧,讓朋友也能一起上網。(摘自BigBoss源應用簡介)。
  • python入門第十三課:文件的讀寫與分析介紹,異常處理和代碼重構
    ##本教程使用的課本是《Python編程:從入門到實踐》,作者:[美] Eric Matthes學完前面十二節課,已完成Python編程入門了,我們已經能編寫組織有序而易於使用的Python程序了。接來下繼續學習更多應用操作,比如文件操作、數據存儲、異常處理等,這些技巧能讓我們快速的處理大量的數據,讓程序更加健壯。
  • 如何破解wifi密碼並能看到密碼
    但在日常生活中碰到有密碼的無線無法破解連接時是件很痛苦的事情。那麼,究竟如何破解wifi密碼並能看到密碼。 如何破解wifi密碼並能看到密碼  我們可以通過手機和電腦來破解WiFi密碼,並且查看WiFi的密碼。
  • 電腦密碼破解
    其實電腦登錄密碼破解方法有很多種,本文就說幾種我個人經常使用幾種方法來破解電腦密碼的方法,希望可以幫到正在苦於忘記密碼密碼的網友。目前比較流行而且比較簡單的三種破解Windows系統密碼的方法,特別適合忘記Windows系統密碼,而又不想重裝系統的網友。
  • 使用ProxMark3破解頑固加密電梯卡並模擬至NFC手機全過程
    (我樓下門禁就是這樣的,形同虛設)Q:如何確定自己的卡加密到何種程度(部分扇區加密、全扇區加密)A:可以在手機上安裝使用MIFARE Classic Tool工具來讀取卡信息,如果有顯示「未找到keys(或者扇區損壞)」,則表示該扇區加密,如果全部都是……那麼你很可憐,這是一張全加密卡,你需要付出較大代價才可以破解======正文======作為數碼之家壇友、硬體工程師、電子技術愛好者,本著「人生在於折騰
  • 黑客是如何破解常見文件密碼
    一、破解office文檔密碼破解office文檔密碼常用工具是Advanced office Password Recovery(簡稱AOPR),該軟體是一款多功能office文檔密碼破解工具,它能破解Word、Excel、PPT等文件的密碼。
  • 摩斯密碼怎麼破解
    摩斯密碼怎麼破解,網絡上已經有很在線解碼工具了,但是沒有使用過摩斯密碼的,突然碰到摩斯密碼,該怎麼破解呢?首先我們需要了解摩斯密碼是什麼樣子的,基本組成是由點dot(.)、劃dash(-)兩種符號組成。如果你碰到這樣類似的(..   .-.. --- ...- .
  • 最難破解的密碼出現了,居然不是福爾摩斯密碼,而是老祖宗發明的
    說到情報密碼,我們可能第一反應就是福爾摩斯密碼,這種密碼的使用率最廣泛,至今還有人會使用。那我們先從這個著名密碼入手,來探索一下密碼奧秘吧!福爾摩斯密碼又被稱之為摩斯密碼,他是第一次在通信設備下誕生的密碼,發明者至今還有存有疑惑。
  • 如何破解win10開機密碼
    現在很多用戶都在使用win10系統,也有很多朋友為win10系統設置開機登錄密碼,一旦開機密碼忘記就不知道怎麼進系統了。
  • 簡單幾招破解Windows開機密碼
    或者是調皮搗蛋的你(像我一樣),自己沒帶電腦,卻急需電腦,然而面前有一臺電腦卻被設了開機密碼,想進別人電腦並且還不能留痕跡改密碼,腫麼破腫麼破!!!!哈哈廢話不多說,下面簡單幾招教你如何破解Windows開機密碼(其實對於一般簡單的數字組合密碼破解相對簡單,對於較複雜的,像字母數字組合併且位數炒雞長的,可能破解效率會不盡人意啊……不過一般情況下,開機密碼不會設置的特別複雜的O(∩_∩)O哈哈~)工具介紹首先介紹一下需要的工具:1、U盤啟動盤(用於進入WindowsPE獲取目標機的sam文件);2、SAM文件查看器(這裡用的是SAMInside
  • 50年後,密碼破解者終於破解了十二宮殺手的惡魔密碼
    一個由密密碼愛好者組成的團隊周五宣布,他們已經成功破解了「十二宮殺手」50多年前發送的一條密碼信息。「十二宮殺手」曾在20世紀60年代末恐嚇過加州北部,目前仍未確認身份。據據說破解密碼的三人透露,這些信息包括吹噓和蔑視當局,但沒有任何關於動機或身份的真正線索。它包含的信息是:「我希望你在試圖抓住我的過程中得到很多樂趣……我不怕毒氣室,因為它會更快地把我送到天堂,因為我現在有足夠的奴隸為我工作。」
  • 再次確認萬能鑰匙並沒有破解WiFi密碼的能力
    雖然現在已經有5G網絡,不過這個流量價格依舊是不便宜,在家可以放心用自家的無線網絡,而出門就沒那麼自在,外面WiFi都是有密碼保護,這個時候不少人就用WiFi萬能鑰匙來去破解這些WiFi。
  • 利用Ubuntu啟動U盤破解Windows開機密碼
    如果你不小心忘記了密碼但又不想重裝系統,那麼這個方法能讓你在不重裝的前提下重置密碼。此方法適用於WindowsXP/7/8/10,在往後的版本中,只要windows登陸界面的「輕鬆訪問」(Utilman)功能不被取消,就能使用這個破解方法。
  • 這個Excel破解密碼的方法,真快!
    昨天分享了Word密碼破解,有不少粉絲留言想知道Excel密碼破解方法。2年前盧子發過一篇文章:跟稅務局牛人,學做表格模板當時我就破解了稅務局這份表格的密碼,不過當初怕說出方法後,被別人亂改這份模板,所以直到今天才說明。打開模板,可以看到各種功能都是灰色的,也就是工作表被保護了。