اخطار! : Capcha (کدامنیتی) قابل عبور است!!

k2-4u

Well-Known Member
سلام خدمت همه دوستان :rose:
همون طور که می دانید کد های امنیتی capcha , image capcha , securty capcha ,securty image
که همش یک معنی رو میده . و برای این استفاده میشه که . سیستم انسان رو شناسایی کنه
و جهت امنیت رمز عبور یا جلوگیری از spam استفاده میشه که
نقش بسیار مهمی در امنیت سایت داره . در بسیاری از
شرایط به دلیل مشکل در ساختار به راحتی قابل عبور است !!! مثل کد امنیتی phpnuke (در این تاریخ ) .
شاید شما بگین که کد های امنیتی به وسیله تلاش های خیلی زیاد یا آدم های خیلی
باهوش و ابر رایانه یا ..... کرک می شه ولی اینطور نیست !! . شاید کم تر از 1 ساعت !!!
و با کمی فکر !! + توابع gd در php !! به وسیله یک شخص معمولی قابل کرک باشه
عکس های زیر به راحتی قابل کرک هستند :evil:

modules.php

(phpnuke)

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

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

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

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 یک کد امنیتی می سازه
عکس باز میشه . در داخل فرم هم همین عکس نشون داده میشه
به شکل زیر
HTML:
<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:
 

پیوست ها

  • bad1.jpg
    bad1.jpg
    2.1 کیلوبایت · بازدیدها: 20
  • bad2.gif
    bad2.gif
    1.3 کیلوبایت · بازدیدها: 320
  • good1.bmp
    5.5 کیلوبایت · بازدیدها: 62
  • good2.png
    good2.png
    398 بایت · بازدیدها: 316
آخرین ویرایش:

Allahparast

Member
مثلا تو کد امنیتی می تونیم دو تا عدد رو جمع / ضرب / تقسیم ... کنیم و حاصلش رو کاربر باید وارد کنند :D
قبلا همون روسیه ای ها کد امنیتی هاشون یادمه فرمول بود که باید حل می کردی :shock:
 

k2-4u

Well-Known Member
مثلا تو کد امنیتی می تونیم دو تا عدد رو جمع / ضرب / تقسیم ... کنیم و حاصلش رو کاربر باید وارد کنند :D
قبلا همون روسیه ای ها کد امنیتی هاشون یادمه فرمول بود که باید حل می کردی :shock:

بله این هم راه خوبیه . ولی اگر . فرمول هاش . قابل پیشبینی
باشه باز هم به درد نمی خوره .
سایت php.net هم برای ارسال مطلب . از این سیستم استفاده کرده

البته ..................... این نکته رو هم بگم اگر داخل عکس باشه
و . به صورت تصادفی فرمول بسازه دیگه حرف نداره
 
آخرین ویرایش:

Allahparast

Member
بله این هم راه خوبیه . ولی اگر . فرمول هاش . قابل پیشبینی
باشه باز هم به درد نمی خوره .
سایت php.net هم برای ارسال مطلب . از این سیستم استفاده کرده

البته ..................... این نکته رو هم بگم اگر داخل عکس باشه
و . به صورت تصادفی فرمول بسازه دیگه حرف نداره
یه چندتا سایت روسی بود که تو فرمولها تو تصاویر بود فکر نکنم اصلا کرک بشه
اگه پیدا کنم حتما میزارم ببینید
 

mosi20

Active Member
شرمنده دوستان ممکنه بگین چجوری اینکار را میکنند؟
زیاد شنیدم ولی دنبال یه برنامه میگردم که همچین کاری را انجام بده.
اگه کسی از دوستان داره بزاره که استفاده کنیم.
من برای کپچا نمیخوام استفاده کنم.
برای خواندن متنهای روی یه عکس میخوام استفاده کنم که همه جور علامتی هم داره.
مثلا . , _-@ این علامت ها را داره.
 

k2-4u

Well-Known Member
شرمنده دوستان ممکنه بگین چجوری اینکار را میکنند؟
زیاد شنیدم ولی دنبال یه برنامه میگردم که همچین کاری را انجام بده.
اگه کسی از دوستان داره بزاره که استفاده کنیم.
من برای کپچا نمیخوام استفاده کنم.
برای خواندن متنهای روی یه عکس میخوام استفاده کنم که همه جور علامتی هم داره.
مثلا . , _-@ این علامت ها را داره.

