老趙弱弱學習 unix環境高階程式設計(十一)

2021-04-24 07:22:56 字數 1034 閱讀 1127

#include "apue.h"

#include 

char    buf1 = "abcdefghij";

char    buf2 = "abcdefghij";

intmain(void)

這個是證明這個檔案會產生乙個洞。首先這個裡面有三個主要函式。

creat,

write,

lseek。

12行建立乙個檔案,將檔案控制代碼存再fd中。

15行,向檔案中寫入10個字元,也就是buf1中內容

19行,將檔案指標放在16384位置,但是中間沒有寫過內容呢,所以這裡面是空的。

23行,向檔案中寫入10個字元,也就是buf2的內容。

來看看它的輸出吧。

$ ./a.out

$ ls -l file.hole                  check its size

-rw-r--r-- 1 sar          16394 nov 25 01:01 file.hole

$ od -c file.hole                  let's look at the actual contents

0000000   a  b  c  d  e  f  g  h  i  j /0 /0 /0 /0 /0 /0

0000020  /0 /0 /0 /0 /0 /0 /0 /0 /0 /0 /0 /0 /0 /0 /0 /0

*0040000   a  b  c  d  e  f  g  h  i  j

0040012

這個檔案已經有洞了,這個檔案最後指標是16394,那麼讓我建乙個同樣大的檔案來對比一下。

$ ls -ls file.hole file.nohole    compare sizes

8 -rw-r--r-- 1 sar        16394 nov 25 01:01 file.hole

20 -rw-r--r-- 1 sar        16394 nov 25 01:03 file.nohole

最開始的『塊「是不一樣的。

滲透測試學習23 弱口令高階

tomcat 輕量級伺服器 爆破 可以收集一些別的師傅的 github找 自己在滲透實戰後也應該總結字典。有時資訊收集時可以得到mysql路徑 mysql預設埠3306 於是我麼可以嘗試爆破得到mysql管理賬號密碼。爆破工具 爆破得到密碼後可以嘗試寫shell,提權等操作。寫shell 有絕對路徑...

UNIX環境高階程式設計學習筆記

include include include include int main int argc,char argv err sys can t open s argv 1 while dirp readdir dp null printf s n dirp d name closedir dp ...

UNIX環境高階程式設計學習筆記(一)UNIX基礎知識

1.作業系統可被定義為一種軟體,它控制計算機硬體資源,提供程式執行環境。通常稱為核心 kernel 2.核心的介面被稱為系統呼叫。公共函式庫建在系統呼叫介面之上,應用程式既可使用公共函式庫,也可使用系統呼叫。shell是乙個特殊的應用程式,為執行其他應用程式提供乙個介面.3.unix檔案系統是目錄和...