December 8, 2024
Bekleme yapma, daha çok görevin var!
İstasyon
Çözüm:
“Bekleme yapma, daha çok görevin var!” diyor bana. Aslında buraya kadar oldukça hızlı yaptım soruları. Buraya kadar bildiğim yerlerden çıkmıştı. Skor tablosuna bakıyorum… 6. sıradayım. Rakipler hızlı gidiyorlar. 3-4 tane fazladan soru çözmüşler. Geride kaldığımı düşünüyorum…
Linke tıkladığımda:
“Hash degeri 13ba85fb158d7235606d9809802aa9ba, gene de soyleyelim”
Cevap: Submit
Rastgele birşeyler yazıyorum. “Fail” diyor.
Sayfanın kaynak koduna bakıyorum:
<form name=”myForm” action=”” onsubmit=”return myFunction()” method=”post”>
Hash degeri 13ba85fb158d7235606d9809802aa9ba, gene de soyleyelim<br>
Cevap: <input type=”text” name=”key”>
<input type=”submit” value=”Submit”>
</form>
Hmmmm…. Formda “myFunction()” çağırılıyor.
Fonksiyonu bulup kaynağına bakıyorum:
function myFunction()
{
eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!”.replace(/^/,String)){while(c–){d[c.toString(a)]=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return’\\w+’};c=1};while(c–){if(k[c]){p=p.
replace(new RegExp(‘\\b’+e(c)+’\\b’,’g’),k[c])}}return p}(‘4 3=0.a.c.1.b;4 2=5(“6&8!7”);h(5(3)==2){0.9(“g, d 1 6&8!7”)}e{0.9(“f”)};’,18,18,’document|key|hash|variable|var|calcMD5|chA|nu|a4R|write|forms|value|myForm|send|else|
Fail|Success|if’.split(‘|’),0,{}))
}
Karışık görünüyor.
“eval” ile fonksiyonu çalıştırıyor. “eval” bir stringi php kodu olarak değerlendirip çalıştırmaya yarar.
fonksiyonu düzenliyorum ve “eval” ifadesini “document.write” ile değiştiriyorum. Fonksiyon şu hale geliyor:
function myFunction()
{
document.write
(
function(p,a,c,k,e,d)
{e=function(c)
{return c.toString(36)};
if(!”.replace(/^/,String))
{
while(c–)
{d[c.toString(a)]=k[c]||c.toString(a)}
k=[function(e)
{return d[e]}
];
e=function()
{return’\\w+’};c=1
};
while(c–)
{if(k[c])
{p=p.replace(new RegExp(‘\\b’+e(c)+’\\b’,’g’),k[c])
}
}
return p
}
(‘4 3=0.a.c.1.b;4 2=5(“6&8!7”);h(5(3)==2){0.9(“g, d 1 6&8!7”)}e{0.9(“f”)};’,18,18,’document|key|hash|variable|var|calcMD5|chA|nu|a4R|write|forms|value|myForm|send|else|Fail|Success|if’.split(‘|’),0,{})
)
}
Bir web servera koyup bağlanıyorum. Rastgele birşeyler yazıp Submit butonuna basıyorum.
var variable=document.forms.myForm.key.value;var hash=calcMD5(“chA&a4R!nu”);if(calcMD5(variable)==hash){document.write(“Success, send key chA&a4R!nu”)}else{document.write(“Fail”)};
Karşıma daha sade bir görüntü çıkıyor. else olursa “Fail” diyecek, if TRUE dönerse de “Success, send key chA&a4R!nu” mesajı ekrana yazacak.
Böylece ilk ekranda görünen “Hash degeri 13ba85fb158d7235606d9809802aa9ba, gene de soyleyelim” ifadesini hiç kullanmamış oldum.
Cevap: chA&a4R!nu
Komutan
Leave a Reply