habe einen SQL-Injection Bug gefunden , dieser ist in diesen Funktionen:
PHP Code:
LPTSTR CAr::ReadString( LPTSTR lpsz )
PHP Code:
LPTSTR CAr::ReadString( LPTSTR lpsz )
{
int nLen;
*this >> nLen;
Read( lpsz, sizeof(TCHAR) * nLen );
for( int i=0;i<nLen;i++ )
#ifdef __CLIENT
if( lpsz[i] == '\x60' )
lpsz[i] = '\x27';
#else // __CLIENT
if( lpsz[i] == '\x27' )
lpsz[i] = '\x60';
#endif // __CLIENT
lpsz[nLen] = '\0';
return lpsz;
}
LPTSTR CAr::ReadString( LPTSTR lpsz, int nBufSize )
{
int nLen;
*this >> nLen;
int nReadable = nBufSize - 1;
if( nLen > nReadable || nLen < 0 )
{
memset( (void*)lpsz, 0, nBufSize );
m_lpBufCur = m_lpBufMax;
return lpsz;
}
else
{
Read( lpsz, sizeof(TCHAR) * nLen );
for( int i=0;i<nLen;i++ )
#ifdef __CLIENT
if( lpsz[i] == '\x60' )
lpsz[i] = '\x27';
#else // __CLIENT
if( lpsz[i] == '\x27' )
lpsz[i] = '\x60';
#endif // __CLIENT
lpsz[nLen] = '\0';
return lpsz;
}
}
Jetzt sollte es nicht mehr möglich sein , durch den Client die DB zu Wipen .
Bzw. durch irgendwelche SQL-Injections Verfahren versuchen die DB zu schrotten .
Wo kann man bei dem Client SQL-INJECTION anwenden?
A:Ganz einfach , wo man seine ACCDATEN + PW eingibt.
Lg
Razzer'







