• 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
اخطار! : Capcha (کدامنیتی) قابل عبور است!!
#1
سلام خدمت همه دوستان :rose:
همون طور که می دانید کد های امنیتی capcha , image capcha , securty capcha ,securty image
که همش یک معنی رو میده . و برای این استفاده میشه که . سیستم انسان رو شناسایی کنه
و جهت امنیت رمز عبور یا جلوگیری از spam استفاده میشه که
نقش بسیار مهمی در امنیت سایت داره . در بسیاری از
شرایط به دلیل مشکل در ساختار به راحتی قابل عبور است !!! مثل [کد امنیتی phpnuke (در این تاریخ )
شاید شما بگین که کد های امنیتی به وسیله تلاش های خیلی زیاد یا آدم های خیلی
باهوش و ابر رایانه یا ..... کرک می شه ولی اینطور نیست !! . شاید کم تر از 1 ساعت !!!
و با کمی فکر !! + توابع gd در php !! به وسیله یک شخص معمولی قابل کرک باشه
عکس های زیر به راحتی قابل کرک هستند Exclamation

[عکس: modules.php?name=Your_Account&op=gfx&random_num=2014030]
(phpnuke)

و چند عکس در ضمیمه هست اونهای که اسمشون bad هست هم قابل کرک هستند
شامل
bad1.jpg -> سیستم نظر بدهید mihanblog
bad2.gif -> سیستم نظر بدهید blogfa (که در حال حاضر تعویض کرد!!)

good1.bmp -> نمونه یک capcha خوب و معمولی
good2.png -> نمونه یک capcha خوب و معمولی (که دوستمون D.A.V.O.O.D درست کرده )

پس چه باید کرد ؟ Huh
در ساخت کد های امنیتی باید از قوانینی پیروی کنید که خیلی ها نمی کنند !! تا کاری کنید که کد امنیتی . در 1 ساعت کرک نشه !! و به قول دوستامون به وسیله تلاش های خیلی زیاد یا آدم های خیلی
باهوش و ابر رایانه یا ..... کرک بشه Smile
این نکات عبارتند از ...

1.که خیلی ساده هست . اینه که کد امنیتی باید عکس باشه . نه text !!!

2.از تمامی حروف و اعداد استفاده شود (اگر از حروف فارسی هم استفاده کنید که بسیار عالی می شود !!)

3.تا می توانید در کد های امنیتی از ایجاد نظم جلوگیری کنید !!

4. از رنگ های تصادفی برای هر کدام از کارکتر ها و یا خط پشت آنها استفاده کنید

5. محدوده رنگ ها را کوچک نکنید (برای مثال بین قرمز و قرمز روشن ) چون هیچ تاثیری نداره (قابل کرک هست)

6.کارکتر ها را روبه چب و راست بر مبنای یک عدد تصادفی کج کنید . بسیار مهم است
توجه کنید عداد باید تصادفی باشند در غیر این صورت . بدون تاثیر هستند ! . (طرف الگو رو به اندازه مشخص کچ می کنه )

7. اگر در پشت کد امنیتی برای گمراه کردن از خطوطی استفاده می کنید . سعی کنید . نظم نداشته باشند
چون باز هم بی تاثیر می شوند

8.از پسوند های jpg و bmp استفاده کنید زیرا تعداد رنگ های آنها بیشتر است (برای مثال شما در یک عکس jpg
میبینی که یک قسمتی سیاه رنگ هست . وقتی در photoshop روش زوم می کنی میبینی همون سیاه از 10 تا
رنگ تو رنج سیاه ساخته شده . حالا همون عکس رو به gif تبدیل میکنی و میبینی که همه اون قسمت تک رنگ سیاه شده !! )

9..در ساخت کد امنیتی از چندین فونت باز هم به صورت تصادفی استفاده کنید

10. از همه مهم تر است و ...... باز هم خیلی ها از قلم میندازند !!

اینه که بعد از ساخت یک کد امنیتی خوب . چطور ازش استفاده کنیم .
کار رو با یک مثال جالب از یک کد امنیتی به ظاهر غیر قابل عبور شروع می کنم

ما اینجا یک کد امنیتی بسیار قوی داریم که در آدرس
http://site.com/capcha.jpg?c=DH3K45KG78HBH74I7YJHhghgU
که با استفاده از DH3K45KG78HBH74I7YJHhghgU یک کد امنیتی می سازه
عکس باز میشه . در داخل فرم هم همین عکس نشون داده میشه
به شکل زیر
کد پی‌اچ‌پی:
<form method="POST" action="">
<
img src="http://site.com/capcha.jpg?c=DH3K45KG78HBH74I7YJHhghgU"/>
<
input type="hidden" value="DH3K45KG78HBH74I7YJHhghgU" name="Imagecode"/>
<
input type="text" name="UserCode"/>
<
input type="submit"/>
</
form

در کد بالا کاربر کد امنیتی که در عکس میبینه رو در فیلد UserCode وارد می کنه .
و همون طور که میبینید در فیلد Imagecode هم از یک کد با الگوریتم بسیار پیچیده استفاده شده
( که بیلگیتس هم نمی تونه ازش سر در بیاره . و اگه ببینه سیکته می کنه اون وقت بی windows میشیم ) .
وقتی کاربر submit رو میزنه . 2 مقدار به سمت سرور میره . کد Imagecode یه شکل اولش در سرور بر می گرده
و با Imagecode مقایسه میشه . اگر برابر بود . یعنی شما آدم هستی و وارد میشی

حالا برای عبور از این کد بالا فقط لازمه شما همین فرم بالا رو یک بار با دست پر کنی بعد تا 9999999E بار
هم تکرارش کنی کار می کنه .

خوب برای جلوگیری فقط لازمه از کدی استفاده کنیم که فقط یک بار قابل استفاده باشه . که دیگه به خلاقیت شما
بستگی داره
3 را همین الان به نظرم می رسه
1. استفاده از زمان
2. استفاده از session
3. بگردین یه الگوریتم خوب پیدا کنید !!!

و این نکته رو هم بگم که از هر الگوریتمی استفاده می کنید لازمه خاص و پیچیده باشه
من دیدم بعضی ها میاد کد ها رو میچینن کنار هم مثلا با تاریخ به این طورت 3da3s_12 بعد base64
میکنند باید این نکته رو به دوستان بگم که هکر ها و کرکر ها هیمشه فکر اینجا رو می کنند در ضمن
امکانات هم دارند برای مثال برنامه ای که . کد گذاری های معروف قابل برگشت رو نه به یک صورت بلکه
10000 صورت تست می کنند

از دوستان خواهش دارم اگر الگوریتم های خوبی سراغ دارند
بگذارند

در این آدرس هم یک اسکریپت capcha با قابلیت تنظیم بسیار خوب براس استفاده هست
http://www.ejeliot.com/pages/2 که خیلی خوبه :wink:
  پاسخ
#2
شما یه مقدار موضوع رو پیچوندین
در مورد ایجاد تصویر که خب درست گفتین و باید یه مقدار مطلب رو پیچوند تا توسط OCR ها خونده نشه. اما در مورد نحوه ایحاد میشه با استفاده از تابع rand این کار رو انجام داد. و در داخل فرم فیلدی مثل Imagecode نباید وجود داشته باشه و میشه به این صورت عمل کرد
کد پی‌اچ‌پی:
<form method="POST" action="">
<
img src="http://site.com/capcha.php"/>
<
input type="text" name="UserCode"/>
<
input type="submit"/>
</
form
که فایل capcha,php هم فایل تصویر رو تولید می کنه و هم اینکه رشته ایجاد شده رو در session قرار میده تا در درخواست ارسال به صفحه مورد نظر UserCode با session بررسی بشه. فقط برای اینکه captcah.php رو مرورگز از کش نخونه باید به صورت random یه چیزی رو به به اولش اضافه کنیم. مثلا به صورت زیر


کد پی‌اچ‌پی:
<form method="POST" action="">
<
img src="http://site.com/capcha.php?<?php echo time();?>"/>
<
input type="text" name="UserCode"/>
<
input type="submit"/>
</
form
  پاسخ
تشکر شده توسط : Alimokhlesi k2-4u cyletech amir.s paull
#3
صحبت شما رو کاملا قبول دارم .
من یک نمونه .کاملا بدون امنیت رو مثال زدم .
زیاد هم دیدم این کار رو کردن
مثل سیستم نظر میهن بلاگ
بله من موافقم بهترین روش برای capcha
استفاده از جلسه (session) است

ویرایش : یاهو هم از این سیستم استفاده می کنه اما الگوریتم های که استفاده کرده .
خیلی قوی هستند . کد ها هم به صورتی هستند که . در یک دقیقه . معتبر هستند
  پاسخ
تشکر شده توسط :
#4
حرف همتون رو قبول دارم ولی فعلا بهترین نوع capcha اون Recapcha هست که در یک دانشگاه برنامه نویسی شده. اطلاعات بیشتر رو ویکی پدیا در اختیارتون قرار میده! بعد از اون هم capcha ی سایت opera هست که هم جالبه و هم تشخیص دادنش سخته! خودتون ببینید متوجه میشید. ولی من قصد دارم روی سیستمم یک capcha بنویسم که قوانینش رو خودم نوشتم. اگر تموم بشه حتما نمونش رو در یک تاپیک تازه معرفی می کنم.
غایب
  پاسخ
تشکر شده توسط :
#5
(۱۳۸۸ مرداد ۲۲, ۱۱:۴۲ ب.ظ).v0id نوشته: حرف همتون رو قبول دارم ولی فعلا بهترین نوع capcha اون Recapcha هست که در یک دانشگاه برنامه نویسی شده. اطلاعات بیشتر رو ویکی پدیا در اختیارتون قرار میده! بعد از اون هم capcha ی سایت opera هست که هم جالبه و هم تشخیص دادنش سخته! خودتون ببینید متوجه میشید. ولی من قصد دارم روی سیستمم یک capcha بنویسم که قوانینش رو خودم نوشتم. اگر تموم بشه حتما نمونش رو در یک تاپیک تازه معرفی می کنم.
بهترین captcha به نظر من ماله گوگل هست. البته سخترین captcha ماله rapidshare هست
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان