• 07-04-2009, 00:52:57
    #1
    Üyeliği durduruldu
    Merhaba arkadaşlar;
    Konu başlığı biraz ilginç olmuştur eminim, durumu açıklamakla başlıyayım işe.
    if(!empty($_POST["isim"])){
     echo $_POST["isim"];[/i]
    }else{[/i]
    echo '<form action="index.php" method="post">
    <input type="textbox" name="isim">
    </form>';
    }
    Şimdi bir html formda sayfa post atarken
    formun inputlarına isim verip post edilen dosyada da bu isimlere göre girilen değerleri alıp işlemler yaparız.

    Benim karşılaştığım durum ise şöyle.
    Bir form var sayfa yenilendiğinde içindeki 3 texboxın name değerleri değişiyor.(Buraya kadar herşey normal ne var bunda niye okuyorum demişsinizdir eminim.Az daha sabır edin)Değişiyor ama bu rastgele üretilmiyor.Eğer rastgele olsa ve tekrar tahmin edilemezse forumun post edildiği dosyada texboxın name değeri tahmin edilemez ve texboxın içine girilen değer alınamaz hatalı bir iş olur değil mi ?

    if(!empty($_POST["isim"])){
     echo $_POST["isim+{?????}"];
    }else{
    echo '<form action="index.php" method="post">
    <input type="textbox" name="isim+{Degisken deger}">
    </form>';
    }
    Ee bence evet.
    Ama bu vereceğim adreste bir şekilde bu değer tahmin edilip işlem yapılıyor.
    Belki basit birşey yada büyüttüğüm kadar değil ama işin içinden çıkamadım.
    Javascriptte olduğunu düşünüyorum işin sırrının artık ama önsezim sadece.
    Benim için bunun önemi de var eğer çözümü bulurken bana yardım ederseniz.Size acizane bir ödülüm olarak bir aylık rapid premium armağan etmeyi düşünüyorum.
    Sorgulama yapmanız için sonuc dondurecek bir bilgide vereyim
    Vorwahl / Rufnr.: 07121 71168
    PLZ / Ort: 72793 Pfullingen
    Straße / Hausnr.: Zeppelinstr. 42

    Sayfanın Aslı:freenetKomplett
    Türkçe Çevirisi
    Kaynak kodlarda name="Postleitzahl diye aratırsanız değişken 4 texboxtan bir tanesinin değerini bulabilirsiniz
    Son olarak birde şunu belirtmek istiyorum session yada cookie ilede bir işlem yapılmıyor firefoxta post gonderıp kontrol ederseniz fark edeceksiniz.
    Buda benim şuana kadar geldiğim nokta bu hidden inputlar sayfayı seçerken kullanılıyor diye tahmin ediyorum ve bence verilerin sayfanın seçilişinden baska önemi yok ben çok önemli olmadıgına kanaat ettim ama belkide can alıcı noktalar bunlardır.
    Vakit ayırcan her arkadaşa teşekkür ederim.
     
    <?
    function curl(){
     $url   = 'http://pos.freenet.de/freenetKomplettProduktCheck/app';
     $post  = 'formids=HasNextError,HasNextError_0,VorwahlField,RufnummerField,HasNextError_1,HasNextError_2,PlzField,StadtField,HasNextError_3,HasNextError_4,StrasseField,HausnrField';
     $post .= '&component=$Form';
     $post .= '&page=VertriebsCheck';
     $post .= '&service=direct';
     $post .= '&state:VertriebsCheck';
     $post .= '&ZH4sIAAAAAAAAAFVRPW8UMRCdy3GgQEI+kJBolxZt+tDloDhpFaKcRJHG8q3nbs3uehx7lsuBkr/Bn+AX0NHwb+hSUWFnzYl1Ne/5vZnx8/ffMFm/BIARwIE2S3KtZE3mDKXxDk4V5kuHaJBzSz6vqbUNcgCOVFdzWWFZ54sozmdD9/uf3378+XVPO/DqCvaFIoPv5sU0Gq7gQOi2RaUlY2IOhcOVpo/k1rJq5sgz2A2U7xqWXIRaOpRTUshwXHySn+VJI83qZM5Om9XbAp6KhTRqrRVXDC/+U8wM4wpdL2lkWTfa8zXcwU4Bz0QpffXBxp2HrjOiJjwiuCai1LyJhlEBzwXe2LCV7z2RHcfGS+08n8sWk+5QpNSmnWdq0aWBe6KizuN51y56bhSf1siBeSxsmco9YasQ3ED/SFitUv24Ty11PwroukPPF9KFdry17MckLRmPMcGkfiI8da78NzVADjtzgkeCK+1U6MSby4dvSLaJ4I3F7S5ftH2obyz0xw4Ow+uvWT8nO80s2exNFv0BtNLVyOH3stsgG4e7KN/d0vYvlMuCY5wCAAA=';
     $post .= '&reservedids=state:VertriebsCheck';
     $post .= '&submitmode=';
     $post .= '&submitname=';
     $post .= '&HasNextError=F';
     $post .= '&HasNextError_0=F';
     $post .= '&HasNextError_1=F';
     $post .= '&HasNextError_2=F';
     $post .= '&HasNextError_3=F';
     $post .= '&HasNextError_4=F';
     $post .= '&VorwahlField=1231';//alan kodu
     $post .= '&RufnummerField=1123';//numarası
     $post .= '&;//sokakno
     $post .= '&;//posta kodu
     $post .= '&';//şehir
     $post .= '&';//sokak
     $post .= '&';//no
     echo $post;
     $ch   = curl_init();
     curl_setopt($ch, CURLOPT_URL,$url); 
     curl_setopt($ch, CURLOPT_POST, 1);
     curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
     $gelen = curl_exec($ch);
     curl_close ($ch); 
     return $gelen;
    }
    echo curl();
    ?>
  • 07-04-2009, 06:13:56
    #2
    Üyeliği durduruldu
    microtime ile falan zaman degeri üretiyor olabilir. çok başarılı bir post koruması olmuış düşünen arkadağı takdir ettim
    şu kodlada değeri alabilrsiniz

    $data = file_get_contents("http://pos.freenet.de/freenetKomplettProduktCheck/app?type=marketing&source=pop");
    preg_match_all('#<input id="Postleitzahl(.*?)" maxlength="5" #is',$data,$bulunan);
    echo $bulunan[1][0];
  • 07-04-2009, 13:49:56
    #3
    Üyeliği durduruldu
    öncelikle ilgi gösterdiğin için teşekkür ederim sdemirkeser

    ama hak verirsin ki microtime fonksiyonu aynı dosya içinde sayfanın başında birde sonunda oluşturulduğunda birbirini tutmuyor.Post edilen sayfada tekrar hesaplanması normal koşullar altında zor(kesin konuşmak istemiyorum yinede ).

    Onun dışında yazdığın kod gayet başarılı fakat değeri alsam bile post ederken tekrar curl oturumu olusturdugum için post edilen sayfa değeri değiştiriyor.

    Ve bizim bulunan değişkenindeki değer değişmiş oluyor post sayfası farklı bir name belirlediği için boş oluyor.
  • 07-04-2009, 14:37:59
    #4
    Üyeliği durduruldu
    formda değişen paremetrelerede dikkat etmek gerek bence. görmüyorsun ama

    <img src="http://abakus.freenet.de/cgi-bin/ivw/CP/freenet/komplett/pos2/produktcheck/pop/VertriebsCheck/index.html?98075746" width="1" height="1" border="0"/>

    şeklinde 1 piksel resim var amca boş yere mi 1 piksellik resim koymuş. daha başka şeyler var yani
  • 07-04-2009, 15:30:20
    #5
    session ya da cookie yok.. ve sitedeki javascript kodlarini incelersen sonuca varabilirsin diye düşünüyorum. dikkatli inceleyip nereye ne şekilde post ettigini bulmak lazim..
  • 07-04-2009, 15:46:47
    #6
    Üyeliği durduruldu
    firefox un live http headers eklentisini kurup post edilen bilgilere bak. belki birşeyler çıkar.
  • 07-04-2009, 23:40:40
    #7
    Üyeliği durduruldu
    http://pos.freenet.de/freenetKomplettProduktCheck/app
    POST /freenetKomplettProduktCheck/app HTTP/1.1
    Host: pos.freenet.de
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; tr; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 (.NET CLR 3.5.30729)
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: tr-TR,tr;q=0.8,en-us;q=0.5,en;q=0.3
    Accept-Encoding: gzip,deflate
    Accept-Charset: ISO-8859-9,utf-8;q=0.7,*;q=0.7
    Keep-Alive: 300
    Connection: keep-alive
    Referer: http://pos.freenet.de/freenetKomplettProduktCheck/app
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 1232
    formids=HasNextError%2CHasNextError_0%2CVorwahlField%2CRufnummerField%2CHasNextError_1%2CHasNextError_2%2CPlzField%2CStadtField%2CHasNextError_3%2CHasNextError_4%2CStrasseField%2CHausnrField&component=%24Form&page=VertriebsCheck&service=direct&state%3AVertriebsCheck=ZH4sIAAAAAAAAAFVRPW8UMRCdy3GgQEI%2BkJBolxZt%2BtDloDhpFaKcRJHG8q3nbs3uehx7lsuBkr%2FBn%2BAX0NHwb%2BhSUWFnzYl1Ne%2F5vZnx8%2FffMFm%2FBIARwIE2S3KtZE3mDKXxDk4V5kuHaJBzSz6vqbUNcgCOVFdzWWFZ54sozmdD9%2Fuf3378%2BXVPO%2FDqCvaFIoPv5sU0Gq7gQOi2RaUlY2IOhcOVpo%2Fk1rJq5sgz2A2U7xqWXIRaOpRTUshwXHySn%2BVJI83qZM5Om9XbAp6KhTRqrRVXDC%2F%2BU8wM4wpdL2lkWTfa8zXcwU4Bz0QpffXBxp2HrjOiJjwiuCai1LyJhlEBzwXe2LCV7z2RHcfGS%2B08n8sWk%2B5QpNSmnWdq0aWBe6KizuN51y56bhSf1siBeSxsmco9YasQ3ED%2FSFitUv24Ty11PwroukPPF9KFdry17MckLRmPMcGkfiI8da78NzVADjtzgkeCK%2B1U6MSby4dvSLaJ4I3F7S5ftH2obyz0xw4Ow%2BuvWT8nO80s2exNFv0BtNLVyOH3stsgG4e7KN%2Fd0vYvlMuCY5wCAAA%3D&reservedids=state%3AVertriebsCheck&submitmode=submit&submitname=&HasNextError=T&HasNextError_0=T&HasNextError_1=T&HasNextError_2=F&HasNextError_3=F&HasNextError_4=F&VorwahlField=asd1&RufnummerField=asd2&Postleitzahl0.48754132=asd3&Stadt0.48754132=asd4&PlzField=asd3&StadtField=asd4&Strasse0.48754132=sd5&StrasseField=sd5&HausnrField=asd6&x=68&y=15
    HTTP/1.x 200 OK
    Date: Tue, 07 Apr 2009 20:09:06 GMT
    Server: Apache
    Keep-Alive: timeout=15, max=97
    Connection: Keep-Alive
    Transfer-Encoding: chunked
    Content-Type: text/html;charset=ISO-8859-1
    ----------------------------------------------------------
    http://abakus.freenet.de/cgi-bin/ivw/CP/freenet/komplett/pos2/produktcheck/pop/VertriebsCheck/index.html?60308461
    GET /cgi-bin/ivw/CP/freenet/komplett/pos2/produktcheck/pop/VertriebsCheck/index.html?60308461 HTTP/1.1
    Host: abakus.freenet.de
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; tr; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 (.NET CLR 3.5.30729)
    Accept: image/png,image*;q=0.5
    Accept-Language: tr-TR,tr;q=0.8,en-us;q=0.5,en;q=0.3
    Accept-Encoding: gzip,deflate
    Accept-Charset: ISO-8859-9,utf-8;q=0.7,*;q=0.7
    Keep-Alive: 300
    Connection: keep-alive
    Referer: http://pos.freenet.de/freenetKomplettProduktCheck/app
    HTTP/1.x 200 OK
    Date: Tue, 07 Apr 2009 20:09:17 GMT
    Server: Apache/1.3.33 (Debian GNU/Linux) mod_perl/1.29
    P3P: CP="NON DSP NID ADM DEV OUR IND UNI NAV LOC TST"
    Expires: Tue, 31 Oct 1989 14:06:29 GMT
    Last-Modified: Tue, 07 Apr 2009 20:09:15 GMT
    Pragma: no-cache
    Content-Length: 43
    Cache-Control: no-cache
    Connection: close
    Content-Type: image/gif
    ----------------------------------------------------------
    Mc delta live header bunları gösterdi.
    form alanında bulamadığım birde y postu var değişken oda belki o belli sayılara bölünerek oluşturuluyordur belkide.Ama nerede eklenıyor posta onu göremedim.Muhtemelen lacremel'in dediği gibi javascriptle yapılan bir durum.

    JS bilgim o kadar yok acaba javascript ile giden veriyi modifiye etmek mümkün mü (mümkündür herhalde).Bilen arkadaş açıklayabilir mi acaba ?

    <script type="text/javascript" src="/freenetKomplettProduktCheck/app?digest=557f2081d45a7528f898e7e384717596&amp;pa th=%2Forg%2Fapache%2Ftapestry%2Fform%2FForm.js&amp ;service=asset"></script>

    şöyle bir import var onu indirmiştim bilgisayarıma headerlar ile ilgili fonksiyonlar gördüm ama sayfa içinde ki ajax ile alakalı olduğunu düşünüp vaz geçtim didiklemekten.Eğer bu dosyayla ilgiliyse açıklayabılecek arkadaş var mı acaba ?

    ayrıca evet sdemirkeser o adreste bir numara var ama çözemedim refererda kontrol ediyor olsa gerek
  • 07-04-2009, 23:53:51
    #8
    referer basit curl ile ayarlarsin onu da js leri takip edip nereye post ettigini bulursan gerisi kolay
  • 07-04-2009, 23:56:49
    #9
    Üyeliği durduruldu
    adamlar sağlam kasmış üstad güvenlik için. hepsinden önce o resim linkinde de sayı heç değişiyor.

    sen normal curl gönderdiginde. resmi çağırmamışta oluyorsun.

    resmide bir kere cagirmayi denersen birşey cikabilir