Merhabalar,

Yine bir javascript uygulaması ve yine bir güvenlik zaafiyeti ile karşı karşıyayız.

Bilmeyenler için özet geçeyim wowslider çok güzel efektlere sahip adı üstünde bir slider. jQuery kullanılarak geliştirilmiş durumda. Dilerseniz wowslider.com üzerinden gidip satın alabilirsiniz.

Bizim burada yapacağımız işlem ise demo sürümünü kullandığınız durumda resmin sağ alt köşesine yazmış olduğu wowslider.com yazısını silmek.

Wowslider.com üzerinden slide oluşturma programını indirdikten sonra kendinize bir slider oluşturduğunuzda mutlaka engine klasörünü fark etmişsinizdir.

Bu klasörün içerisinde sizin programa attığınız resimler ve thumbnail (önizleme) halleri mevcut. Resimlerin sağ alt köşesine bakarsanız burada programın otomatik olarak resmin üzerine wowslider.com yazısını işlediğini görebilirsiniz. Resimlerin orjinalini ilgili klasöre atmanız durumunda resimlerin üzerindeki wowslider.com yazısı kalkacaktır.

Peki sadece resimlerin üzerinde mi bu yazı var ?
-Tabii ki hayır.

İlgili resimleri düzenledikten sonra yapmanız gereken bir işlem daha var. Bildiğiniz gibi wowslider bir javascript uygulaması ve ücretsiz sürümünde resimlerin üzerine wowslider.com yazmanın dışında, sayfada da wowslider.com adresine yönlendiren bir link oluşturuyor.

Bunun ile ilgili çeşitli önlemler alabilirsiniz en basitinden;

<script>
$(document).ready(function() {
$('a[href$="wowslider.com"]').remove();
});
</script>


Kodunu sayfanızın en altına ekleyerek yazının silinmesini sağlayabilirsiniz.

Bizim asıl üzerinde duracağımız konu ise wowslider.com'un bu yazıyı nasıl yazdığı ?

Bunun için öncelikle engine klasöründeki wowslider.js dosyasını açıyoruz.

Dosyayı açtığınızda, sıkıştırılmış ve karman çorman kodlar göreceksiniz. Bu kodları herhangi bir online jsbeautifier sitesi yardımıyla veya netbeans, notepad++ yardımıyla okunabilir hale getirebilirsiniz.

Kodları okunabilir hale getirdiyseniz basit bir yöntemle ilgili yazıyı nasıl eklediğini bulabiliriz demektir.

Örneğin sitenizi veya sliderı açıp, wowslider.com yazısı üzerinde sağ tıklayıp "Öğeyi denetle" derseniz (veya firebug kullanabilirsiniz) wowslider.com yazısını eklerken a etiketine "_blank" özelliği eklendiğini görebilirsiniz.

Bunun üzerinden yola çıkarak wowslider.js dosyasının içerisinde blank diye aratalım.

Muhtemelen ilgili dosyanın 363. satırındaki;
}).show().appendTo(ah || document.body).attr("target", "_blank")


kısmı ile karşılaştınız.

Burada jQuery az çok biliyorsanız ne yapıldığını anlayabilirsiniz. İlgili kod bloguna bakacak olursak;


S += ae("czvex5oxxd1amnamp9ctTp%{sun4~v{|xj(]elgim+M{iib`?!<");
S = ah ? J(S) : ah;
if (S) {
S.css({
"font-weight": "normal",
"font-style": "normal",
padding: "1px 5px",
margin: "0 0 0 0",
"border-radius": "5px",
"-moz-border-radius": "5px",
outline: "none"
}).attr({
href: "http://" + d.toLowerCase()
}).html(d).bind("contextmenu", function (c) {
return false
}).show().appendTo(ah || document.body).attr("target", "_blank")
}


Burada yapılan işlem kısaca S true dönüyor ise sayfaya ilgili yazıyı yaz demek.

En basitinden ilgili blokta S'nin başına ! ekleyerek artık sliderın wowslider.com yazmasını engelleyebilirsiniz. yani;


S += ae("czvex5oxxd1amnamp9ctTp%{sun4~v{|xj(]elgim+M{iib`?!<");
S = ah ? J(S) : ah;
if (!S) {
S.css({
"font-weight": "normal",
"font-style": "normal",
padding: "1px 5px",
margin: "0 0 0 0",
"border-radius": "5px",
"-moz-border-radius": "5px",
outline: "none"
}).attr({
href: "http://" + d.toLowerCase()
}).html(d).bind("contextmenu", function (c) {
return false
}).show().appendTo(ah || document.body).attr("target", "_blank")
}


yapmanız durumunda slider sorun yaratmadan üzerinde wowslider.com yazısı yazmadan çalışacaktır.

Peki bunu neden anlattık, amacım sizin wowsliderı cracklemeniz veya ücretsiz kullanmanız değil. Aksine böyle güzel bir yazılım için ücret ödemeniz gerektğine inanıyorum. Benim buradaki amacım günün birinde bu tarz yazılımları piyasaya sürdüğünüzde ne tarz güvenlik önlemleri almamanız gerektiğini göstermek.

Buradan çıkartmanız gereken sonuç: İlgili sliderı yukarıdaki yöntem ile ücretsiz kullanmanız tamamen sizin sorumluluğunuzdadır. Bu yazı sadece nasıl daha güvenli yazılılmlar yapabileceğinizi göstermek amaçlı yazılmıştır. Kısacası sorumluluk kabul etmiyorum :)