91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux的xxd命令怎么使用

發布時間:2022-02-16 10:36:47 來源:億速云 閱讀:3307 作者:iii 欄目:開發技術

這篇文章主要介紹“Linux的xxd命令怎么使用”,在日常操作中,相信很多人在Linux的xxd命令怎么使用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Linux的xxd命令怎么使用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

xxd命令跟hexdump比較相似,都是用來查看二進制文件的內容,不過用起來,xxd命令似乎更順手一點。

Linux的xxd命令怎么使用

xxd 介紹

我們知道如果想要將某個文件轉換成另一種格式,我們可以通過使用一些在線的轉換工具,它可以幫助我們將一個文件轉換成幾乎任何我們所需的文件格式,例如:“pdf to word,jpg to pdf,excel to pdf“等等。但如果有人想要將任意文件轉換為十六進制或二進制形式,那又該怎么辦呢? 其實這很簡單,在Linux上我們可以通過xxd這個命令來做到這一點。xxd命令可以為給定的標準輸入或者文件做一次十六進制的輸出,它也可以將十六進制輸出轉換為原來的二進制格式。這也有助于對任意文件的編碼和解碼。 首先,讓我們使用help/man命令,查看xxd命令的具體使用方法。

xxd -h

使用 xxd 執行的主要操作 將文件內容轉換為十六進制:例如,我創建了一個名為“secret.txt”的新文件,現在我想將其內容都轉換為十六進制形式,我可以通過鍵入以下命令執行:

Syntax: xxd filename
xxd secret.txt

如下圖所示,很明顯xxd已經為文件“secret.txt”生成了十六進制轉儲。 在這里我們可以觀察到,以下十六進制轉儲獲得了它的默認格式,例如: 索引行數 每組的默認八位字節數為2,其分組大小為4字節 標準列長度為16位,帶有空格 Linux的xxd命令怎么使用

使用xxd跳過第n行:在轉換文件時,有許多數據可能是我們不需要的。因此,我們可以跳過這些內容。我們可以使用xxd跳過第n行,并在跳過的行后生成十六進制值。 假設在我當前的情況下,我想要從第5行生成十六進制轉儲,那么可以通過使用“-s”參數后跟xxd命令來實現。

xxd -s 0x50 secret.txt

將輸出限制為特定長度:以上我已經解釋了如何通過跳過行數來檢索數據。但是,如果你想要限制標準輸出的長度,那么你可以使用“-l”參數。 這里,我限制了我的內容長度,以將數據打印到有限的范圍,即第5行,如下圖所示。

xxd -l 0x50 secret.txt

因此,我們可以觀察到兩個命令之間的差異;第一個命令生成從第6行初始化的十六進制值,第二個命令根據十六進制索引以第5行結束,請參考以上截圖。

  Linux的xxd命令怎么使用 

將文件內容轉換為二進制文件:如果你想將文件轉換為二進制形式,則可以使用“-b”選項。命令如下:

xxd -b secret.txt

Linux的xxd命令怎么使用 

設置列長:上面我已經介紹了如何跳過并限制輸出到范圍,其實我們還可以設置列的長度。默認情況下,對于任何轉儲文件它都是12, 16。 默認值:我們知道默認列長度為16。這將打印16個字符,包括空格。

xxd -l 0x20 secret.txt

將列長度設置為32:我使用“-l”選項設置了結束索引以限制打印數據的范圍。然后我使用“-c”參數,將列的長度設為了32。

xxd -l 0x40 -c 32 secret.txt

從下圖中,我們可以知道xxd是如何限制列長度的。 將列長度設置為9:現在我們將列長度設置為“9”。

xxd -l 0x40 -c 9 secret.txt

在所有這些情況下,xxd都是通過空格計數每個字符來為文件創建十六進制轉儲的。 純16進制轉儲:我們可以使用“-ps”選項,以 postscript的連續16進制轉儲輸出。這里我們將其輸出保存在hex文件中,以獲取secret.txt文件的純16進制轉儲。為了驗證結果,我們使用cat命令從hex文件中讀取輸出。 xxd -ps secret.txt > hex cat hex 從下圖中,我們可以知道xxd是如何為“secret.txt”文件,創建純十六進制轉儲的。 還原文件:我們可以使用“-r”選項,來還原轉換的文件內容。在我們的例子中,我使用了“-r -p”將純十六進制轉儲的反向輸出打印為了ASCII格式。

xxd -r -p hex

Linux的xxd命令怎么使用 

分組大小字節:如果我們需要將輸出分組為多個八位字節,那么我們可以使用“-g”選項來實現。默認情況下為2。因此,如果我們將值設為4,那么它將被分組為8位。 在下圖中我們將值設為8,它將分組為16位作為輸出以簡化結果。

xxd -l 0x30 -g 8 secret.txt

SUID Lab 設置

SUID特殊權限是以命令的所有者權限來運行這一命令的,而不是以執行者的權限來運行該命令。現在,讓我們在xxd上啟用SUID權限,這樣本地用戶就有機會利用xxd來獲取root權限。 鍵入以下命令,啟用SUID位:

which xxd chmod u+s /usr/bin/xxd ls -al /usr/bin/xxd

SUID 利用

現在,我們將通過特殊權限位SUID來利用xxd服務。為此,我創建了一個受害者機器的會話,這將允許我們利用目標系統的本地用戶訪問。 讓我們使用ssh連接到目標機器,命令如下:

ssh test@192.168.1.103

成功訪問受害者機器后,我們使用find命令來查找具有SUID權限的二進制文件。

find / -perm -u=s -type f 2>/dev/null

這里我們可以看到有許多二進制文件具有SUID位,但我們重點關注/usr/bin/xxd。 Linux的xxd命令怎么使用 

在xxd上獲得特殊權限位SUID,我們將獲取用于提取密碼哈希文件的shadow文件。 如下圖所示,我已請求通過使用xxd暴露/etc/shadow文件,它將為該文件生成十六進制轉儲,并通過管道傳輸xxd命令來恢復其輸出。

xxd "/etc/shadow" / xxd -r

Linux的xxd命令怎么使用 

現在,我將使用john the ripper這款工具來破解哈希密碼。這樣我們就可以獲取用戶憑據,如下圖所示。

john hash

Linux的xxd命令怎么使用 

獲取憑據后,我們就可以切換用戶了。首先,我們來檢查下用戶的sudo權限:raj,發現用戶“raj”具有所有權限。

su raj sudo -l sudo su

因此,讓我們直接切換到root用戶帳戶,并訪問root shell。至此,我們已成功利用xxd命令提升了我們的用戶權限。

到此,關于“Linux的xxd命令怎么使用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

博乐市| 铜川市| 开封县| 长宁县| 礼泉县| 弋阳县| 安丘市| 桐梓县| 扶余县| 甘肃省| 鹤山市| 托克逊县| 顺昌县| 本溪| 海阳市| 剑河县| 天柱县| 谢通门县| 利辛县| 梁平县| 临夏市| 盈江县| 镇康县| 梧州市| 广水市| 新安县| 武夷山市| 邵武市| 衡水市| 新闻| 工布江达县| 蓝山县| 江西省| 合阳县| 乐陵市| 吴忠市| 莱阳市| 加查县| 鹰潭市| 玉林市| 白水县|