Ho un file binario che fa questo:
if (strstr(USERCONTROLLERSTRING, "..")) exit;
fopen(CurrentPath+"\Data\"+USERCONTROLLEDSTRING, "r");
quindi sputa tutto il contenuto del file. C'è qualche ovvia vulnerabilità qui?
È un servizio di Windows, funziona come SYSTEM, sto cercando di farlo leggere file sensibili come SAM o forse qualche altra vulnerabilità.
Controlla solo ".."
e aggiunge la stringa arbitraria fornita dall'utente a CURRENTPATH+"\Data\"
quindi chiama fopen
P.S. Codifica, unicode, base64,% -coding, ecc non funzioneranno come fa il strstr
giusto prima della chiamata di fopen
dopo tutta la decodifica. Ma questo è praticamente tutto, nessun altro controllo è fatto
P.P.S. È un EXE di Windows