Author Archive

تیر
۲۷

به دنبال یک برنامه نویس php و یک گرافیست در مشهد هستم

شرایط و نحوه همکاری برای برنامه‌نویسان پی‌اچ‌پی :
• حضور در محل کار
• مسلط به php
• مسلط به DreamWeaver
• آشنایی متوسط با بالا با Mysql
• نظم و حضور به موقع در ساعت های توافق شده
• توانایی انجام کار گروهی
• قرارداد ساعتی ( توافقی )

چنانچه دارای تخصص‌های زیر نیز باشید در اولویت قرار خواهید گرفت:
- تسلط به اژاکس
- آشنایی با جی‌کوئری

شرایط و نحوه همکاری برای گرافیست‌ها:
• حضور در محل کار
• مسلط به فتوشاپ
• مسلط به یک نرم‌افزار طراحی برداری:
ترجیحا Adobe Illustrator و سپس FreeHand / Corel Draw
• نظم و حضور به موقع در ساعت های توافق شده
• قرارداد ساعتی ( توافقی )

چنانچه دارای تخصص‌های زیر نیز باشید در اولویت قرار خواهید گرفت:
• تسلط به Adobe InDesign

در صورت تمایل رزومه کاری خود را به آدرس aazam.zandi@gmail.com ارسال کنید .

اردیبهشت
۳۱

باورم نمیشه که دو ماه گذشته و نتونستم اینجا رو آپدیت کنم . هر بار که مطلبی در اینجا قرار میدم با خودم میگم از این به بعد بیشتر مینویسم و زودتر آپدیت می کنم ! تقصیر من نیست گناهش به گردن مشتریانی است که قبل از عید ناپدید میشوند و بعد از عید همه با هم سر و کلشون پیدا میشه و همه هم عجله دارند!!

این روزها درگیر تکمیل وب‌سایت نهان بودم که بالاخره هفته گذشته تکمیل شد و شما میتونید برای بازدید از این وب‌سایت اینجا کلیک کنید. بعد از مدت‌ها کار کردن با پنل مدیریتی که تقریبا ۴ سال پیش برنامه نویسی اون رو انجام داده بودم تصمیم گرفتم یک پنل مدیریتی جدید با استفاده از اژاکس و با امکانات جدید برای پروژه‌ها درست کنم و این کار رو زمستان گذشته که حجم کارهای شرکت زیاد نبود با کمک همکاران انجام دادیم و برای اولین بار هم در وبسایت نهان ازش استفاده کردیم . از دیگر ویژگی‌های این سایت استفاده زیاد از جی کوئری ‌هاست که نسبتا کار مشکلی بود به دلیل اینکه گاهی کامپوننت‌های مختلف جی‌کوئری در کنار یکدیگر به خوبی کار نمی کنند. با این وجود تصمیم دارم در آینده بیشتر با جی کوئری‌ کار کنم.

بعد از مدت‌ها برنامه نویسی تحت وب یک برنامه تحت دسکتاپ رو قبول کردم که تصمیم دارم با سی‌شارپ انجامش بدم. پیش از این برنامه‌های تحت دسکتاپ رو با دلفی انجام می‌دادم. گرچه برای مدتی فکر کردن به اینکه از دلفی به دات نت کوچ کنم، غیر قابل تصور بود اما با توجه به اینکه دلفی بازار رو از دست داده فکر می کنم تبدیل به یک ضرورت شده. با توجه به اینکه همیشه یکی از باورهایم این بوده که یک برنامه نویس نباید متعصب باشه نسبت به کدی که می‌نویسه یا زبان برنامه نویسی که استفاده می کنه -چرا که یک برنامه نویس متعصب با توجه به سرعت تغییر ات تکنولوژی تبدیل به یک فسیل مغزی خواهد شد باور ندارید امتحان کنید !! – تصمیم گرفتم شروع کنم و این کوچ رو انجام بدم نتیجه اینکه این روزها در حال برنامه‌نویسی با سی‌شارپ هستم.

از تمام دوستانی که ایمیل زدن و پیام گذاشتن که در هک سایت‌ها بهشون کمک کنم و سپس تلاش کردن من رو هک کنند سپاسگذارم اما همینجا اعلام می‌کنم نوشتن دو پست دراین مورد لزوما به معنای این نیست که من یک هکر هستم! در واقع هیچوقت اینکار رو نکردم و تصمیم هم ندارم اینکار رو انجام بدم.

با توجه به توضیحی که در پاراگراف اول دادم نمی دونم پست بعدی کی خواهد بود !!

اسفند
۲۸

یک‌سال دیگه هم با همه خوبی‌ها و بدی‌هاش گذشت. گرچه باید اعتراف کنم سالی که پشت سر گذاشتم پر از استرس و تنش در زندگی شخصی ‌ام و فراتر از اون در ابعاد اجتماعی و سیاسی  بود اما درس‌های بزرگی هم  با خودش داشت که باید با تعمق به آن‌ها نگریست. باید به روبرو نگاه کرد و امیدوار بود شاید این تنها کاری باشه که میشه انجام داد.

