[Owasp-turkey] Arızayı Bul #1
Mesut Timur
mesut_timur at hotmail.com
Mon Oct 12 07:57:17 EDT 2009
Ben ilk gorduklerimi soyleyeyim o zaman. Javaya hakim olmadigimi belirterek baslayayim.
String filename = user.downloadDirPath + separator + request.getParameter("filename");
reportLog.writeln("Download Request User:" + user.userName + " FileName:" + filename);
File f = new File(filename.trim());
Burada ../../ ile yukaridaki dizinlere cikmak mumkun gibi, tabi API ekstra bir guvenlik sunmuyorsa ?? O zaman sistemden arbitrary sekilde dosyalari okumak mumkun olacaktir, muhtemelen LFI da .
response.setHeader("Content-Disposition", "attachment; filename=\"" + request.getParameter("filename") + "\"");
Burada da Header Injection mumkun gorunuyor. HTTP Response Splitting yapilabilir.
reportLog.writeln("Download Request User:" + user.userName + " FileName:" + filename);
reportLog.writeln("Download Response User:" + user.userName + " FileName:" + filename + " Success ");
reportLog'a sahte kayitlar eklemek mumkun.
Baska bir sey cikartamadim.
Mesut TİMUR
http://www.h-labs.org
GYTE Bilgisayar Mühendisliği
Türkçe Web Uygulaması Güvenliği E-Posta Listesine üye olmak için:
https://lists.owasp.org/mailman/listinfo/owasp-turkey
Date: Mon, 12 Oct 2009 14:42:52 +0300
From: bedirhanurgun at gmail.com
To: owasp-turkey at lists.owasp.org
Subject: Re: [Owasp-turkey] Arızayı Bul #1
:) ya cok kolay geldi ya da cok zor, kestiremedim.
Asagidaki parcada benim gordugum 3 KRITIK guvenlik zafiyeti var. Java olduguna bakmayin, API'lar cok degismiyor.
bedirhan
10 Ekim 2009 15:49 tarihinde Bedirhan Urgun <bedirhanurgun at gmail.com> yazdı:
merhaba,
Yazilim kaynakli guvenlik problemleri hepimizin malumu. Kod tabanli guvenlik problemlerini bulup/tartisabilecegimiz mailler gonderecegim kisa periyotlarla. Asagidaki Java parcasinda hangi guvenlik problemi(leri) var ve nasil cozulur?
bedirhan
Arızayı Bul #1
--------------------
private void doDownload( HttpServletRequest request, HttpServletResponse response ) {
try {
// get the user
HttpSession session = request.getSession();
User user = (User) session.getAttribute(UserConst.userAttr);
String filename = user.downloadDirPath + separator + request.getParameter("filename");
reportLog.writeln("Download Request User:" + user.userName + " FileName:" + filename);
File f = new File(filename.trim());
// get servlet output stream
ServletOutputStream op = response.getOutputStream();
response.setContentLength((int) f.length());
response.setHeader("Content-Disposition", "attachment; filename=\"" + request.getParameter("filename") + "\"");
response.setHeader("Content-Type", "application/octet-stream");
byte[] bbuf = new byte[255];
DataInputStream in = new DataInputStream(new FileInputStream(f));
int length = 0;
while( (in != null) && ((length = in.read(bbuf)) != -1) )
op.write(bbuf, 0, length);
in.close();
op.flush();
op.close();
reportLog.writeln("Download Response User:" + user.userName + " FileName:" + filename + " Success ");
}
catch( Exception e ) {
SendException(e, request, response);
}
}
--
Bedirhan Urgun
http://www.webguvenligi.org
http://www.owasp.org/index.php/Turkey
Türkçe Web Uygulama Güvenliği E-Posta Listesine üye olmak için:
https://lists.owasp.org/mailman/listinfo/owasp-turkey
_________________________________________________________________
Your E-mail and More On-the-Go. Get Windows Live Hotmail Free.
http://clk.atdmt.com/GBL/go/171222985/direct/01/
-------------- sonraki bölüm --------------
Bir HTML eklentisi temizlendi...
URL: https://lists.owasp.org/pipermail/owasp-turkey/attachments/20091012/437956ae/attachment.html
More information about the Owasp-turkey
mailing list