رفتن به مطلب
بازگشایی انجمن! ×
GuardIran

Phoen1X

جاویدان
  • ارسال ها

    323
  • تاریخ عضویت

  • آخرین بازدید

  • روز های برد

    30

تمامی موارد ارسال شده توسط Phoen1X

  1. [Hidden Content] نفود به یکی از سایت های یکی از سرور های استرالیا و ومس دیفیس سرور بیش از 300 سایت هم در zone h و هم در aljyyosh ثبت شده ولی هنوز آرشیو نشدن
  2. Phoen1X

    آموزش آسیب پذیری های PHP و نحوه پچ کردن

    خب تاپیک رو شروع کنیم ببینیم تا کجا میریم بعد از دانلود GuardIran Vulnerable WebApp به پوشه ایی که ریختیدش برید و بعد پوشه includes رو باز کنید و فایل sql.php رو در ادیتور دلخواهتون باز کنید در مرورگر هم بعد از روشن کردن apache و mysql به آدرس localhost/name of your file برید . خب حالا شروع میکنیم : ببینید آسیب پذیری sql injection درحال حاضر فراگیر ترین آسیب پذیری موجود هستش و این آسیب پذیری فقط مخصوص php نیست و در زبان های دیگه مثل java هم رخ میده و نفوذ کردن هم متود های خیلی زیادی داره مثل Union Based , Time Delay Based , Boolean Based , Error Based و ... که من در این تاپیک نمی تونم به همش بپردازم چون که میشه صرفا آموزش نفوذ و برادران فیلترینگ تاپیک رو فیلتر می کنن ولی بعد از این تاپیک احتمالا آموزش کامل sql injection رو در بخش VIP بذارم اما چیزی که امروز یاد میگیریم روش union based هستش . اگر که در فایل sql.php به خط 40 برید با کد زیر مواجه میشید $id = $_GET["id"]; if (isset($_GET['id'])){ $conn = new mysqli($_sv, $_user, $_pass, "GIVuln"); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "SELECT id, user, email FROM login WHERE id='$id'"; $res = $conn->query($sql); if ($res->num_rows > 0) { while($row = $res->fetch_assoc()) { echo "<h3 class='text-center'style='color:#FFF;'>You Can Contact Me By This Email :<br/>" . $row['email'] . "</h3>"; } } else { echo "0 results"; } $conn->close(); همینطوری که می بینید در اینجا ما id رو توسط متود get از یوزر دریافت و با استفاده از query زیر id مربوط به یوزری که در دیتابیس هست رو پیدا و ایمیل مربوطه رو نمایش میدیم SELECT id, user, email FROM login WHERE id='$id' خب ما هیچ فیلتری انجام ندادیم و به یوزر خودمون به صورت کامل اطمینان کردیم اما اگر یوزر ما یک نفوذ گر باشه میاد و صفحرو با گذاشتن یک ' و " تست می کنه و query ما به شکل زیر در میاد SELECT id, user, email FROM login WHERE id='$id'' خب میبینید که یک ' باز و بسته شده ولی دیگری بسته نشده برای همین mysql به ما ارور رو نشون میده و بدین صورت نفوذگر میفهمه که صفحه اسیب پذیر هستش و حالا باید با استفاده از یک روش ارور رو برطرف کنه بطوری که بتونه query خودش هم که میخواد اجرا شه رو در اون قرار بده برای همین منظور میاد از دستور union استفاده می کنه که این دستور میاد و به mysql میگه SELECT id, user, email FROM login WHERE id='$id' این کد رو اجرا کن و در کنارش کد من هم اجرا کن ولی قبلش باید ارور رو برطرف کنه برای همین ما میایم با استفاده از --+ و /+ بقیه کد رو کامنت میکنیم تا ارور نگیریم اما حالا ما نیاز داریم که بفهمیم که من در دستورم از چند کالومن استفاده کردم شما توی دستور بالا می بینید که 3 تا هستش ولی ما باید خودمون تست کنیم و این رو پیدا کنیم برای همین میایم از دستور order by استفاده می کنیم این دستور میگه که mysql نتایج رو بر اساس کالومن شماره فلان مرتب کن اما نتایج در صفحه برای شما ظاهر نمی شه ولی در واقع داره پشت صفحه در محیط mysql اجرا میشه و وقتی از تعداد کالومن های مورد استفاده برنامه نویس بیشتر شد ارور میده و میگه که من بیشتر از این کالومن ندارم که بخوام به شما نشون بدم به اینصورت ما میفهمیم که صفحه چند کالومن داره که اجرای order by به شکل زیر هستش [Hidden Content]' order by 1--+ اروری دریافت نشد :( [Hidden Content]' order by 2--+ اروری دریافت نشد :( [Hidden Content]' order by 3--+ اروری دریافت نشد :( [Hidden Content]' order by 4--+ ارور دریافت شد :) خب صفحه میگه من چهار تا کالومن ندارم که به شما نشون بدم برای همین میفهمیم که از 3 کالومن استفاده شده حالا باید با استفاده از دستور union select بفهمیم که برنامه نویس داره از کدوم کالومن استفاده می کنه که دستورات به شکل زیر هستش ولی خب الزامی نیست که ما 1و2و3و... وارد کنیم میتونیم هرچیزی دلمون خواست وارد کنیم مثلا a,b,c [Hidden Content]' union select 1,2,3-- متاسفانه در بین دوستانی که آموزش میدن یک باور غلطی وجود داره و اون اینه که میگن union select کالومن یا ستون آسیب پذیر رو نشون میده ولی نه در واقع اینطور نیست بلکه این دستور میاد زیر هرکدوم از ستون ها اون چیزی که مانوشتیم رو مینویسه و فقط اونی به ما نشون داده میشه که برنامه نویس در اسکریپت ازش استفاده کرده اگر به سورس صفحه دقت کنید من فقط گفتم که email رو نشون بده و در query ایمیل من به عنوان ستون شماره سوم انتخاب شده و قاعدتا شماره 3 برای من نمایش داده میشه خب حالا من میتونیم در شماره 3 اون چیزی رو که میخوام بهم نشون بده رو بنویسم یعنی بگم جداول رو به من نشون بده اما من که اسم دیتابیس رو نمی دونم برای همین میام از تابع database() استفاده می کنم و می نویسم [Hidden Content]' union select 1,2,database()-- که برای شما باید givuln رو نمایش بده حالا اسم دیتابیس رو فهمیدم ولی اسم جدول رو نمیدونم اما این رو میدونم که در mysql ورژن 5 به بالا در دیتابیس information_schema جدولی وجود داره به اسم tables که تمامی جدول ها در اون ذخیره میشن برای همین میام با استفاده از دستور union به دیتابیس میگم که تمامی اطلاعات ستون table_name (ستونی هستش که در اون نام تیبل ها نوشته شده)از اون اون جدول رو به من نشون بده جایی که table_schema(ستونی که در اون نام دیتابیس هستش) برابر باشه با دیتابیس خودمون که به این شکل هستش [Hidden Content]' union select 1,2,table_name from information_schema.tables where table_schema=database()--+ که در اینجا بعد از نقطه نام جدول و در شماره 3 مینویسم table_name تا اطلاعات اون به من نمایش داده بشن. الان به دو روش میتونید کار کنید یا همینطوری بگردید دنبال اسم جدول یا با استفاده از دستور limit دونه دونه چک کنید که به شکل زیر هستش [Hidden Content]' union select 1,2,table_name from information_schema.tables where table_schema=database() limit 0,1--+ که این دستور به این صورت عمل می کنه که اول شماره خروجی رو تایین می کنیم و بعد تعداد اطلاعاتی که میخوایم بعد از هر بار زدن برای ما نمایش داده بشه ادامه در پست بعد ...
  3. Phoen1X

    آموزش آسیب پذیری های PHP و نحوه پچ کردن

    به نام خدا در این تاپیک قصد دارم تا آموزش آسیب پذیری های PHP و نحوه پچ کردن اون هارو آموزش بدم پیش نیاز این تاپیک اسکریپتی هست که من برای تیم نوشتم(اینجا) و آشنایی ابتدایی با زبان php در این تاپیک سعی میکنم که آسیب پذیری هارو به صورت کامل یعنی اول برسی میکنیم که چطور این آسیب پذیری به وجود میاد بعد این که یک نفوذگر چطور با استفاده از این آسیب پذیری به وب سایت شما نفوذ می کنه و بعد هم نحوه پچ کردن اون آسیب پذیری. سر فصل آموزش ها : - SQL Injection - Blind SQL Injection - Authentication Bypass - File Upload - Stored Cross Site Scripting - Reflected Cross Site Scripting - Dom Cross Site Scripting - Cross Site Request Forgery - Remote File Inclusion - Local File Disclosure/Download - Remote Code Execution - Remote Command Execution تاپیک به مرور زمان آپدیت خواهد شد پس لطفا با اسپم های بی جا خرابش نکنین سوالی داشتید میتونید در پ.خ و یا در بخش مربوطه بپرسید
  4. [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] MASS
  5. [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] Mass
  6. [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] MASS
  7. [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content]
  8. [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] MASS
×
×
  • ایجاد مورد جدید...