امیدوارم سال ۸۹ سالی پر از شادی، سلامتی ، رفاه برای بازدیدکنندگان این وب‌سایت و همه افرادی باشه که نوروز رو جشن می‌گیرند.

هر روزتان نوروز ، نوروزتان پیروز.

اینم تمبر نوروز ۱۳۸۸

دی
۱۶

ب) کلاهبرداری از طریق  کد شناسایی سامانه نام دامنه ( DNS ID Spoofing )

بر اساس آنچه در مطلب پیشین گفته شد، کامپیوترA برای ارتباط با یک سایت، باید آی‌پی سایت مربوطه را داشته باشد. اما از آنجا که در اغلب موارد کامپیوتر A فقط نام دامنه سایت مورد نظر را میداند لذا برای بدست آوردن آپ‌پی آن ،ابتدا به یک DNS Server متصل می گردد. چنانچه این DNS Server ( در ادامه با نام سرور شماره یک از آن یاد خواهیم کرد ) اطلاعات مربوط به آی‌پی سایت مورد نظر را نداشته باشد باید از یک DNS Server دیگر ( در ادامه با نام سرور شماره دو از آن یاد خواهیم کرد ) که دارای اطلاعات سایت مورد نظر است ، آی‌پی سایت را تقاضا ‌کند.

در این حالت کامپیوترA باید یک تقاضا به سرور شماره یک ارسال کند اما پیش از آن (همانند یک نامه اداری) یک کد شناسایی منحصربفرد (کد رهگیری) به در خواست خود اختصاص داده سپس آن را برای سرور شماره یک ارسال می‌کند. سرور شماره یک نیز در پاسخ آی‌پی سایت مورد نظر را به همراه کد شناسایی درخواست ، به کامپیوترA باز می‌گرداند. کامپیوترA با دریافت پاسخ و بررسی کد شناسایی متوجه میشود پاسخ کدامیک از تقاضاها را دریافت کرده است.

آیا این روش ایمن است؟ نه کاملا! بدین معنا که هکرها می‌توانند تقاضای ارسال شده را در بین راه شنود کرده ودر نتیجه یک پاسخ نادرست همراه با شماره درخواست اصلی برای کامپیوترA ارسال کنند.

توجه به این نکته ضروری است که تقاضای کامپیوترA به هر حال به سرور شماره یک می رسد و هکرها باید مانع رسیدن پاسخ سرور یک به کامپیوترA شوند درغیر اینصورت این مسئله برای مسئولان شبکه به عنوان سیگنالی مبنی بر حمله به شبکه تلقی خواهد شد. چرا که هکر برای شنود پکیج‌های داده و همچنین پینگ سریع کامپیوترA باید بر روی یک شبکه مشترک با سرور یک و کامپیوترA قرارداشته باشد.

همانطور که در تصویر فوق نمایش داده شده است هکرها در این روش DNS SERVER را آلوده نمی کنند بلکه فقط به یک استفاده کننده حمله می‌کنند.

ج ) حملاتی دقیق‌تر بر اساس پارادوکس تاریخ تولد

همانطور که در روش (ب) توضیح داده شد هکرها برای پیدا کردن کد شناسایی یک تقاضا مجبور به شنود اطلاعات هستند و برای این کار نیز باید بر روی یک شبکه مشترک بین استفاده کننده و DNS SERVER قرار داشته باشند. برای حل این مشکل آن‌ها با ترکیب روش الف و ب ، روش جدیدی برای نفوذ خود ایجاد می‌کنند یعنی آلوده کردن کش DNS SERVER به کمک ID درخواست داده شده بدون شنود شبکه و با استفاده از االگوریتم پارادوکس تاریخ تولد.

اجازه بدید در ابتدا نگاهی به مفهموم عبارت ” پارادوکس تاریخ تولد ” بیاندازیم.

فرض کنید در یک میهمانی شرکت کرده‌اید. شما از شخص دیگری که در همان میهمانی حضور دارد تاریخ تولدش را می‌پرسید احتمال آنکه تاریخ تولد شما با تاریخ تولد این فرد همزمان نباشد ۳۶۴/۳۶۵ و یا به عبارت دیگر ۰٫۹۹۷ است بنابراین احتمال آنکه تاریخ تولد هر دوی شما یکی باشد ۰٫۹۹۷-۱ می‌باشد یعنی ۰٫۰۰۳

حال اگر شما از شخص دیگری در همان میهمانی تاریخ تولدش را بپرسید احتمال آنکه هر سه شما تاریخ تولد یکسانی نداشته باشید ۰٫۹۹۲=(۳۶۴/۳۶۵)*(۳۶۳/۳۶۵) خواهد بود و احتمال یکسان بودن تاریخ تولد برای دو نفر از شما ۰٫۰۰۸=۰٫۹۹۲-۱ می‌باشد.

