Sayfalar

24 Ağustos 2009 Pazartesi

Youtube Class Kullanımı

Geçen gün yayınlamış olduğum Youtube Sınıfında örnek kullanım dosyasında açıklayacı satırlar bulunuyor fakat yeni başlayanlar için sınıfın kullanımını basitçe anlatacak olursak.

require_once('youtube.class.php');

yazarak sınıf dosyamızı dahil ettikten sonra sınıfımızı çağırıyoruz.

$video=new Youtube();

Videoları 2 türlü çağırabilirsiniz.
1.Yöntem : Video adresini yazarak

$video->link_tut('http://www.youtube.com/watch?v=gzqpEWykqEs&feature=related');

2.Yöntem : Video ID'sını yazarak

$video->id_tut('gzqpEWykqEs');

Yukarıdaki yöntemlerden herhangi biri ile videoyu belirttikten sonra istediğimiz verileri rahatça elde edebiliriz.
Erişebileceğiniz veriler aşşağıdaki gibidir.

Video flv adresi:

$video->flv();

Video Adı:

$video->ad();

Video resim adresi:

$video->resim();

Video ID:

$video->id();

Video dosyasının kaynak kodlarına erişmek için :

$video->flv_data();

Video resim dosyasının kaynak kodlarına erişmek için :

$video->resim_data();

Umarım kafanızda soru işaret kalmamıştır.

Youtube Class

Geçenlerde Yazmış olduğum youtube sınıfını sizlerle paylaşıyorum.
Youtube Class

Örnek Kullanım

Screen Shot
Youtube Class
Dosyaları toplu halde buradan indirebilirsiniz.

14 Ağustos 2009 Cuma

Banla 1.0

Merhabalar yaklaşık bir ay önce python programlama diline başladım, PHP bilen biri için python öğrenmek çok basit zaten temelde programlamanın mantığını bildiğiniz zaman geriye sadece öğreneceğiniz dilin yazım kuralları kalıyor.Bir arkadaşımın isteği üzerine python'da bir script yazdım ve dağıtmaya karar verdim.
Script'in görevi nedir diye soracak olursanız.Sunucuya bağlı olan ip adreslerini ve bu ip adreslerinin kaç bağlantı açtığını gösteriyor ve sizin limitlendirdiğiniz bağlantı sayısını aşan ip adreslerini iptables ile banlıyor.
Script nasıl çalışıyor?
Örneklerle anlatacak olursak komut satırına python banla.py 120 yazarak scripti çalıştırırsak 120 den fazla bağlantı açan ip adreslerini banlayabiliriz.
Eğerki sadece python banla.py yazarsak scriptimiz _limit_=int(100) satırında bulunan 100 değerini kullanacaktır yani 100 den fazla bağlantı açanları banlayacaktır.
Script ip adresini banlarken neler yapıyor?
Öncelikle python banla.py 150 gibi bir istekte bulunduk.
Script 150 den fazla bağlantı açan ip adreslerini buldu daha sonra bunları banlayacak ama öncelikle bir kaç evreden geçmesi gerekecek.
1.Evre : Scriptimiz öncelikle ip.txt dosyasına bakacaktır banlanacak ip adresi ip.txt dosyasında kayıtlımı diye eğer ip.txt dosyasında kayıtlı ise banlamayacaktır fakat kayıtlı değil ise ikinci evreye geçecektir.(banlanmasını istemediğiniz ip adreslerini ip.txt dosyasına alt alta yazabilirsiniz.Çünkü kimse arama motorlarını banlamak istemez herhalde :))
2.Evre : İkinci Evre nedir diye soracak olursanız ikinci evrede yine arama motorları ile ilgili , scriptimiz ip adresinin nereye ait olduğunu sorgulayacak
bunu nasıl yapıyor diye soracak olursanız bu adres size yardımcı olacaktır.Ben size yinede basit bir şekilde anlatayım Linux sunuculardaki host komutu ile örnek bir çıktı.

kral@kral:~/Masaüstü/python$ host 66.249.66.1
1.66.249.66.in-addr.arpa domain name pointer crawl-66-249-66-1.googlebot.com.