به این کار میگن image Processing
اگر اشتباه نکنم برای خوندن ایمیل می خوای :wink:
من که برنامه ای نمیشناسم
خودم با توابع gd در php می نویسم :rose:
اگر دوستان سراغ دارن به ممنون میشیم
 

k2-4u

Well-Known Member
اگر ممنوع نباشه یه مقاله کامل برای عبور از کد های
امنیتی با php می نویسم :rose:
 

mosi20

Active Member
مهم نیست کدش چی باشه.
اگه با php نوشتی هم به دردم میخوره.
یه اسم دیگه هم داشت الان یادم نیست.
خیلی دنبال برنامش گشتم ولی پیدا نکردم.
یعنی کسی از این برنامه ها نداره؟
 

foranyone

Well-Known Member
اگر ممنوع نباشه یه مقاله کامل برای عبور از کد های
امنیتی با php می نویسم :rose:
می تونی مقاله رو به به صورت pdf متشر کنی بعد از طزیق یاهو و پیغام خصوصی برامون لینکش رو بفرستی :D

البته ..................... این نکته رو هم بگم اگر داخل عکس باشه
و . به صورت تصادفی فرمول بسازه دیگه حرف نداره

من زیاد با فرمول موافق نیستم خیلی ها از کاربران اینترنت حتی نمیدونن کد تصویری برا چی گذاشته شده

و چیکار باید بکنن چه برسه بیان فرمول حل کنن و نتیجه رو وارد کنند !:-?

مگر جمع و تفریق های ساده که اونا هم به راحتی هک میشه !

کسی تا حالا با GD فارسی نوشته ؟ فارسی فکر نمیکنم هک شه !

درست مثل اینه که یه کپچا چینی بینیی:D کورش مطمئنم نمی تونی از چینی رد شی :lol:
 

k2-4u

Well-Known Member
می تونی مقاله رو به به صورت pdf متشر کنی بعد از طزیق یاهو و پیغام خصوصی برامون لینکش رو بفرستی :D
100% این کارو می کنم :wink:


من زیاد با فرمول موافق نیستم خیلی ها از کاربران اینترنت حتی نمیدونن کد تصویری برا چی گذاشته شده

و چیکار باید بکنن چه برسه بیان فرمول حل کنن و نتیجه رو وارد کنند !:-?

مگر جمع و تفریق های ساده که اونا هم به راحتی هک میشه !
موافقم . امنیتش خوب میشه ولی کاربر بیچاره میشه :lol:
جمع و تفریق ساده هم . فرقی نداره بازم کرک میشه


کسی تا حالا با GD فارسی نوشته ؟ فارسی فکر نمیکنم هک شه !
درست مثل اینه که یه کپچا چینی بینیی:D کورش مطمئنم نمی تونی از چینی رد شی
والا حمید بلاگفا در حال حاضر در نظر بدهیدش فارسی گذاشته ( البته فقط عدد فارسی ) !؟!
که نتونستم از پسش بر بیام :cry: (ولی بلاگفا asp یه gd نداره)

فکر کنم به فونتی که بهش میدی مربوط باشه که در gd بشه فارسی وارد کرد یا نه
 

foranyone

Well-Known Member

نه محسن جان OCR یه چیز دیگست ( مخفف: Optical Character Recognition )

OCR برای تشخیص تصویر استفاده میشه مثلا تشخیص پلاک ماشین با دوربین و .... ( کلا به نور مربوط میشه )

کشف captcha همون image procccesing یا پردازش تصویر هست .
 

foranyone

Well-Known Member
والا حمید بلاگفا در حال حاضر در نظر بدهیدش فارسی گذاشته ( البته فقط عدد فارسی ) !؟!
که نتونستم از پسش بر بیام :cry: (ولی بلاگفا asp یه gd نداره)

فکر کنم به فونتی که بهش میدی مربوط باشه که در gd بشه فارسی وارد کرد یا نه

فکر می کنم اگه بتونیم فارسی بنویسیم مشکل حله ! من الان تاهوما رو برا فارسی امتحان میکنم نتیجه رو میگم !
 

Allahparast

Member
می تونی مقاله رو به به صورت pdf متشر کنی بعد از طزیق یاهو و پیغام خصوصی برامون لینکش رو بفرستی :d



من زیاد با فرمول موافق نیستم خیلی ها از کاربران اینترنت حتی نمیدونن کد تصویری برا چی گذاشته شده

و چیکار باید بکنن چه برسه بیان فرمول حل کنن و نتیجه رو وارد کنند !:-?