چنانچه شما روش فوق را ادامه دهید تا جائیکه تعداد شرکت کنندگان در میهمانی به ۲۳ نفر برسد آنگاه احتمال آنکه تاریخ تولد شما با فرد دیگری درهمان میهمانی یکسان باشد ۵۰ درصد خواهد بود.

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


#define POSSIBILITIES 365.0
void main (void)
{
float chances;
int i, j;
for (i = 1; i < 100; i++)
{
for (j = 1, chances = 1; j < i; j++)
chances *= (float)((POSSIBILITIES - j) / POSSIBILITIES);
;printf("For %d people, chances are %f\n", i, 1-chances)
}
}

در جدول زیر خروجی کد فوق را می‌توانید مشاهده کنید.

People 2 9 16 23 30 37 44 65 79
Chances 0.0027 0.0946 0.2836 0.5073 0.7063 0.8487 0.9329 0.9977 0.9999

 

حال بر میگردیم به موضوع اصلی، همانطور که در روش (ب) توضیح داده شد هکرها برای پیدا کردن کد شناسایی یک تقاضا مجبور به شنود اطلاعات هستند حال این پرسش مطرح می‌گردد که آیا راه دیگری برای بدست آوردن این کد شناسایی وجود دارد؟ آیا می‌توان این کد شناسایی را حدس زد ؟

پاسخ : بله

مراحل کار:

هکر(ها) تقاضاهای بیشماری برای دریافت آپ‌پی سایت www.cnn.com به‌DNS SERVER شماره یک ( سرور قربانی ) ارسال میکنند. DNS SERVER شماره یک اطلاعات مربوط به آی پی سایت www.cnn.com را ندارد به ازای هر تقاضای رسیده یک تقاضای جدید ( با یک کد شناسایی مشخص برای هر یک ) بهDNS Server شماره دو که اطلاعات مربوطه را دارد می‌فرستد هکرها بلافاصله شروع به ارسال پاسخ‌های آلوده به سرور شماره یک میکنند.


هکرها نمیدانند DNS SERVER شماره یک از چه کد شناسایی برای یک درخواست استفاده می کند بنابراین تعداد زیادی درخواست به آن ارسال کرده تا با بالا رفتن تعداد درخواست‌ها احتمال یکسال بودن کد شناسایی یکی از پاسخ‌های آلوده با کد شناسایی یکی از درخواست‌های سرور شماره یک به سرور شماره دو افزایش یابد.

با توجه به آنکه کد شناسایی در دو بایت ذخیره می گردد برای حدس زدن کد شناسایی هکرها باید ۶۵۵۳۵ حالت ممکن را در نظر بگیرند بنابراین آنها ۶۵۵۳۵ پاسخ تقلبی به سمت سرور متقاضی ارسال می‌کنند تا بالاخره یکی از کدهای شناسایی پاسخ‌های آلوده با یکی از کد‌های شناسایی تقاضاهای ارسال شده توسط سرور شماره یک یکسان شده و سرور یک آن را به عنوان پاسخ بپذیرد.

اما برای ارسال ۶۵۵۳۵ پاسخ به سمت سرور متقاضی پهنای باند بالایی نیاز است.

نکته‌ای که باید به آن توجه شود این است که هکرها نیازی به ارسال ۶۵۵۳۵ پاسخ آلوده به سمت سرور متقاضی ندارند بلکه بر اساس الگوریتم ” پارادوکس تاریخ تولد ” با ارسال ۶۵۰ تا ۷۵۰ درخواست ، احتمال آنکه آنها بتوانند موفق شوند در حدود ۰٫۹۶۰۴۱۱یعنی ۱۰۰% خواهد بود !

به کد زیر و جدول نتایج آن توجه کنید.


#define POSSIBILITIES 65535.0
void main (void)
{
float chances;
int i, j;
for (i = 0; i < 800; i+=50)
{
for (j = 1, chances = 1; j < i; j++)
chances *= (float)((POSSIBILITIES - j) / POSSIBILITIES);
printf("For %d fake replies, chances are %f\n", i, 1-chances);
}
}

Queries 50 100 150 200 250 300 350 400 500 550 650 750
Chances 0.0185 0.0728 0.1569 0.2621 0.3785 0.4961 0.6069 0.7048 0.8517 0.9008 0.9604 0.9865

 

سرور شماره یک پس از دریافت پاسخ آلوده، این پاسخ را جهت پاسخگویی سریعتر به درخواست‌های بعدی تا مدتی در کش خود نگهداری میکند و بدین ترتیب کش DNS SERVER آلوده میگردد. دراین روش هکرها بر خلاف روش (ب) نه یک استفاده کننده نهایی بلکه یک Server DNS را هدف حملات خود قرار داده‌اند.

 

منابع :

http://www.technicalinfo.net/papers/Pharming2.html
http://www.securesphere.net/download/papers/dnsspoof.htm

موضوع: اينترنت  كليد‌واژه‌ها: , , , , ,  ۳ پيام‌ها