0x01 嵌入式---使用環境變量實現函數劫持

編譯:gcc -fPIC -shared xxx.c -o xxx.so

LD_PRELOAD 是個環境變量,用於動態庫的加載,動態庫加載的優先級最高,一般情況下,其加載順序爲LD_PRELOAD>LD_LIBRARY_PATH>/etc/ld.so.cache>/lib>/usr/lib。

  1. export LD_PRELOAD = 絕對路徑/xxx.so //加載環境變量

  2. unset LD_PRELOAD //關閉環境變量

  3. LD_PRELOAD=絕對路徑/xxx.so ./xxx lsldjqlasdasda //單個程序傳入環境變量

 

lib_rootkit.c:

#include <sys/types.h>

uid_t geteuid(void){return 0;}
uid_t getuid(void){return 0;}
uid_t getgid(void){return 0;}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章