en son nerede kalmıştık host komutu ile ip adresinin hostname'mini alıyoruz ve beyazliste'mizde varmı diye bakıyoruz eğerki beyaz listemizde kayıtlı ise scriptimiz ip adresini banlamıyor ve o ip adresini ip.txt dosyasına kaydediyor böylelikle bir dahaki sefere 2. evreye gerek kalmadan ip adresi banlanmayacak eğerki beyazlistedede yoksa 3.evreye geçecek
( Beyaz listeyi beyazliste=["google.com","yahoo.com","bing.com","live.com","msn.com","msn.net"] satırından değiştirebilirsiniz.)
3.Evre :Bu evrede ip adresinin bir zombi olduğuna kanaat getiriyoruz ve ip adresini banlanıyoruz.
Sıra geldi Kodlara:


Screen Shot:
Komut: python banla.py 1 1 adet bağlantı açanlar listelendi.


Komut: python banla.py 100 adet bağlantı açanlar listelendi.default ayarlarda 100 yazılı olduğu için _limit_=int(100)


Komut: python banla.py 1 1 den fazla bağlantı açanlar listelendi ve banlandı



İlerde eklemeyi düşündüğüm özellik banlanan ip adreslerini mail ile yöneticiye haberdar etme.

12 Ağustos 2009 Çarşamba

Ben Robot Projesi

Asım kardeşim Ben Robot adında bir proje hazırlamış benim gayet hoşuma gitti.
Ben Robot hakkında daha fazla bilgiye www.benrobot.org/ adresinden ulaşabilirsiniz, Ben Robot'a plugin yazma hakkında ise bu sayfayı ziyret edebilirsiniz.

2 Ağustos 2009 Pazar

Vlc Player Kurulumu

Vlc player kurulumu için launchpad depolarını kullanacağız depoları kullanabilmemiz için GPG Key sahip olmamız lazım öncelikle sistemimize key ekliyoruz konsolu açarak aşşağıdaki komutunu yazıyoruz.

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 7613768D

daha sonra yansıları eklemek için consola aşağıdaki komutu yazarak root olarak sources.list dosyasını açıyoruz

sudo nano /etc/apt/sources.list

ve aşağıda size uygun olan sürümün deposunu ekliyoruz.
Kubuntu yada ubuntu olması fark etmez.

Jaunty için
#vlc
deb http://ppa.launchpad.net/c-korn/vlc/ubuntu jaunty main
deb-src http://ppa.launchpad.net/c-korn/vlc/ubuntu jaunty main
Hardy için
#vlc
deb http://ppa.launchpad.net/c-korn/vlc/ubuntu hardy main
deb-src http://ppa.launchpad.net/c-korn/vlc/ubuntu hardy main
Intrepid için
#vlc
deb http://ppa.launchpad.net/c-korn/vlc/ubuntu intrepid main
deb-src http://ppa.launchpad.net/c-korn/vlc/ubuntu intrepid main

Aşağıdaki gibi bir görüntü oluşacak
vlc player

Depoları ekledikten sonra sıra geldi kuruluma konsola sırasıyla aşşağıdaki komutları yazıyoruz.

sudo apt-get remove vlc vlc-nox vlc-data # Eğer eski sürüm varsa siliyoruz
sudo apt-get update # Update ediyoruz.
sudo apt-get install vlc vlc-nox vlc-data # Ve son olarak kurulumu yapıyoruz.

29 Temmuz 2009 Çarşamba

Linux Ubuntu & Kubuntu Flash Player Kurulumu

Buradan Adobe Flash Player 10 sürümünü indirin daha sonra indirdiğiniz deb dosyasının bulunduğu dizine giderek

sudo dpkg -i install_flash_player_10_linux.deb

Komutunu uygulayın eğer libcurl3 kütüphanesi bulunmuyor gibi bir hata alırsanız.
Öncelikle libcurl3 kütüphanesini kurun ve daha sonra flash playeri kurun

sudo apt-get install libcurl3
sudo dpkg -i install_flash_player_10_linux.deb

