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;}

发布了31 篇原创文章 · 获赞 17 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/q759451733/article/details/102811595