Showing posts with label hacking. Show all posts
Showing posts with label hacking. Show all posts
Friday, February 3, 2012
sudo format string vulnerability
This summary is not available. Please
click here to view the post.
Etiketler:
format string,
hacking,
security,
sudo,
vulnerability
Wednesday, April 20, 2011
SQL Injection Üzerinden LFI
SQL Injection üzerinden LFI bug’ları yakalamak her zaman karşılaşılabilecek bir durum olmasa bile karşılaşıldığı zaman çok kullanışlı olabilen bir zafiyet türü. Söz konusu zafiyet, uygulamanın DBMS’te yaptığı sorgu sonucunda dönen kolonlara ait verileri include, require, include_once, require_once gibi fonksiyonlara parametre olarak verdiğinde ortaya çıkmakta.Eğer şanslıysanız, aşağıdaki gibi PHP’nin vereceği hata mesajlarından böyle eğlenceli bir bug’ı yakaladığınızı tespite debilirsiniz.
Etiketler:
hacking,
lfi,
local file inclusion,
sql injection,
web app security
Sunday, February 6, 2011
obfuscating php codes
Giriş
Yazının başlığı "obfuscating php codes" olmasına rağmen otomatize bir şekilde bu işlemi yapan bir tool yayınlamayacağım sadece kullanılabilecek yöntemleri tartışmak istedim, aslında kişisel notlarımdan bir yazı oluşturma çabası bu. Biraz obfuscating işleminden bahsedelim. obfuscating işlemi daha doğrusu "obfuscated code" kavramı kodun normal bir insan (çoğu zaman bir makine) tarafından okunmasını güçleştirmek. Burada makineden kastım bir WAF/IPS/IDS/Antivirus vs.. olabilir. Daha fazla merak edenler [1] ve [2] no'lu referanslara göz atabilirler. Peki neden bu tarz bir işleme ihtiyaç duyulur? Benim gibi bir "web hacker"i iseniz karşılaştığınız PHP Code Injection vs.. gibi durumlarda platformun magic_quotes özelliğini aşmak isteyebilirsiniz, ya da WAF'i atlatmak isteyebilirsiniz vb.. birçok neden sayılabilir neden bu işleme ihtiyaç duyduğunuza dair.
PHP Dilinin Sağladıkları
PHP Dili varsayılan olarak birçok güzel özelliği bizlere sunuyor. Örneğin bir değişken tanımlamasını eğer değerinizin tüm karakterleri birer string ise tırnak işareti kullanmadan yapabilirsiniz.
Fonksiyon çağırımlarında değişkenleri fonksiyon isimleri için kullanabilirsiniz.
Bir dizinin elemanına ulaşırkende yine eleman adında özel karakter yoksa tırnak işareti kullanmadan çağırabilirsiniz.
chr() fonksiyonundan yararlanabilirsiniz.
base64 encode edilmiş veriler işinizi görebilir.
Ayrıca whiteline vb.. şeyleride ortadan kaldırarak tespiti zor web trojanları hazırlayabilirsiniz.
Son Sözler
Öğrendiklerimizin tümünü bir arada kullanarak şöyle birşey hazırlayabiliriz. Okunması gayet zor olan bir kod hazırlamaya çalışalım ve bu kod şunu yapsın verilen base64 encoded veriyi decode edip ekrana yazsın.
Çalıştırırsanız ekrana HELLO yazdığını göreceksiniz.
Referanslar
[1] - http://en.wikipedia.org/wiki/Obfuscation
[2] - http://en.wikipedia.org/wiki/Obfuscated_code
Yazının başlığı "obfuscating php codes" olmasına rağmen otomatize bir şekilde bu işlemi yapan bir tool yayınlamayacağım sadece kullanılabilecek yöntemleri tartışmak istedim, aslında kişisel notlarımdan bir yazı oluşturma çabası bu. Biraz obfuscating işleminden bahsedelim. obfuscating işlemi daha doğrusu "obfuscated code" kavramı kodun normal bir insan (çoğu zaman bir makine) tarafından okunmasını güçleştirmek. Burada makineden kastım bir WAF/IPS/IDS/Antivirus vs.. olabilir. Daha fazla merak edenler [1] ve [2] no'lu referanslara göz atabilirler. Peki neden bu tarz bir işleme ihtiyaç duyulur? Benim gibi bir "web hacker"i iseniz karşılaştığınız PHP Code Injection vs.. gibi durumlarda platformun magic_quotes özelliğini aşmak isteyebilirsiniz, ya da WAF'i atlatmak isteyebilirsiniz vb.. birçok neden sayılabilir neden bu işleme ihtiyaç duyduğunuza dair.
PHP Dilinin Sağladıkları
PHP Dili varsayılan olarak birçok güzel özelliği bizlere sunuyor. Örneğin bir değişken tanımlamasını eğer değerinizin tüm karakterleri birer string ise tırnak işareti kullanmadan yapabilirsiniz.
$a = HELLO;
echo $a; // ekrana HELLO yazacaktır..
Fonksiyon çağırımlarında değişkenleri fonksiyon isimleri için kullanabilirsiniz.
$a = system;
$cmd = $_GET[cmd];
$a($cmd);
Bir dizinin elemanına ulaşırkende yine eleman adında özel karakter yoksa tırnak işareti kullanmadan çağırabilirsiniz.
$cmd = $_GET[cmd];
chr() fonksiyonundan yararlanabilirsiniz.
echo chr(72).chr(69).chr(76).chr(76).chr(79); // ekrana HELLO yazacaktır..
base64 encode edilmiş veriler işinizi görebilir.
echo base64_decode("SEVMTE8="); // ekrana HELLO yazacaktır..
echo base64_decode(SEVMTE8); // ekrana yine HELLO yazacaktır fakat = işaretini kaldırmaktan pek emin değilim decodinge bir zararı olur mu olmaz mı anlamında..
Ayrıca whiteline vb.. şeyleride ortadan kaldırarak tespiti zor web trojanları hazırlayabilirsiniz.
Son Sözler
Öğrendiklerimizin tümünü bir arada kullanarak şöyle birşey hazırlayabiliriz. Okunması gayet zor olan bir kod hazırlamaya çalışalım ve bu kod şunu yapsın verilen base64 encoded veriyi decode edip ekrana yazsın.
$a=base;$b=de;$c=chr(54).chr(52).chr(95).chr(100).chr(101).chr(99).chr(111);$d=$a.$c.$b;$c=pri;$b=chr(110).chr(116).chr(102);$a=$c.$b;$a($d(SEVMTE8));
Çalıştırırsanız ekrana HELLO yazdığını göreceksiniz.
Referanslar
[1] - http://en.wikipedia.org/wiki/Obfuscation
[2] - http://en.wikipedia.org/wiki/Obfuscated_code
Etiketler:
hacking,
obfuscated code,
obfuscating,
php,
security,
web app security,
web application
Subscribe to:
Posts (Atom)