[20171227]表的FULL_HASH_VALUE值的計算.txt

来源:https://www.cnblogs.com/lfree/archive/2017/12/27/8124863.html
-Advertisement-
Play Games

[20171227]表的FULL_HASH_VALUE值的計算.txt--//sql_id的計算是使用MD5演算法進行哈希,生成一個128位的Hash Value,其中低32位作為HASH VALUE顯示,SQL_ID則取了後64位。--//實際上sql_id使用32進位表示,hash_value使用 ...


[20171227]表的FULL_HASH_VALUE值的計算.txt

--//sql_id的計算是使用MD5演算法進行哈希,生成一個128位的Hash Value,其中低32位作為HASH VALUE顯示,SQL_ID則取了後64位。
--//實際上sql_id使用32進位表示,hash_value使用10進位表示。

--//我在鏈接提到http://blog.itpub.net/267265/viewspace-2142512/內容:
--//如果使用md5sum計算的結果,按照4位一組,大小頭對調.就一致了.

--//實際上表的hash值是如何計算的呢?自己一直想知道oracle如何計算的,前一段時間探究一些crack password工具.做一些簡單的探究.

1.環境:
SCOTT@book> @ &r/ver1

PORT_STRING                    VERSION        BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

SCOTT@book> grant dba to a identified by a;
Grant succeeded.

A@book> create table b(c number);
Table created.

A@book> select owner,name,namespace,type,hash_value,full_hash_value from V$DB_OBJECT_CACHE where owner='A' and name='B';
OWNER  NAME NAMESPACE       TYPE   HASH_VALUE FULL_HASH_VALUE
------ ---- --------------- ------ ---------- --------------------------------
A      B    TABLE/PROCEDURE TABLE  3720244077 b6bab9fa1d1610f90401e083ddbe6b6d

--//這樣做的目的很好理解減少破解難度.
--//按照4位一組,大小頭對調.

$ echo b6bab9fa1d1610f90401e083ddbe6b6d |xxd -r -p | od -t x4
0000000 fab9bab6 f910161d 83e00104 6d6bbedd
0000020

--//拼接 fab9bab6f910161d83e001046d6bbedd.我開始想使用john,不知道如何生成破解字典.先放棄,使用hashcat倒是比較靈活先嘗試hashcat.

2.開始嘗試破解:

R:\hashcat>hashcat --help
....
- [ Built-in Charsets ] -

  ? | Charset
 ===+=========
  l | abcdefghijklmnopqrstuvwxyz
  u | ABCDEFGHIJKLMNOPQRSTUVWXYZ
  d | 0123456789
  s |  !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
  a | ?l?u?d?s
  b | 0x00 - 0xff

--//我實際上以前也猜測開頭應該是owner.table這樣的模式,後面補0.根據這個規則生成破解碼表.
--//這樣規則前面4個字元應該是?u?s?u?b,然後開始不斷嘗試,終於破解:

R:\hashcat>cat hashcat.pot
fab9bab6f910161d83e001046d6bbedd:$HEX[422e4101000000]

--//422e4101000000,想都想不到這個使用7位來計算的.而且oracle計算表的hash值竟然是表的owner在前,表名在後.中間使用點分開.後面補01000000.
--//應該可以猜測到owner都是一樣的,放在後面是有道理的.

R:\hashcat>hashcat64 -a 3 -m 0 fab9bab6f910161d83e001046d6bbedd ?u?s?u?b?b?b?b --force
hashcat (v3.00-1-g67a8d97) starting...

OpenCL Platform #1: Advanced Micro Devices, Inc.
================================================
- Device #1: Turks, 766/1024 MB allocatable, 6MCU
- Device #2:         Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz, skipped

WARNING: ADL_Overdrive6_TargetTemperatureData_Get is missing from ADL shared library.
Hashes: 1 hashes; 1 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates
Applicable Optimizers:
* Zero-Byte
* Precompute-Init
* Precompute-Merkle-Demgard
* Meet-In-The-Middle
* Early-Skip
* Not-Salted
* Not-Iterated
* Single-Hash
* Single-Salt
* Brute-Force
* Raw-Hash
Watchdog: Temperature abort trigger disabled
Watchdog: Temperature retain trigger disabled

fab9bab6f910161d83e001046d6bbedd:$HEX[422e4101000000]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Session.Name...: hashcat
Status.........: Cracked
Input.Mode.....: Mask (?u?s?u?b?b?b?b) [7]
Hash.Target....: fab9bab6f910161d83e001046d6bbedd
Hash.Type......: MD5
Time.Started...: 0 secs
Speed.Dev.#1...:  1238.5 MH/s (11.94ms)
Recovered......: 1/1 (100.00%) Digests, 1/1 (100.00%) Salts
Progress.......: 90869760/95812130439168 (0.00%)
Rejected.......: 0/90869760 (0.00%)
Restore.Point..: 0/4294967296 (0.00%)

