اطلاعیه

Collapse
No announcement yet.

Socket Progarmming With PHP [Part II]t

Collapse
X
 
  • Filter
  • زمان
  • Show
Clear All
new posts

  • Socket Progarmming With PHP [Part II]t

    درود
    پس از استقبال شما عزیزان از قسمت اول مقاله سوکت نویسی با زبان PHP بر آن شدم که پس کامل کردن موضوعات آن ، قسمت دوم را عنوان سوکت نویسی و اکسپلویتینگ در زبان PHP عرضه کنم.
    به مرور فهرست موضوعی مقاله با کمی توضیح میپردازیم (قسمتهای جدید ستاره دار هستند):

    1- شروع برنامه نویسی با سوکتها همراه با تشریح یک مثال کامل(Let's start)
    2- امتحان و نحوه برقراری ارتباط با سرور نوشته شده با سوکت ها(Putting It All Together)
    3- ایجاد قسمت های اضافی برای سرور خود(Fortune's Fool)
    4- گرفتن بیش از یک مقدار از کلاینت توسط حلقه ها از سمت سرور(Looping The Loop)
    5- برقراری ارتباط با سرور از سمت کلاینت توسط مرور گر وب(On Web-bed Feet)
    6- استفاده از توابع سوکت نویسی برای ارتباط با سرور توسط مرور گر وب(Different Strokes)
    7- برقراری ارتباط با یک سرور POP3 و چک کردن تعداد ایمل ها از طریق سوکت نویسی(POP3 and Socket)
    8- **استفاده از توابع curl (cURL)
    9- **استفاده از PEAR برای سوکت نویسی و برقراری ارتباط (PEAR)
    10- **مقدمه بر اکسپلویت نویسی با زبان PHP (Remote Exploitation)
    11- **نوشتن اکسپلویت برای آسیب پذیری RFI (RE[Remote File Inclusion])
    12- **نوشتن اکسپلویت برای آسیب پذیری اجرای فرامین (RE[Remote Code Execution])
    13- **نوشتن اکسپلویت برای آسیب پذیری اجرای فرامین توسط توابع curl (RE[Remote Code Execution(CurL)])
    14- **نوشتن اکسپلویت برای آسیب پذیری بافر اورفلو(RE[Remote BufferOverflow])
    15- قسمت Extra که شامل یک بکدور کانکت بک با سوکت نویسی در PHP و** کد دور زدن safe mode که توسط Curl نوشته شده است.
    -----------------------------------------------------------------------------------
    خب دیگه کلیشه دیگه بسه!
    میخواستم یک برنامه جالب خدمتتون معرفی کنم!
    به نام PHP Socket Deamon
    چون خیلی با موضوع کار ما مرتبط بود گفتم براتون یکمی شرح بدمش!
    برنامه ای بسیار جالب برای ور رفتن با سوکت ها و کلا سوکت بازی است!
    به این مثال توجه کنید:
    کد PHP:
    <?php
        $daemon 
    = new socketDaemon();
        
    $server $daemon->create_server('httpdServer''httpdServerClient'02001);
        
    $daemon->process();
    ?>
    این 3 خط تمام آن چیزیست که شما برای ایجاد یک سرور به آن نیاز دارید البته با این برنامه!
    جا لبه نه؟!
    و یک خط برای ساختن کلاینت!!!!!!!!!!!
    کد PHP:
    <?php
        $client 
    $daemon->create_client('myClientClass''remote.com'80);
    ?>
    البته نیاز است که یک سری هم به کلاس myClientClass بزنید:
    کد PHP:
    <?php
    class myClientClass extends socketClient {
        public function 
    on_read()
        {
            
    // handle incomming data which is in $this->read_buffer, forexample the
            // following looks for \r\n, then parses the complete instruction to 'handle_request'
            
    while (($pos strpos($this->read_buffer,"\r\n")) !== FALSE) {
                
    $string trim(substr($this->read_buffer0$pos 2));
                
    $this->read_buffer substr($this->read_buffer$pos 2);
                
    $this->handle_request($string);
            }
        }

        
    // other event hooks that exist:
        
    public function on_connect() {}
        public function 
    on_disconnect() {}
        public function 
    on_read() {}
        public function 
    on_write() {}
        public function 
    on_timer() {}
    }
    ?>
    فکر میکنم طرف میخواسته یک چیزی مثل گلابی خودمون واسه سوکت ها بنویسه!
    مجموعه ای از کلاس ها برای سوکت نویسی.
    بقیه اش هم با خودتون!
    راستی من یک راه جالب یاد گرفتم واسه ساختن متغییر هایی با یک نام و مقادیر مختلف!
    البته نه تو کلاس هستند نه تو تابع که بگید خب میشه! هر جا دلتون بخاد میتونید اینکارو بکنید.
    اگه بلدید بگید نگم! اگر هم نه بگید بگم!
    با تشکر از تمامی شما عزیزان و تیم امنیتی شبگرد -- شهریار جلایری.

  • #2
    ممنون از شما
    این هم از طرف من واسه کسایی که دوست دارن php کار کنن و نمیخوان همه جا wamp یا وب سرور با php نسب کنن.
    این برنامه بهتون این قابلین رو میده که یه وب سروز پورتابل و راخت و ساده و بی درد سر حتی تو مموری کارت موبایل یا هر حافظه دیگه ای داشته باشید. اگه میخواین یه برنامه بنویسین اوکال باشه و تو سی دی بذارین مثلا واسه کو ئری یه سری دیتا بیس میتونین از این استفاده کنین.
    واسه دانلودش باید ایمتون بدین تا لینک واستون بیاد.
    اینم خود سایتhttp://portablewebap.com


    راستی اسنیک جریان این n0thing! چیه؟؟ :D
    Last edited by mserm; 05-01-2007, 06:33 PM.
    همه مان یک روز بالاخره بر سر این دوراهی خواهیم ایستاد …
    آنجا که همسرمان خواهد گفت : ” یا من ، یا اینترنت ؟! “
    و چه لحظه ی سختی خواهد بود ،
    لحظه جدایی از همسر … !

    Comment


    • #3
      چیزی نیست Rar بود میخواستم بود میخواستم zip کنم یه فایل .txt گزاشتم تا zip بشه!

      Comment


      • #4
        مرسی مشکل print داره هنوز این pdf ات نمی دونم با چی pdf کردی؟
        اون متغییر رو هم بگو ببینیم چیه ؟

        Comment


        • #5
          درود
          حامد جان اگه مشکل اساسی هست ، doc بدم بهت!
          اون متغییر چیزه خاصی نیست فقط به این صورت است :
          کد PHP:
          $x "The"
          بعد متغییر دوم رو اینطوری میشه:
          کد PHP:
          $$x "Unkn0wn"
          موقع استفاده هم به این صورت میشه:
          کد PHP:
          echo "$x ${$x}
          تو آرایه ها هم میشه ازش استفاده کرد:
          کد PHP:
          $$x = array("Shahriyar""Jalayeri"); 
          و بعد:
          کد PHP:
          $temp1 = ${$x}[0];
          $temp2 = ${$x}[1];
          echo 
          "$x $temp1 $temp2"
          تو کلاس هم میشه ازش استفاده کرد:
          کد PHP:
          class shahriyar {
          var 
          $foo "bar";
          }
          $shahriyar = new shahriyar;
          $v "shahriyar";
          echo $
          $v->foo
          در کل چیزه جالبیه:
          کد PHP:
          $x "The";
          $
          $x "Unkn0wn";
          $$
          $x "Security";
          $$$
          $x "Researcher";
          $$$$
          $x "Is";
          $$$$$
          $x "The";
          $$$$$$
          $x "Best";
          $$$$$$$
          $x "Researcher";
          $$$$$$$$
          $x "in";
          $$$$$$$$$
          $x "world!";
          echo 
          "$x ${$x} ${${$x}} ${${${$x}}} ${${${${$x}}}} ${${${${${$x}}}}} 
          ${${${${${${$x}}}}}} ${${${${${${${$x}}}}}}} ${${${${${${${${$x}}}}}}}}
          ${${${${${${${${${$x}}}}}}}}}"
          میتونید کل برنامه رو با یه متغییر بنویسید ، البته فکر کنم وسطاش خودتون دیونه بشید چه برسه به اون که بخواد برنامه شمارو بعدا بخونه.
          چیزه جالب و باحالیه! اسم این روش Variable Variables است!
          یکم گنگ هست یه 2-3 با تمرین کنید متوجه میشید!

          Comment


          • #6
            خیلی عالیه
            ممنون
            امیدوارم همینطور ادامه بدی
            Last edited by Fri3nds; 05-02-2007, 02:35 AM.
            احب الاعمال الي الله أدومها وان قل


            پیامبر اکرم (ص):
            محبوبترين كارها در پيش خدا كاريست كه دوام آن بيشتر است ، اگر چه اندك باشد .


            سایت شهر سامن: http://csamen.ir
            گالری تصاویر : http://gallery.csamen.ir

            Comment

            Working...
            X