مگر جمع و تفریق های ساده که اونا هم به راحتی هک میشه !

کسی تا حالا با gd فارسی نوشته ؟ فارسی فکر نمیکنم هک شه !

درست مثل اینه که یه کپچا چینی بینیی:d کورش مطمئنم نمی تونی از چینی رد شی :lol:
شما مگه رد کردین که میگین ساده هست ؟
در مورد فارسی هم با حرفتون کاملا موافقم
اگه میشه این کپچ چینی رو یه نمونه اش رو بزاری
 

foranyone

Well-Known Member
تونستم فارسی بنویسم ولی فونت ها اولا به هم نمی چسبن ! ثانیا عدد فارسی نتونستم ! ثالثا جهت نوشته ا چپ به راسته !

کورش یه پیشنهاد :d

جلوی عکس بنویسیم نام یه پسر :

و این عکس رو نمایش بدیم :
 

پیوست ها

  • captcah.PNG
    captcah.PNG
    1.5 کیلوبایت · بازدیدها: 3

foranyone

Well-Known Member
شما مگه رد کردین که میگین ساده هست ؟


اگه میشه این کپچ چینی رو یه نمونه اش رو بزاری

نه من رد نکردم ولی مطمئنا جمع و تفریق های ساده به راحتی هک میشه چون جمع و تفریق

4 پنج رقمی که نمیدی به کاربر ! مثلا هیچوقت نمیگی حاصل 5145445 ضربدر 5454424 چی میشه ؟!:-?

مجبورین از جمع و تفریق های ساده استفاده کنید مثل 12 + 10 چند میشه ؟

به این دلیل میگم سادست که طرف میتونه با یه حلقه ی for اعداد 1 تا 1000 رو امتحان کنه !

کپچای چینی هم مثال بود عزیزم !

یعنی اینکه ما از فونت چینی سر در نمیاریم چه برسه بخوایم ازش رد بشیم ! وگرنه نگفتم عکس با حروف چینی بزاریم !

کاربرای خارجی هم از فارسی سر در نمیارن که بخوان هکش کنن!:wink:
 

k2-4u

Well-Known Member
در رابطه با جمع و تفریق حق با حمیده
چون کارکتر های + - / * مثل همه حروف و اعداد قابل شناسایی یه پس.....

کورش یه پیشنهاد :d
فکر نمی کنم . خوب باشه چون وارد کردنش . مشکل مشه ؟!؟!
از نظر منطقی هم من نتونستم کرک کنم . یکی دیگه ممکنه بتونه

ولی اگه حروف مثل حالت معمولی فارسی به هم بچسبند . باشند
جالب میشه . چون دیگه نمیشه به این راحتی ها الگو روش گذاشت و کارش تمومه در
غیر این صورت نتها تاثیری که داره . اینه که . دامنه کارکتر ها بیشتر میشه
من پیشنهاد می کنم . نکاتی رو که نوشتم رو رعایت کنه آدم و راحت !!!

ثانیا عدد فارسی نتونستم
میگم فونتشو عوض کن شاید شد !!
مثلا فونت فارسی بگذار .
 

Allahparast

Member
من یه سورس دارم که فارسی حالیشه(همون فونت فارسی تعریف شده) :d
دوما مگه فقط این جور محاسبات هست ؟ 7-8*2 فکر نکنم چیز شاخی باشه :)
 

k2-4u

Well-Known Member
من یه سورس دارم که فارسی حالیشه(همون فونت فارسی تعریف شده) :d

خیلی ممنون میشیم سورستو بگذاری .

مگه فقط این جور محاسبات هست ؟ 7-8*2 فکر نکنم چیز شاخی باشه
خوب یه نمونه خوبشو مثال برن ؟ . مشکل اینجاست که باید یه طوری باشه
که کاربر بیچاره نشه . بره برنامه matlab برا حلش باز کنه !!!
 

Allahparast

Member
همون جی دی فارسی که فکر کنم کار کردی فونت نستعلیق ....
در مورد فونت هم خوب می تونید کاراکترهای انگلیسی رو فونتش رو عوض کنید در آخر کسی می تونه رد کنه من رد نکردم یکی از دوستام رد کرده ازش می پرسم جواب رو میذارم همینجا :rose:
 

پیوست ها

  • gd-farsi_0.6.zip
    97.1 کیلوبایت · بازدیدها: 68

جدیدترین ارسال ها

بالا