La prima vedere am vazut asta :
int Bank::loadbank(const char *bankdirname){
DIR *dir=opendir(bankdirname);
clearbank();
if (dir==NULL) return(-1);
if (dirname!=NULL) delete(dirname);
dirname=new char[strlen(bankdirname)+1];
snprintf(dirname,strlen(bankdirname)+1,"%s",bankdirname);
^^^^^^^
we have a dirname :-). ( fara sa se faca in prealabil
o verificare a tipului de caractere ).
[...]
Bank::~Bank(){
if (dirname!=NULL) {
sprintf(config.cfg.currentBankDir,dirname);
^^^^^^^^^^^^^^
format string vulnerability
The exploit is pretty straightforward. ( the %n
madness !!! :-) ).
DK
P.s. ext3 filesystem iti accepta si caractere de tipul
0xbf, 0xff, etc.. in numele directorului, sa poti sa
te joci pe stiva cu ele. Despre alte filesystemuri nu
cunosc. Totul e sa se evite caracterul "/".
--- Paul Paul <[EMAIL PROTECTED]> wrote:
> Salut.
> Sunt Paul si am scris un program de sinteza pentru
> Linux (si Windows) (lucrez la el din martie 2002).
> Acum cateva zile am lansat un prerelease la
> versiunea
> 2.0.0.
> Programul se gaseste la:
> http://zynaddsubfx.sourceforge.net
> si este sub licenta GNU GPL 2.
> Are o lunga lista de facilitati pe care nu o sa o
> scriu aici (se poate citi de pe homepage).
> Sper sa va placa.
> Paul
>
>
>
> __________________________________
> Do you Yahoo!?
> Vote for the stars of Yahoo!'s next ad campaign!
>
http://advision.webevents.yahoo.com/yahoo/votelifeengine/
>
>
> ---
> Detalii despre listele noastre de mail:
> http://www.lug.ro/
>
>
>
__________________________________
Do you Yahoo!?
Vote for the stars of Yahoo!'s next ad campaign!
http://advision.webevents.yahoo.com/yahoo/votelifeengine/
---
Detalii despre listele noastre de mail: http://www.lug.ro/