Отключение LD_PRELOAD в Linux |
[исправить] |
Для блокирования работы переменной окружения LD_PRELOAD, позволяющей
принудительно загрузить разделяемую библиотеку со своими обработчиками для
функций используемых в программе библиотек, можно использовать следующий скрипт.
ldpreload-disable.sh:
#!/bin/bash
if [ $# -lt 1 ];then
printf "./ldpreload-disable.sh [ld-linux.so] [64|32]\n"
exit 0
fi
ld_linux="$1"
[ "$2" == "64" ] && xor='\x48' || xor=''
offset=$((16#$(readelf -s $ld_linux | awk '/do_preload/ {print $2}')))
printf $xor'\x31\xc0\xc3' | dd conv=notrunc of=$ld_linux bs=1 seek=$offset
Пример использования для 64-разрядной системы:
$ sudo bash ldpreload-disable.sh $HOME/fedora-chroot/lib64/ld-2.22.so 64
для 32-разрядной системы:
$ sudo bash ldpreload-disable.sh $HOME/fedora-chroot/lib/ld-2.22.so 32
|
|
|
|
Раздел: Корень / Администратору / Система / Linux специфика / Увеличение безопасности Linux |