[OT] Fwd: Advisory 15/2004: Cyrus IMAP Server multiple remote vulnerabilities
Paweł Sikora
pluto w pld-linux.org
Czw, 25 Lis 2004, 18:05:19 CET
On Wednesday 24 of November 2004 19:51, Paweł Sakowski wrote:
> On Wed, 2004-11-24 at 06:45 +0100, Cezary Krzyżanowski wrote:
> > Lukasz Marciniak wrote:
> >
> > No i tu się zawsze zastanawiałem, jak to się robi :D No niby "attacker"
> > może wykonać ten kod zdalnie, ale powiedzcie mi, jak do cholery
> > kontrolować zawartość stosu na zdalnej maszynie, którą mamy atakować? To
> > by chyba wymagało conajmniej konta tam, a jak sam ten artykuł pisze,
> > cyrusa wrzuca się w miejsca, gdzie nie trza tworzyć wszystkim looserowm
> > kont shellowych.
>
> To idzie jakoś tak:
>
> #include <string.h>
> void fun(const char *str) {
> char buf[5];
> strcpy(buf, str);
> }
> int main() {
> fun("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
> return 0;
> }
>
> - "A*" nadpisze ci adres powrotu z fun
> - dostaniesz SIGSEGV bo funkcja zechce wrócić pod 0x41414141
eee, u mnie nie działa ;)
[pluto]-[~/sources] # ./ssp
Libsafe version 2.0.16
Detected an attempt to write across stack boundary.
Terminating /home/users/pluto/sources/ssp.
uid=500 euid=500 pid=18552
Call stack:
0xb7fe79da /lib/libsafe.so
0xb7fe7b79 /lib/libsafe.so
0x80483b3 /home/users/pluto/sources/ssp
0x80483d3 /home/users/pluto/sources/ssp
0xb7ecee78 /lib/libc-2.3.3.so
Overflow caused by strcpy()
Unicestwiony
--
/* Copyright (C) 2003, SCO, Inc. This is valuable Intellectual Property. */
#define say(x) lie(x)
Więcej informacji o liście dyskusyjnej pld-devel-pl