[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