25 Temmuz 2009 Cumartesi

eval gzinflate str_rot13 base64_decode Decode

Normalde

eval(gzinflate(base64_decode('FZ3HjuvQlUV...')));

veya

eval(gzinflate(str_rot13(base64_decode('FZ3HjuvQlUV...'))));

Şeklinde şifrelenmiş kodları decode etmek çok basittir eval yerine print yada echo yazarak
php kodlarını ekrana yazdırabiliriz.
eval'ın ne işe yaradığını bilmeyenler için örnekleyerek basitçe anlatacak olursak.

eval("phpinfo();");
eval("system('id');");

şeklinde php kodu çalıştırmanıza yarıyor daha fazla bilgi için php.net/eval adresini ziyaret edin.
Herneyse sadede gelecek olursak kodlar eğer arka arkaya defalarca şifrelenmiş olursa o zaman işler biraz değişiyor
birde işin içine şu şekilde fonksiyon isimleride değişkenlere atılınca
içinden çıkılmaz bir kod karmaşası oluşuyor

$xztuljbestl = 'base64_decode';
$sviujiujpilbkl = 'gzinflate';
eval($sviujiujpilbkl($xztuljbestl('XJ3HjoPc....')));

Kendi yazmış olduğum decoderi sizlerle paylaşıyorum.
Decoderin aşağıdaki şekilde şifrelenmiş kodları çözdüğü test edilmiştir..


eval(gzinflate(base64_decode('FZ3HjuvQlUV...')));


eval(gzinflate(str_rot13(base64_decode('FZ3HjuvQlUV...'))));


$xztuljbestl = 'base64_decode';
$sviujiujpilbkl = 'gzinflate';
eval($sviujiujpilbkl($xztuljbestl('FZ3HjuvQlUV....')));


Decoder sonuç olarak size kodların kaç defa şifrelendiğini ve decode edilmiş
kodları metin şeklinde ve renklendirilmiş şekilde gösterecektir.





Aşağıdaki betik kod.txt dosyasında olan şifreli kodu alacak ve decode ederek size sunacaktır..

<?php
//Kodlama By s4l1h
//http://pehepe.blogspot.com/2009/07/eval-gzinflate-strrot13-base64decode.html
$ac=@file_get_contents("kod.txt") or die("Kod.txt Dosyasını Okuyamıyorum");
$ac=preg_replace("/<\?php|\?>/", "", $ac);
$ac=preg_replace("/<\?|\?>/", "", $ac);

$desen="|eval\((.*)\((.*)\(\'(.*)\'\)\)\)\;|siU"; // eval(gzinflate(base64_decode('FZ3HjuvQlUV...')));
$desen2="|eval\((.*)\((.*)\((.*)\(\'(.*)\'\)\)\)\)\;|siU"; //eval(gzinflate(str_rot13(base64_decode('FZ3HjuvQlUV...'))));
$x=1;
while(preg_match($desen,$ac,$cik) OR (preg_match($desen2,$ac,$cik))){
eval(str_replace('eval','$ac=',$ac));
$x++;
}

echo "<font color='red'>$x Defa Şifrelenmiş</font><br>";
$sonuc=('<?php
//=======================================
// !! Script Decoded By s4l1h !!
// !! http://pehepe.blogspot.com/ !!
// !! '.date('d-m-Y').'
//=======================================
'.
$ac
.'?>');
echo "<h1>Düz Metin</h1>";
echo "<textarea cols=100 rows=20>$sonuc</textarea><br>";
echo "<h1>Renklendirilmiş</h1>";
highlight_string($sonuc);

?>

21 Temmuz 2009 Salı

Tarayıcı ve javascript denetimi

Günümüzde artık hemen hemen bütün web sitelerinde javascript kullanılmakta.
Eğerki web sitenizde javascript kullanmış iseniz ve kullanıcının bazı uygulamaları çalıştırabilmesi için javascript desteği gerekiyorsa bunu kullanıcıya bildirmek için aşağıdaki 2 yöntemden herhangi birini kullanabilirsiniz
1. Yöntem