Started: Wed Dec 27 10:22:40 2017
Stopped: Wed Dec 27 10:22:42 2017

--//反過來驗證scott.dept表是否正確.應該是這樣"DEPT.SCOTT\01\0\0\0".
--//註意01一定要使用\01,開始使用\1測試錯誤.

A@book> select owner,name,namespace,type,hash_value,full_hash_value from V$DB_OBJECT_CACHE where owner='SCOTT' and name='DEPT';
OWNER  NAME                 NAMESPACE       TYPE  HASH_VALUE FULL_HASH_VALUE
------ -------------------- --------------- ----- ---------- --------------------------------
SCOTT  DEPT                 TABLE/PROCEDURE TABLE 2152664343 1383925607dd84fd07c34017804f0d17

$ echo -e -n "DEPT.SCOTT\01\0\0\0" | md5sum |sed 's/  -//' | xxd -r -p | od -t x4
0000000 13839256 07dd84fd 07c34017 804f0d17
0000020

--//拼接起來13839256 07dd84fd 07c34017 804f0d17 變成 1383925607dd84fd07c34017804f0d17!!
--//^_^,正好是前面FULL_HASH_VALUE值對上了.

--//再拿一個最長字元串owner||name測試看看
A@book> select owner,name,namespace,type,hash_value,full_hash_value from V$DB_OBJECT_CACHE where owner||name='APEX_030200WWV_FLOW_CUSTOM_AUTH_SETUPS';
OWNER        NAME                           NAMESPACE       TYPE  HASH_VALUE FULL_HASH_VALUE
------------ ------------------------------ --------------- ----- ---------- --------------------------------
APEX_030200  WWV_FLOW_CUSTOM_AUTH_SETUPS    TABLE/PROCEDURE TABLE 2757059300 ae088e68645bfa46e406e327a45562e4

$ echo -e -n "WWV_FLOW_CUSTOM_AUTH_SETUPS.APEX_030200\01\0\0\0" | md5sum |sed 's/  -//' | xxd -r -p | od -t x4
0000000 ae088e68 645bfa46 e406e327 a45562e4
0000020

--//OK也是正確了.

--//總結:
--//表的FULL_HASH_VALUE計算就是table_name.owner加上"\01\0\0\0".






您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 上一篇《MapReduce多種join實現實例分析(一)》,大家可以點擊回顧該篇文章。本文是MapReduce系列第二篇。 一、在Map端進行連接使用場景:一張表十分小、一張表很大。用法:在提交作業的時候先將小表文件放到該作業的DistributedCache中,然後從DistributeCache ...
  • 1.1 存儲引擎的介紹 1.1.1 文件系統存儲 文件系統:操作系統組織和存取數據的一種機制。文件系統是一種軟體。 類型:ext2 3 4 ,xfs 數據。 不管使用什麼文件系統,數據內容不會變化,不同的是,存儲空間、大小、速度。 1.1.2 mysql資料庫存儲 MySQL引擎: 可以理解為,My ...
  • 新用戶一天內不准提問...Sql Server Configuration Manager 網路配置為空,沒有實例無法設置ip和埠進行連接.。 ...
  • 表名tb_school(學校表:存儲學校的基本信息) 欄位 類型 介紹 屬性 其他 schoolid Int 學校id 主鍵 SchoolName Varchar(20) 學校名稱 非空 SchoolPrincipal Varchar(20) 學校校長 非空 SchoolAdd Varchar(20 ...
  • Tableau支持大量的文件類型數據的連接和資料庫連接 但是Tableau不能直接連接MongoDB資料庫,需要藉助MongoDB Connector for BI 官方解釋 下載安裝完成之後,會在安裝目錄的bin目錄下出現兩個可執行文件mongodrdl.exe和mongosqld.exe 官方文 ...
  • 一些mongodb學習的相關知識,記錄下來以便下次查看使用 參考:https://docs.mongodb.com/manual/reference/operator/ http://www.runoob.com/mongodb/mongodb-tutorial.html https://code. ...
  • 1.下載mysql版本 下載最新版本:https://www.mysql.com/downloads/ 下載歷史版本:https://downloads.mysql.com/archives/community/ 2.上傳下載的mysql軟體到/usr/local/src 3.解壓mysql軟體到/ ...
  • 1. 前言 SQL Server一般是在安裝過程中進行相關的配置,安裝完成之後,再去修改有一些配置就比較麻煩,比如更改SQL Server實例級別的排序規則。但在Linux下,安裝過程並沒有很多可以配置的步驟,安裝步驟變得很簡單,更多的配置可以通過/opt/mssql/bin/mssql-conf工 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...