<noscript><font color="red">Web sitemizi daha sağlıklı kullanabilmeniz için lütfen Javascript'i aktifleştirerek <a href="">tekrar deneyiniz</a>. </font></noscript>

2. Yöntem


<div id="nojs"><font color="red">Web sitemizi daha sağlıklı kullanabilmeniz i&#231;in l&#252;tfen Javascript'i aktifleştirerek <a href="">tekrar deneyiniz</a>.</font></div>
<script>
//Eğer Javascript Aktif ise nojs id'sine sahip div görünmez olacaktır.
//Fakat Javascript Aktif değil ise div görünür olacaktır.
document.getElementById('nojs').style.display="none";
</script>

17 Temmuz 2009 Cuma

Kolbastı

En eski Kolbastı videosu bu sanırım.
1975 yılında çekilen Baba Bizi Eversene filminde Barış Manco yorumlamış.
Baba Bizi eversene kolbastı

Aşağıdaki video Baba Bizi Eversene filmden alıntıdır.
1975 Model Kolbastı

2009 Model Kolbastı


Pek fazla fark yok gibi :(

Javascript Beautifier

Sıkıştırılmış yada Dean Edward's packer ile pack edilmiş javascript kodlarını sizin için düzene sokuyor ve unpack ediyor.
Demo
indir

13 Temmuz 2009 Pazartesi

PHP Reverseip Class

Eski adı live.com şimdiki adı ise bing.com olan microsoft'un arama servisinin çok sevdiğim bir özelliği var ip:10.1.1.1 şeklinde arama yapınca o ip adresindeki web sitelerini listeliyor.Domaintols.com adresi bu işlem için ücret istiyor.
Bir ara can sıkıntısından yazdığım bing.com tabanlı reverse ip classını siz değerli okuyucularımla paylaşmak istedim hayrını görün bu arada syntaxhighlighter'i blog'a entegre ettim bundan sonra daha iyisini bulana kadar kodları syntaxhighlighter ile renklendireceğiz inşallah.
Classın özellikleri;
*Hatalar için dil seçeneği ekledim satır 127 de dil seçeneğini görebilirsiniz.
*domain.com ve ip adresi şeklinde arama yapabilirsiniz.
Eklemeyi Düşündüklerim;
*Cache ve proxy özelliği eklemeyi düşünüyorum.

Ekran görüntüleri;

class
php


<?php
set_time_limit(0);

/*
Reverse İp Class Başlangıç
Kodlama By s4l1h
http://pehepe.blogspot.com/
http://pehepe.blogspot.com/2009/07/php-reverseip-class.html
*/

class reverseip{
public function language($veri){
foreach($veri as $v=>$z){
$this->lang[$v]=$z;
}
}

// ip adresini tutuyoruz
public function adres($gel){
$this->ip=$gel;
}
// Girilen Değer Sayısalmı Diye bakılıyor
private function sayisal($gel){
if(intval($gel)){ return TRUE; } else { return FALSE; }
}
// ip Adresi bulunuyor eğer domain.com yazılmış ise ip adresi bulunuyor
public function ipbul($ip){
if($this->sayisal($ip)){
return $ip;
}elseif($this->sayisal(gethostbyname($ip))){
return gethostbyname($ip);
}else{
return FALSE;
}
}
// İp adresini doğruluyoruz
private function dogrula($ip){
$a=explode(".",$ip);
$say=count($a);
if($say!=4){ return FALSE; }
foreach($a as $k){
if($k > 10 AND $k < 999) {}else{ return FALSE; }
}

return TRUE;
}
// İp adresini Ekrana Yazıyoruz
public function ip(){
return $this->ipadresi;
}
// bing.COM'dan veriler çekilip array Olurşturuluyor
private function reverse($ip){
$this->ipadresi=$ip;
$i=1;
$x=1;
$desen='|<h3><a href="http://(.*)"|siU';
while($i<=100){
$al=file_get_contents('http://www.bing.com/results.aspx?q=ip:'.$ip.'&first='.$x.'&FORM=PERE5&mkt=en-US') or $this->hata($this->lang['connect']);
preg_match_all($desen,$al,$cik);

$say=count($cik[1])-1;
if($say<=1){
$this->hata($this->lang['notfound']);
return false;
}
for($v=0;$v<=$say;$v++){
$gg=strtolower($cik[1][$v]);
$gg=str_replace("www.","",$gg);
if(!strpos($gg,"/")){ $hepsi[]=$gg; }else{
$h=explode("/",$gg);
$hepsi[]=$h[0];
}

}
$x=$x+10;
$i=$i+1;
if(!strpos($al,"Next</a>")){ break; }
}
$hepsi=array_unique($hepsi);
foreach($hepsi as $veri){
$sonuc[]=$veri;
}
return $sonuc;
}

// SONUÇ ARRAY OLARAK DIŞARIYA VERİLİYOR;
public function sonuc(){
if(!$this->ipbul($this->ip)){
$this->hata($this->lang['invalidadres']);
return false;
}elseif(!$this->dogrula($this->ipbul($this->ip))){
$this->hata($this->lang['invalidip']);
return false;
}else{ return $this->reverse($this->ipbul($this->ip)); }
}
// Sonuç Sayısı
public function say(){
if(!$this->sonuc()){ $this->hata($this->lang['hatason']); }else{ return count($this->sonuc()); }
}

// Verileri Temizliyoruz
private function temizle($veri){
$veri=urldecode($veri);
$veri=get_magic_quotes_gpc() ? stripslashes($veri) : $veri;
return htmlentities($veri, ENT_QUOTES);
}
// Hata Üstüne Hata Ekliyoruz..
public function hata($veri){
$this->hatalar.=$veri."<br>";
}
// Hataları Gösteriyoruz...
public function hatagoster(){
if($this->hatalar){
return $this->hatalar;
}else{
return false;
}
}
}
/*
Reverse İp Class Bitiş
*/

// ÖRNEK KULLANIM

/*
Dil Dosyamız Start
*/
$lang=array();
$lang["connect"]="Bing.com Adresine Ulaşamadım";
$lang["notfound"]="Herhangi Bir site adresi bulamadım";
$lang["invalidadres"]="Geçersiz Adres";
$lang["invalidip"]="Geçersiz İp Adresi";
$lang["hatason"]="Veriler Sayılamıyor Çünkü Veri Alınamadı";
/*
Dil Dosyamız End
*/


/*
Link Yapma Fonksiyonu Start
*/
function linkyap($site){
return '<a href="http://'.$site.'" target="_blank" >'.$site.'</a>';
}
/*
Link Yapma Fonksiyonu End
*/


$ip=$_GET['ip'];// www.domain.com'da yazılabilinir.
$bul=& new reverseip();
$bul->language($lang);
$bul->adres($ip);
$dizi=$bul->sonuc();// Veriler Dizi olarak çıkartıldı
//print_r($dizi);
//echo $bul->ip(); // Taranan Web Sitesinin İp adresi


if($bul->hatagoster()){ // Hata Varmı Diye Kontrol Ediyoruz.
echo "Error:<br>".$bul->hatagoster(); // Eğer Hata Varsa Hataları Gösteriyoruz.
}else{ // Eğer Hata Yoksa Başlangıç


echo "Toplam Site Sayısı:<b>".$bul->say()."</b><br>";
echo "Taranan ip adresi :<b>".$bul->ip()."</b><br>";

// Html Olarak Yazıyoruz Start
echo "<pre>";
foreach($dizi as $site){
echo linkyap($site)."\n";
}
echo "</pre>";
// Html Olarak Yazıyoruz End


// Textarea'ya Çıkartıyoruz Start
echo '<textarea rows="20" cols="35">';
foreach($dizi as $site){
echo "$site\n";
}
echo '</textarea>';
// Textarea'ya Çıkartıyoruz End

} // Eğer Hata Yoksa Bitiş..........

?>

Kardeş Türküler - Hevare Gule (Gülün Feryadı)

Kardeş Türküler Ne güzel Söylüyor.
Videoyu Görüntüleyemiyorsanız hala opendns'yi keşfetmemişsiniz demektir..
Hevare Gule(Gülün Feryadı)

8 Temmuz 2009 Çarşamba

Milw0rm Kapandı

milw0rm2004 yılından itibaren hizmet veren exploit databasesi haline gelen milw0rm.com kapandı.Geçmiş yıllara ait görüntülerine aşşağıdaki linkten bakabilirsiniz.
http://web.archive.org/web/*/http://milw0rm.com
Kapanmadan önceki ekran görüntüsü.

milw0rm,closed,kapandı,exploit,bug

28 Haziran 2009 Pazar

Opera ve Socks5 Desteği

Opera kullananlar bilirler operanın socks proxy desteği yoktur yani socks proxy kullanarak opera ile internette dolaşamazsınız bknz.

Sockscap programını biliyorsunuzdur bilmeyenler bağlantıdan ne olduğu öğrenebilir,

Basitçe anlatacak olursak sockscap programına proxy adresi eklersiniz ve sockscap üzerinden istediğiniz uygulamayı çalıştırırsınız.

Fakat linux kullanıyorsanız işler biraz değişiyor sockscap windows uygulaması olduğu için linux'ta çalışmıyor( wine türü emülatörlerle çalıştırabilirsiniz).

Basit bir araştırmadan sonra proxychains'a ulaştım.

Uygulamayı kurmak çok basit eğer debian türevi işletim sistemi kullanııyorsanız

sudo apt-get install proxychains yazarak uygulamayı kurabilirsiniz daha sonra

sudo nano /etc/proxychains.conf yazarak ayar dosyasını kendinize göre düzenleyin.

Eğer sadece tek bir proxy kullanacaksanız proxychains.conf dosyasındaki

random_chain satırının başına # işareti bırakın şu şekilde olacak #random_chain

daha sonra alt kısımda proxy adresi ayarlarını yapabilirsiniz

örnek olarak benim proxy ayarlarım şu şekilde


#http 10.0.0.5 3128

#http 10.0.0.3 3128

#http 10.0.0.5 3128

socks5 81.169.***.*** 1080

#socks4 10.5.81.143 1080

#http 192.168.203.18 8080


ayarlamalarıda yaptıktan sonra konsolu açıyoruz ve

proxychains opera yazıyoruz ve proxychains üzerinden opera çalışmaya başlıyor





25 Haziran 2009 Perşembe

Bu aralar neler yapıyorum...

Yaklaşık bir ay içinde msn'de geçen bir konuşma metninden alıntı.
Not:Mehmet sevdiğim bir kardeşimdir.

Mehmet:Selam abi
Ben: A.s Mehmet nasılsın
Mehmet:Teşekkürler abi iyiyim seni sormalı
Ben: Teşekkür ederim mehmet bende iyiyim
Mehmet: Abi neden hiç msn gelmiyorsun
Ben:Valla askerden döndüğümden beri epeyce bir sorun sıkıntı vardı onları halletmeye çalışıyorum fazla giremiyorum net'e
Mehmet:Abi seni kodaman.org sitesinde gördüm mesaj attım cevap vermedin
Ben:Benim oraya üyeliğim yokki
vs...

Pek fazla forumlara vs..takılmam.
r10.net ve zone.org iyinet.com perfectgate.net harici s4l1h nickli kullanıcılar ben değilim bundan dolayı sıkıntı çıkmasın arkadaşlar.

Bu aralar neler yapıyorum;
Java ve Python'a sarmış durumdayım.
Php bilince Python'u öğrenmek çok basit, Python öğrenmek isteyenlere buradan duyuralım.
Java çok zor bir dil diyebilirim her kütüphanesi bir dil gibi bişey ama mutlaka öğrenilmesi gerekilen bir dil.
Bir kaç web sitemde çok kapsamlı değişiklikler yapmayı düşünüyorum fakat aktivasyon enejisi'ne ulaşamadım daha.
Bunların dışında php güvenliği ve sunucu güvenliği hakkında bir yazı dizisi hazırlamayı düşünüyorum.

Hepsi bu kadar...

10 Haziran 2009 Çarşamba

I came back

I came back