چرا گنو/لینوکس را دوست دارم: بررسی سال های تولد در اطلاعات افشا شده ۳۰۰۰۰۰۰ کارت بانکی

در بخش کامنت های مطلب نقدی بر برنامه بی بی سی در مورد جریان انتشار سه میلیون کارت اعتباری ، همایون گفته بود که:

درود. کارهای آماری جالبی میشه با داده‌ها انجام داد. به عنوان مثال احتمال این که آدمها تاریخ تولدشون رو به عنوان رمز انتخاب کنن بالاست. به دنبال ۱۳۶ بگردبن در فهرست رمزها و مقایسه‌اش کنین با هر عدد ۳ رقمی دیگه‌ای. (۱۳۷ و ۱۳۵ و ۱۳۴ هم تعدادشون بالاست). من اگه دنبال دزدی بودم از اینجا شروع میکردم.

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

اگر شما علاقه ای به خط فرمان یا حوصله اش رو ندارین و فقط نتیجه کار رو می خواین… سریع اسکرول کنین پایین تا برسین به نمودارهای آخر (:

اگر هنوز با من هستین بگم که اینکارها دقیقا به همین ترتیب انجام شدن و مطمئنا روش های بهتری دارن…. در اصل شما دارین چرک نویس رو می خونین تا ببینین قدم ها چطوری برداشته شدن.

در قدم اول همه صفحات بانک تجارت رو باز می کنم، با ctrl+A متنشون رو کپی می کنم و توی یک ادیتور متنی paste می کنم. من توی لینوکس برای اینکار از gedit استفاده کردم که ادیتور ساده و دم دستی گنوم است… مشخصه که اگر توی ویندوز بودم خود این یک ماجرا بود که کدوم ادیتور ممکنه بتونه این پیست رو قبول کنه و آخ نگه.

به خاطر کپی پیست من فقط متن های توی صفحه ها رو دارم… چیزهایی مثل این:

با یک دستور تمام خط هایی که توشون + هست رو جدا می کنیم. اینها خط های حاوی پسورد هستن:

grep "+" all_tejarat.txt > only_hesab_and_pass

اوه اوه! شد این:

و ادیتور توی باز کردنش یک آخ ملایمی گفت (سی ثانیه ای طول کشید تا باز بشه) چون دوستمون حتی یک انتر هم نزده و در نتیجه با خطوطی طرف هستیم که یک میلیون کاراکتر در هر خط نوشته شده‌ (: قاعده طبق گفته خودش اینه:

رمز مخفي , شماره کارت + رمز مخفي , شماره کارت + رمز مخفي , شماره

پس من برای راحت کردن کارم، همه + ها رو تبدیل می کنم به سر خط:

jadi@jubung:~/Desktop$ sed -e "s/\s+[+]*\s*/\n/g" only_hesab_and_pass > har_password_yek_khat
jadi@jubung:~/Desktop$ head har_password_yek_khat 
رمز مخفي , شماره کارت
رمز مخفي , شماره کارت
رمز مخفي , شماره کارت 6273531000000002,73251531609013
6273531000000087,42984601252954
6273531000000105,90683196772477 6273531000000145,14810051866743
6273531000000146,61558146155078
6273531000000150,14869351127492 6273531000000151,87078051710776
6273531000000201,17221491685028
6273531000000222,32833487680537 6273531000000232,06865382135692
6273531000000232,69595659033276

راستش درست نفهمیدم چی شد! درست کار نکرد ولی بد هم نبود… حالا یک قدم دیگه باید تیکه تیکه کنم این فایل رو. فاصله ها رو به سر خط تبدیل می کنم‌ (:

jadi@jubung:~/Desktop$ sed -e "s/ /\n/g"  har_password_yek_khat > har_password_yek_khat_2
jadi@jubung:~/Desktop$ head -20 har_password_yek_khat_2 
رمز
مخفي
,
شماره
کارت
رمز
مخفي
,
شماره
کارت
رمز
مخفي
,
شماره
کارت
6273531000000002,73251531609013
6273531000000087,42984601252954
6273531000000105,90683196772477
6273531000000145,14810051866743
6273531000000146,61558146155078

و حالا همه چیز مرتبه. فقط باید پسوردها رو جدا کنم. خط هایی که توشون , هست رو جدا می کنم و می دم به یک دستور دیگه که در هر خط، اعداد اول خط تا رسیدن به کاما رو حذف می کنه. پس می مونه فقط پسوردها. می تونین نگاه کنین که چطوری با | خروجی یک دستور رو دادم هب ورودی دستور بعدی:

jadi@jubung:~/Desktop$ grep  ".," har_password_yek_khat_2 | sed "s/^.*,//" > all_passwords
jadi@jubung:~/Desktop$ head all_passwords 
73251531609013
42984601252954
90683196772477
14810051866743
61558146155078
14869351127492
87078051710776
17221491685028
32833487680537
06865382135692

حله (: ببینیم چند تا پسورد داریم:

jadi@jubung:~/Desktop$ wc -l all_passwords 
118499 all_passwords

صد و هجده هزار عدد چهارده رقمی داریم که پسوردها توشونه. حالا می ریم سراغ بررسی نظریه اصلی:

مردم احتمالا سال تولدشون رو به عنوان پسورد می ذارن.

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

#!/usr/bin/perl

while ($userinput =  ) {
	chomp ($userinput);
	for($i = 0; $i <= 10 ; $i++) {
		print  substr $userinput, $i, 4;
		print "\n";
	}
}

این برنامه ورودی رو می خونه و قسمت های چهار رقمی رو ازش جدا می کنه:

jadi@jubung:~/Desktop$ echo "73251531609013" | ./find_numbers.pl 
7325
3251
2515
5153
1531
5316
3160
1609
6090
0901
9013

درست کار می کنه پس برنامه رو کامل می کنم:

#!/usr/bin/perl

@passes = ();
for($i = 0; $i <= 9999 ; $i++) {
	$passes[$i] = 0;
}


while ($userinput =  ) {
	chomp ($userinput);
	for($i = 0; $i <= 10 ; $i++) {
		$thispass = substr $userinput, $i, 4;
		$passes[$thispass] += 1;
	}
}

for($i = 0; $i <= 9999 ; $i++) {
	print $i, ",",$passes[$i],"\n";
}

این برنامه همه ورودی رو می خونه و از هر خط همه پسوردهای محتمل رو خارج می کنه و می شمره و می ره سراغ خط بعدی و در نهایت می گه هر عدد چند بار ممکن بوده به عنوان پسورد انتخاب شده باشه. بعد از اجرا خروجی اش چیزی شبیه اینه:

jadi@jubung:~/Desktop$ cat all_passwords | ./find_numbers.pl  > all_passwords_charts
jadi@jubung:~/Desktop$ head all_passwords_charts 
0,163
1,150
2,135
3,122
4,137
5,141
6,123
7,138
8,122
9,133

حالا که اینها رو داریم کافیه بریم سراغ برنامه LibreOffice برای کشیدن نمودارها. مثلا این نمودار اول است:

دیده می شه که یک جاهایی پیک داریم. بذارین یک سورت هم بکنم به ترتیب فراوانی و یک نمودار دیگه از صد تا از پرکاربردترین ها بکشیم ببینیم چی در می یاد.

اوه! نظریه دوستمون تقویت شد: مردم از سال تولد برای پسوردها استفاده می کنن (: واضح بود ولی خب از این بازی لذت بردیم و تازه یک نظریه رو هم هرچند کم،‌ تقویت کردیم. همینطوره ترکیب های «خوش دست» روی کیبورد (:

نظرتون چیه برای اختتامیه یک آمار هم بگیریم از تعداد ارقام؟ مشخصه که یک تغییر کوچیک در برنامه است فقط:

#!/usr/bin/perl

@passes = ();
for($i = 0; $i <= 9 ; $i++) {
	$passes[$i] = 0;
}


while ($userinput =  ) {
	chomp ($userinput);
	for($i = 0; $i <= 13 ; $i++) {
		$thispass = substr $userinput, $i, 1;
		$passes[$thispass] += 1;
	}
}

for($i = 0; $i <= 9 ; $i++) {
	print $i, ",",$passes[$i],"\n";
}

و نتیجه:

jadi@jubung:~/Desktop$ cat all_passwords | ./find_numbers.pl  > all_digits
jadi@jubung:~/Desktop$ cat all_digits 
0,157054
1,180318
2,169604
3,175258
4,166898
5,169252
6,162562
7,158727
8,160099
9,159214

هاه.. می بینین که احتمال استفاده از ۷ و ۹ پایینه (این رو قبلا هم شنیده بودم) و احتمالا استفاده از یک و سه بالا (: توجه داریم که در صورت درست بودن الگوریتم اعداد رندم استفاده شده برای «مخفی کردن» پسوردها، یک نویز سفید اون پایین داریم که احتمالا مساوی پخش شده.

رادیو گیک شماره ۵ – هکرها و اساتید

این شماره رو بهروز وثوقی با خوندن حکم آق حسینی شروع می کنه تا ما جرات کنیم اسم بخش هکرها رو به بخش اساتید تغییر بدیم که مجبور نشده باشیم واقعیت های جهان بیرون رو توی قالب های خودمون فرو کنیم. نگاهی کوتاهی به صنعتی داریم که به جای اسمش خودمون بوق سانسور می زنیم و بعد می ریم سراغ هکرها و هکرها. در اخبار و در اعماق اتفاقات رو مرور می کنیم که به شکل عجیبی اینبار شدیدا روی هکرها تمرکز دارن – از اون خزی که روی بدن دوست دخترش برای اف بی آی پیام نوشت تا هکرهایی که دور هم جمع می شن که به بی خانمان های آمریکا کمک کنن. این شماره شیپور تسلیت ها رو تبریک ها رو می نوازیم به افتخار بچه های آلبرتا که دولتشون عکس دایناسور محلی شون رو گذاشته روی سکه های بیست و پنج سنتی. در بخش موزیک… Yıkılmadım.

[audio:http://jadi.net/audio/jadi-net_radio-geek_005_hackers_vs_masters.mp3]

یا از اینجا دانلود کنید و اگر به دلیلی نامشخص، کشورتان رادیوگیک را سانسور می کند، از در پشتی وارد شوید یا به احترام آزادی نسخه OGG اون رو دریافت کنین.


آرس اس اس رادیو گیک

رادیو گیک در آیتونز

رادیو گیک – شماره پنجم – اساتید و هکرها

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

شماره پنجم رادیو گیک رو شروع می کنیم که پر است از اخبار هکرها. در بخش اخبار به خبرهای نگفتی می پردازیم، با کرنل ۲.۴ خداحافظی می کنیم و می بینیم که اف بی آی چجوری یک هکر ناشناس رو دستگیر کرده. بعد سوار زیردریایی می شیم و به اعماق آب ها می ریم تا لایه پایین تری از خبر رو ببینیم که شدیدا مربوط به هکرها است و بعد هم جرات می کنیم تا اسم بخش هکرها رو به بخش اساتید تغییر بدیم تا یادآوری کرده باشیم که این ما هستیم که دنیای اطرافمون رو می سازیم و اگر چیزی ساختیم و برامون کار نکرد، لازم نیست به زور چیزهایی که می خوایم رو در قالبش فرو کنیم. به قول دکتر عبداللهی، قالب ها برای این درست می شن که بتونن واقعیت رو تعریف کنن ولی ما بعد از مدتی قالب ها رو اجزای خشکی از جهان می بینیم و شروع می کنیم به چپوندن واقعیت ها در قالب هایی که داریم… در بخش هکرها من می خواستم یک مقاله از رییس بخش عکاسی گاردین براتون بخونم ولی این آقا هکر نبود. دو تا چاره داشتیم: الکی بگیم هکره تا تو قالب هکرها جا بشه یا اینکه بیخیال بشیم و بریم سراغ یک مطلب دیگه.. ولی دوست خوبم پیام همیشه می گه «هر وقت سوالی بهتون دادن با چند تا گزینه، سریع به این فکر کنین که آیا گزینه دیگه ای هم موجوده که بهش فکر نشده؟» و واقعا اینطوره… از این شماره بخش هکرها تغییر اسم می ده به بخش اساتید، تا بتونیم واقعیت های بیشتری رو توش جا بدیم.

اخبار

پایان عمر کرنل ۲.۴

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

صنعت ایکس

این هفته مطلب جابی توی بیزنس ویک نگاه داشت به پورن و مخاطبین و درآمدهاش. خود مقاله خیلی جالبه. از یک طرف به این خاطر که از ابزاری برای تحلیل استفاده کرده که می تونه بهشون در مورد کاربران این سایت ها آمار بده (از جمله اینکه محدوده سنی شون چیه، به چه چیزهای دیگه ای علاقه دارن و اینها) و از نظر فنی هم جالبه چون می که یکی از سایت های مشهور ۴.۴ میلیارد بازدید کننده در جهان داره که مردها ۷۵٪ مراجعین هستن. این سایت در حدود ۲۹ پتابایت انتقال اطلاعات ماهانه داره یعنی پنجاه گیگ در ثانیه که حداقل چهارصد گیگابیت بر ثانیه نیاز داره. البته برای متوسط! بحث اینه که باید جوابگوی پیک مصرف باشه پس حدس زده می شه حداقل یک ترابیت بر ثانیه پهنای باند داشته باشن این سایت ها و این یعنی مهندس های فوق العاده ای برای این شرکت ها کار می کنن.

ناشناس علیه چین

«دولت شما اینترنت را در کشورتان کنترل می کند و چیزی که فکر می کند برای خودش خطرناک است را سانسور. ما در این دیفیس ها می خواهیم شورشمان علیه این وضعیت را نشان دهیم. این باید متوقف شود. ما از شما نمی خواهیم ساکت باشید. شما هم باید مقاومت کنید، شورش کنید و فرد آزادی باشید که همیشه می خواستید» بلکه ! بعدش هم ترجمه چینی هست و طبق اخرین آمار روی پونصد و یک سایت دولتی چینی.

و دستگیری هکر ناشناس از رو عکس دوست دخترش

خدا ما رو مرگ بده! یکی از هکرهای ناشناس که سایت های دولتی آمریکا رو هک کرده بود و اطلاعاتش رو منتشر این هفته توی استرالیا دستگیر شد. چجوری؟ طرف حین یکی از کرکری خوندن هاش برای اف بی آی، یک کاغذ چسبونده به کمر دوست دخترش که در وضعیتی خاص ایستاده و روش برای اف بی آی پیام فرستاده که
PwNd by w0rmer & CabinCr3w <3 u BiTch's اونم با یک متن لیت خاص (توضیح لیت). پلیس ها از عکس کشف کردن که روی آیفون گرفته شده و بعد اطلاعات جی پی اسش رو دیدن و خونه یارو کشف کردن و بعد اکانت فیسبوک خودش و دوست دخترش رو زیر نظر گرفتنش و به موقع دستگیرش کردن… درس اخلاقی اینکه هکر انانیموس هم می تونه خز باشه! از خز بودن فرستادن عکس آنچنانی دوست دختر که بهش نوشته چسبونده(!!) به اف بی آی تا حماقت در برنداشتن اطلاعات عکس و غیره و غیره.

توییتر توییک های مای اسکیوئلش رو اوپن سورس کرد

مای اسکوئل تکنولوژی اصلی پشت بانک های اطلاعاتی توییتر است: مسایل مورد علاقه، تایم لاین ها ، خود توییت ها و اطلاعات کاربرها همه توی مای اسکیول ذخیره می شن و به دلیل حجم عظیم اطلاعات توییتر و نیاز به کوئری های سریع، این شرکت تغییرات زیادی توی این رابط های این اطلاعاتی آزاد داده که حالا توی گیت هاب منتشرشون کرده. مشخصه که من سر زیادی از جریان در نمی یارم ولی در سطحی بالاتر می شه از چیزهایی مثل بهینه کردن استفاده حافظه، کم کردن کار بی دلیل از طریق تایم آوت سرور سایداکسپورت و ری استور کردن بافر پول های اینو دی بی و بهینه کردن مای اسکوئل برای ماشین های اس اس دی نام برد.

در اعماق

معرفی سایت برای طرفداران امنیت

یک معرفی براتون اینجا برای کسانی که دوست دارن در مورد ایمنی اطلاعات بیشتری کسب کنن یا مهارت های نفوذشون رو بالا ببرن. سایتی هست به اسم exploit-exercises.com که مجموعه ای است از ویرچوال ماشین ها، داکیومنت ها و خوان ها که می شه یکی یکی خوندشون و ازشون گذشت. هر ویرچووال ماشین چند تا مشکل امنیتی داره که شما می تونین کشف و استفاده شون کنین. اگر کسی علاقمده به سیکیورتیی سایت خیلی خوبیه. دیسکلیمر هم بگم که من اصولا در این کارها نیستم و کلا هم معتقدم رشته سکیوریتی با اینکه اسمش جذابه ولی بیزنس های دیگه که اسمشون به این خوشگلی نیست ممکنه کم دردسرتر و راحت تر و پر درآمدتر باشن و لذت هک هم توشون خیلی خیلی بیشتر از آپدیت کردن فرم ور فایروال ها باشه (:

قانون پیشنهادی اروپا علیه هکرهای کلاه سفید

اتحادیه اروپا هنوز داره تلاش می کنه تا قانون «ضد ابزار هکری» خوش رو تصویب کنه. متن اصلی این قانون هنوز منتشر نشده اما بحث در موردش توی اتحادیه اروپا جریان داره. قانون بسیار احمقانه است و انواع و اقسام سازمان ها دارن سعی می کنن اینو به قانونگذاران اتحادیه اروپا که در خوبی از هک ندارن بفهمونن. ایده اصلی جرم اعلام کردن نفوذ به سایت ها یا حمله از طریق بات نت ها به سایت ها است و مجازات پیشنهادی در حد تا پنج سال زندان اما حدس زده می شه که جایی از متن قانون خواهد گفت که داشتن، تولید و توزیع ابزارهای هکری غیرقانونیه اما خط مرز و تعریف درستی از این ابزارها نمی ده. کیه که توی توزیع لینوکسش از تی سی پی دامپ تا ان مپ و وایرشارک نباشه. همینطوره ابزارهایی که رشته های تخصصی ازش استفاده می کنن مثل فازر یا متااسپلویت.

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

هک به نفع جامعه

یک مشکلی توی سیستم بهداشت جهانی وجود داره. بهداشت تجاریه و یکسری آدم می تونن پول داروهایی رو بدن که مشکلاتی درجه رو حل می کنن (مثلا فرآورده های پوستی یا بدنسازی) و یکسری هم هستن که حتی پول برای خرید داروهای حیاتی رو هم ندارن (مثلا مربوط به آبله یا سل) و در نتیجه شرکت های تجاری ترجیح می دن روی نیازهای گروه اول سرمایه گذاری کنن و در نهایت با کره زمینی مواجه هستیم که با اینکه می تونه سلامتی اش رو به شکلی وواضح بالاتر ببره، اما اینکار رو نم یکنه چون ازش پول در نمی یاد.

مشکلی تکنولوژی هم تا حدی همینه. شرکت ها شروع می کنن به عرضه ابزارهایی برای کسانی که می تونن پول خرج کنن و دنیا پر می شه از انگری بردز بدون اینکه کسی سعی کنه مثلا مشکل زیر برف موندن شیرهای آتش نشانی رو حل کنه. چون از اولی پول در می یاد از دومی نه.

برای این جریان راه حل هایی وجود داره. یکیشون خیریه است. با همه منفی بودن و رهایی بخش نبودن خیریه ولی به هرحال دادن پول غذا به یک پیرمرد که شغل نداره با همه بی معنی و فخرفروشانه و بازتولید نابرابری اش به هرحال باعث می شه یک آدم امشب گرسنه نخوابه. یکی از این خیریه ها الان داره توی سان فرانسیسکو اتفاق می افته. هکرها و بی خانمان ها کنار هم نشستن و دارن بحث می کنن که نیاز بیخانمان ها چیه تا شاید هکرها بتونن در یک پروزه آخر هفته حلش کنن. مثلا الان بیخوانمان ها باید از این گرمخونه به اون گرمخونه برن تا بفهمن کجا جا داره در حالی که اگر بتونن روی اسمارت فونشون یک کلیک کنن و ببینن که الان کدوم گرمخونه جا داره مستقیم به اونجا می رن. تعجب هم نکنین.. آمریکا با ایران فرق می کنه و یک بیخانمان حتی ممکنه شغل هم داشته باشه، چه برسه به اسمارت فون (:

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

اووم…. حالا که حرف اون شیرهای آتش نشانی که زیر برف می موندن رو زدم راه حل پیشنهادی رو هم بگم! یک گروه یک برنامه نوشتن که شما می تونین توش سرپرستی یکی دو تا شیر آتش نشانی رو بر عهده بگیرین. بعد هر بار که برف بیاد می رین سراغ شیر آتشنشانیتون، جئو لوکیشن این رو ثابت می کنه و بعد که برف روبی اش کردین و آماده به کار، ازش عکس می گیرین و می ذارین تو شبکه اجتماعی به همراه امتیازهاتون و درجه و عنوانتون به عنوان سرپرست شیرهای آتش نشانی. هر کس سرپرست بهتری باشه امتیاز بیشتری می گیره و درجه و توییت و این بازی ها. ظاهرا خیلی هم خوب کار کرده و آدم ها با هیجان منتظر برف هستن که برن امتیاز جمع کنن. به این می گن گیمیفیکیشن که یکبار باید در موردش مفصل صحبت کنیم ولی خلاصه اش همینه که از طریق تبدیل کارهایی که دوست نداریم به بازی، اونها رو انجام بدیم.

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

تبریک ها و تسلیت ها

تبریک می گیم به ویندوز ۳.۱ که من رو آورد تو محیط گرافیکی و حالا بیست سالش شده. از تو داس مثل یک پوسته اجراش می کردیم و توش دو تا پنجره اجرا می کردیم که ساعت رو نشون می دادن و بهش خیره می شدیم… باور نمیکنین! هر دو ساعت تکون می خوردن.. یعنی دو برنامه داشتن همزمان اجرا می شدن! بعد ماین سوییپر رو اجرا می کردیم و سعی می کردیم درست همزمان با حرکت عقربه ساعت کلیک کنیم که ببینیم در یک لحظه هم بازی کار می کنه هم ساعت داره می ره جلو…

تسلیت هم می گیم به خاطر مرگ آقای جک ترامیل Jack Tramiel ، موسس شرکت کمودور که کمودور ۶۴ش پر فروشترین کامپیوتر طول تاریخ شد. دومین کامپیوتر بچگی من بود و یک ابزار عالی برای درک کامپیوترها. آسوده بخواب جک که دنیا رو تکون دادی و بهت مدیونم برای کودکی های خوب.


و برای اینکه شاد تموم کنیم تبریک می گیم به کاندایی ها! نه برای اینکه این یارو رفته تو کشورشون با پول ما خوشحاله بلکه برای اینکه ضرابخونه سلطنتی شون که سکه ها رو می زنه بیکار ننشسته و بعد از ایده پول پلاستیکی و بعدش حذف پنی، یک سکه با تصویر دایناسور درست کرده (: تازه اونم یک دایناسور معمولی نه! یک پاچی راینو زاروس که در طول روز مثل یک جوجه مودب روی سکه نشسته و نور جذب می کنه تا اگر تو شب بهش نگاه کنین، استخون بندی بدنش در تاریکی بدرخشه… واقعا جای تبریک داره به بچه های آلبرتا که زادگاه این دایناسور هستن (: اونور این سکه بیست و پنج سنتی مخصوص مجموعه دارها هم منقش به تصویر خانم ملکه (:

هکرها

اینستاگرام: فیسبوک برای یک بیلیون دلار چی به دست می یاره؟

نوشته راجر توث رییس بخش عکاسی گاردین است و در نتیجه مهم به خاطر نویسنده مهم (: حرفش هم قشنگ بود پس کلمه به کلمه براتون ترجمه اش کردم و می خونم:

با شغلی که من دارم عجیب نیست که هی در مورد عکاس چیز بشنوم. سوال در مورد فکت هایی مثل اینکه عکس های گرفته شده در دوازده ماه قبل با کل عکس های گرفته شده در تاریخ بشر برابری می کنن همیشه مطرح می شن. خب بله کسانی هستن که از هر وعده غذاشون عکس می گیرند. یک همکارم هم با یکی از مهمان های یک عروسی صحبت کرده بود که با ید دوربین کنون ۵دی ام کا ۳ به قیمت سه هزار پوند از مهمون ها عکس می گرفت و در مقابل سوال اینکه «شما عکاس حرفه ای هستین» گفته بود «نه ولی می خوام عکسهام خوب بشن». یک بیلیون دلار اینستاگرام.

بله – یک بیلیون دلار برای یک نرم افزار اسمارت فون که اجازه می ده عکس هاتون رو شبیه عکس های قدیمی پولاروید بکنین و برای دوستاتون بفرستینشون. احتمالا کارهای دیگه ای هم می کنه اما نقل قول غیردقیقی از مارک ناپفلر می کنم تحت این عنوان که «کلی پول برای اگر نه دقیق هیچ چیز که چیزی خیلی کم».

حالا هم … می دونم که نباید اینو بپذیرم ولی من از بعضی از این برنامه های تغییر تون رنگی عکس ها خوشم می یاد. بعضی افکت ها قشنگ هستن و کاملا می تونن یک عکاس تازه کار رو خوشحال کنن. بی ضرر هستن و احتمالا طول عمرشون هم کم خواهد بود.

در نهایت فقط تصویر زیر این پروسس های الکترونیک است که ارزش داره. اکثر مواقع فیلترها اشکالات و نقاط ضعف عکس اصلی و شخص عکاس رو می پوشونن. این موضوع سریعا به یک کلیشه تصویری تبدیل خواهد شد و لازم خواهیم داشت کارهای جدیدی بکینم.

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

ولی چرا گرفتن عکس هنوز اینقدر مرسومه؟ چرا مردم هنوز دارن عکس می گیرن و سراغ فیلمبرداری نرفتن؟

خب شما خودتون ویدئو رو امتحان کردین؟ کار ویدئو تا وقتی که شروع به ادیت نکردین به نظر ساده می یاد. اگر یک ویدئوی بد گرفته باشین فقط با یک جک بد طرف نیستین بلکه یک جک بد حوصله سر بر تولید کردین. اما با عکاسی و برنامه های تغییر تون می تونین در یک لحظه اثری ادیت شده و آماده ارائه تحویل بدین. عکاسی به عنوان روشی برای نت برداری رو هم دست کم نگیرین، نه فقط برای ثبت لحظات زندگی بلکه به عنوان یک ابزار برای حرفه ای ها – از پزشک ها گرفته تا لوله کش ها – برای ضبط و انتقال وضعیت کارهاشون. ضرب المثلی هست که می گه هر تصویر ارزش هزار کلمه رو داره و حالا این هزار کلمه با یک فشار روی شاتر در حال تولید شدن هستن.

موسیقی

وحید قدم خوبی جلو گذاشت و آهنگ پیشنهاد داد. این هفته به پیشنهاد حمید با ماهسون هستیم و آهنگ “Yıkılmadım” که میشه “زمین نخوردم” که همون معنی شکست نخوردن و مقاومت کردن و … میده اینجا.

yikilmadim ayadayim

سرپا هستم و زمین نخورده ام

dertlerimle bas basayim

« bas basa» مثل سر به سر گذاشتن فارسی هست. یعنی «در جنگ با درد و غصه هایم هستم»

zalimlere kötülere yenilmedim buradayim

در برابر ظالم ها و بدی ها شکست نخوردم همینجا هستم.

رادیو گیک شماره ۰ – ورود اژدها و بیانیه دزدهای دریایی

از اینجا گوش بدین:

نزدیک سی دقیقه، سیزده مگ

[audio:jadi.net_radio-geek_000-dragon-pirates.mp3]

یا فایل ام پی تری شماره صفر رادیو گیک رو از اینجا دانلود کنید (یا اگر کشورتون جادی.نت رو سانسور می کنه، از اینجا)

یادداشت‌ها:

توروالدز از اوپن زوزه شاکی می شه
توروالدز که نویسنده اصلی هسته لینوکسه به عنوان توزیع اصلی از فدورا استفاده می کنه و به عنوان توزیع فرعی و روی کامپیوترهای متفرقه اش از زوزه. اخیرا هم ظاهرا برای دختر کوچیکش یک لپ تاپ مک بوک ایر خریده و روش زوزه نصب کرده و بعد از چند وقت یک مطلب وحشتناک خشن ضد زوزه توی پلاسش گذاشته. مشکل اصلی اش این بوده که زوزه زیاد پسورد روت رو میپرسه و مدت ها بوده در این مورد داشته توی باگزیلا باگ گزارش می کرده ولی عصبانیت جایی شروع شده که دخترش ا زمدرسه زنگ زده و گفته پسورد روت چیه.. اینم گفتم برای چی می خوای بابایی؟ اونم گفته چون می خوام پرینتر مدرسه رو اضافه کنم می پرسه! می دونین که توروالدز با کسی شوخی نداره. نوشته «اگر مسوول امنیت یک توزیع هستین و فکر می کنین که بچه من (یا مثلا مسوول فروش فلانجا یا هر مشتری دیگه که دارین) برای دسترسی به شبکه بی سیم یا چاپ کردن یک برگ کاغذ یا تغییر تنظیمات ساعت پسورد روت می خواد لطفا برین خودتون بکشین! دنیا اگه شما نباشین خیلی جای بهتری می شه. اون احمقی که فکر می کنه امنیت خوب یعنی پسورد پرسیدن برای هر چیزی عقلش مشکل داره» بعدش هم اضافه کرده که «من باید یک توزیع جدید پیدا کنم که راحت روی این مک بوک ایر نصب بشه».

جواب ها هم منطقی بودن (: مسوولهای اوپن زوزه گفتن که درسته که توروالدز اینو باگ ریپورت کرده ولی همه چیز هم به همین سادگی نیست و چند کارشناس امنیتی هم گفتن که بالاخره شرایطی هم هست که شرکت ها ترجیح می دن کارمندهاشون قادر به تغییر چنین چیزهایی نباشن و یکیشون هم اضافه کرده که «لینوس هوشش رو به جهان ثابت کرده و من بهش احمق نمی گم ولی باید درک کنه که شاید در شرکت عدم دسترسی به پرینترها و شبکه بی سیم بحث امنیتی باشه»

خلاصه اگر حس می کنین باید اینکار رو بکنین و از زبون توروالدز هم نمی ترسین، توزیع خوب برای مک بوک ایر رو بهشون پیشنهاد بدین (:

دو تا بازی!
بعله.. یکیش اسمش هست ماریو که البته به جای O آخر، صفر داره و به شکل عجیبی ترکیبی است از ماریوی کلاسیک و پورتال! یک ترکیب عجیب که کلی آدم رو به هیجان آورده. براش سرچ کنین.. ماریو و به جای او، صفر (به یاد پرتال).

اما بازی دوم که هیجان انگیزتر بود برای من یک MMORPG است که ریلیز شده برای ویندوز، مک و لینوکس. MM یعنی مسیولی مالتی پلیر! یک بازی با بازی کنندگان خیلی زیاد.. مثلا چند هزار و RPG هم یعنی رول پلینینگ گیم یا بازی ای که شما توش در نقش یک شخصیت بازی می کنین.. اسمش Wakfu است. سرچ کنین، می تونین توش جنگجوی سفت و سخت بشین یا تیراندازی سریع و سبک یا هر کدوم از ۱۲ نژاد موجود. این یک بازی MM است یعنی هزاران آدم مثل شما توشن. می تونین عضو یک کشور بشین و توی انتخابات شرکت کنین یا هرچی…. سرچ کنین.. شاید مثل من عاشق MMORPGها شدین: wakfu!

نتبوکتون رو با اندروید ایکس ۸۶، آندروید کنین

اندروید نسخه ایکس هشتاد و شیش یا همون نسخه مناسب برای پی سی های مرسوم رو داده. اگر یک کامپیوتر دارین که یک گوشه داره خاک می خوره،اندروید ایکس هشتاد و شیش رو دانلود، برن و نصب کنین تا قبل از همه با اندروید چهار آشنا بشین (: حتی می تونین توی یک ماشین مجازی اجراش کنین.

فوراسکوئر حالا از اپن استریت مپ استفاده می کنه

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

نسخه‌ای از آرچ برای کامپیوتر رپسبری پای

رپسبری پای همون کامپیوتر کوچیک و ساده ۲۵ دلاری است! حالا فقط دو هفته بعد از عرضه این کامپیوتر فوق العاده جذاب و هجوم مردم و خریدنش تا آخرین دونه و پیش فروش رفتن همه نمونه‌هاش، آرچ یک نسخه داده که می تونین از سایتش دانلود کنین و مستقیم روی اون نصب و اجراش کنین. این کامپیوتر قراره به خاطر سادگی و در دسترس پذیری اش، پایه ای بشه برای اینکه مردم یکبار دیگه به جای نگاه های عجیب و غریب به کامپیوترشون، درک کنن که یک کامپیوتر چه اجزایی داره و چجوری کار می کنه و علاقمند بشن براش برنامه بنویسن.

دستگیری هکرهای لالز

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

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

این عملیات با اطلاعاتی که خاویر مونسگور که تحت عنوان Sabu رهبری لالزسک رو در اختیار داشت به پلیس داده هدایت و برنامه‌ریزی شده. گفته می‌شه که سابو که بیکار و پدر دو فرزند است، از ماه جون گذشته، با پلیس مشغول همکاری بوده.

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

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

تا اینجا چیزی خیلی عجیب نیست. دیفیس (Deface) کردن یک سایت اصلا کار عجیبی نیست اما جریان از جایی حساس شد که مشخص شد هکرها به بانک اطلاعاتی پسوردهای کاربران سایت هم دسترسی پیدا کنن: یک مجموعه پسورد متنی رمزگذاری نشده!

هدف اصلی هکرها مشخص نیست. روی صفحه نوشتن که «سیستم ناامن، غسل تعمید داده خواد شد» و فروشگاه چند روزی تعطیل شده. فایل منتشر شده از پسوردها این شکلی است:

هک شدن یک سایت اصلا غیرطبیعی نیست و پیش می یاد ولی این خیلی غیرطبیعی است که یک فروشگاه آنلاین – اونم متعلق به یک شرکت عظیم به اسم مایکروسافت – اطلاعات کاربرانش رو توی یک فایل متنی به شکل متنی و سر راست و قابل دسترس از طریق وب سروری هک شده، نگهداری کنه.

منبع

گوگل هیچ وقت به شما ایمیل نمی‌زند که جایی لاگین کنید؛ مواظب فیشینگ باشید

الان یک ایمیل دیگه گرفتم از طرف ظاهرا گوگل که بهم می گه دیتابیس‌هاشون رو تغییر دادن و من باید دوباره لاگین کنم تا اکانتم بسته نشه. چون دفعه پیش یکی از دوستان خوب تو تله‌اش افتاده بود گفتم اسکرین شات بگیرم و بنویسم. من یک ایمیل گرفتم به این مضمون:

در بخش ۱ می بینین که می گه «اخطار! روی فلان کلیک کنید دو باره به سیستم ارد بشین تا اطلاعاتتون رو در دیتابیس سال ۲۰۱۲ گوگل نگه داریم». بخش دو هم که می گه ایمیل از بخش هشداردهی گوگل اومده.

اینکه باید چیکار کنم با یک قانون ساده حل می شه: گوگل هیچ وقت به کسی ایمیل نمی زنه که لطفا بیا فلان جا لاگین کن (: گوگل مطلقا دیتابیس هاش رو سر هر سال آپدیت نمی کنه. اکانت هیچ کس بدون اطلاع رسانی درست در تمام گوگل اکسپایر نمی شه و غیره و غیره. پس من نباید اینجا لاگین کنم و باید ایمیل رو بدون شک پاک کنم. وانمود کردن اینکه ایمیل از کس دیگه می یاد کار بسیار راحتی است (برای مثال نگاه کنید به مطلب « نکته امنیتی : به فرستنده ایمیل اعتماد نکنید)

ولی بذارین ببینیم با کی طرفیم. توی ایمیل یک لینک کوچولو هست (۳). من ماوسم رو روش نگه داشتم و نقطه چهار می بینم که این لینک به کجا می ره. ساده است دیدن اینکه این لینک به گوگل نیست. اون لینک رو کپی پیست می کنم توی براوزر (به عنوان یک نکته امنیتی روش کلیک نمی کنم بلکه کپی پیست می کنم تا مطمئن باشم می رم همونجا) و می رسم به این صفحه:

بامزه نیست؟ به دایره قرمز نگاه کنید. من حتی توی سایتی شبیه اسم گوگل هم نیستم ولی ناکس صفحه اولش رو شبیه گوگل درست کرده تا من گول بخورم. به اینکار می گن فیشینگ یا ماحی گیری (ماهی گیری تقلبی مثلا (: ))‌ اما من که توی دامش نیفتادم. شما هم نیافتین.. با همون قاعده ساده: هیچ کس به هیچ کس ایمیل نمی زنه که روی این لینک کلیک کن و اکانتت رو بده چون من دیتابیسم رو گم کردم، سال جدید شده، دوستت دارم، می خوام برات جایزه بفرستم، دارم اکانت های قدیمی رو پاک می کنم و …

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

پ.ن. اینکار هک نیست (: دزدی است. هک به معنی استفاده هوشمندانه از یک ابزار یا کشف جزییات عمیق یک چیز است (:

آپدیت:
یک دوست تذکر داد که همیشه بهتره از براوزرهای به روز و امن‌تری مثل فایرفاکس (بخصوص با افزونه اچ تی تی پی اس اوری ور) یا گوگل کروم استفاده کنیم. آدم ها ریپورت می کنن که این سایت ها دنبال دزدی پسورد هستن و بعد از مدتی این مرورگرهای معقول به شما در این مورد اخطار می دن. الان که چند ساعت از نوشتن اصل این مطلب گذشته، اون آدرس توی مرورگر موزیلا فایرفاکس اینطوری شده:

نکته امنیتی: به فرستنده ایمیل اعتماد نکنید

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

یک ایمیل است ظاهرا از طرف من برای یکسری از دوستان که می گه یک فایل اجرایی رو از سرور یک دانشگاه توی کانادا (که احتمالا ادمین از دسترسی هاش برای این آماتور بازی ها سوء استفاده می کنه) دانلود کنند و اجرا.

به اینکار می گن مهندسی اجتماعی: دزدی از طریق جلب اعتماد شما. از نظر فنی جعل آدرس ایمیل کار بسیار ساده ای است و هیچوقت کار غیرمعولی که از شما می خوان رو نباید با اعتماد به صاحب ایمیل انجام بدین. هویت در اینترنت چیز مسخره ای است و مگر اینکه واقعا از تکنیک های تایید هویت سر در بیارین و طرفتون هم یک دولت نباشه به هیچ وجه به هیچ هویتی اعتماد نکنین. چه برسه به آدرس ایمیل و عکس توی چت و این چیزها (:

در ضمن! حتی اگر عمو جادی هم گفت یک فایل اجرایی رو دانلود کنین و اجرا کنین، اینکار رو نکنین! شوخی که نداریم با کسی (: حالا این مورد خیلی خنده دار و بچه گونه بود (کی واقعا ممکنه برای خود جیمیل آدرس جیمیل رو جعل کنه و یک فایل اجرایی با پسوند اجرایی هم معرفی کنه!؟) ولی در کل ممکنه این کارها واقعا از طرف آدم های باهوشی انجام بشه که شما رو مطمئن کنه به انجام یک کار اشتباه. مواظب باشین و امن (: اگر هم واقعا به نظرتون مورد مهمی بود، یک تلفن به طرف بزنین یا توی چت ازش بپرسین یا بهش یک ایمیل جدا بنویسین (ریپلای نکنین!)

آپدیت ۳ زانویه: اگر دوست دارین یک کرکر ببینین، کامنت ها رو هم بخونین (:

چرا به گنو/لینوکس عشق می ورزم: خاطرات یک هکر

می‌دونین که من سفر کاری خیلی زیاد می رم . در یکی از از سفرها قرار شد یک دستگاه رو با یک دستگاه دیگه عوض کنن ولی یک سوال مهم باقی موند:

جادی عزیز، ما یک دیتابیس از ۳۰۰ هزار کاربر داریم که هش شده‌اند. حالا قرار است این افراد به یک سیستم جدید منتقل شوند اما لازم است پسوردهای آنان را داشته باشیم. شرکت سازنده نرم افزار اول و شرکت نویسنده نرم افزار جدید گفته‌اند که امکان کشف اینکه یک هش چه چیزی بوده وجود ندارد. شما راه حلی می‌شناسید؟

راه حل ساده است و مجموعه ای از اسکریپت نویسی جذاب (اینبار پایتون) و ترکیب کردن دستورات خط فرمان گنو/لینوکس. جریان چیه؟‌ اینها سیصد هزار شماره تلفن و پسورد دارند که مال یک سیستم خاص است. پسوردها هش شده‌اند. یعنی چنین چیزی:

9370333**** ea9bf866d98db73eb0909fa9c1cc1b11
9370050**** fcbfab2f4cda26061ed9e3ee96a4fd61
9370750**** 6a130f1dc6f0c829f874e92e5458dced
9370001**** 9ad97add7f3d9f29cd262159d4540c96

هش یک الگوریتم یکطرفه است که می‌تونه یک استرینگ رو به یک استرینگ پیچیده تبدیل کنه. مثلا الان پسورد نفر اول بعد از هش شدن (با الگوریتم md5) تبدیل شده به ea9bf866d98db73eb0909fa9c1cc1b11. این هش غیرقابل برگشت به پسورد اصلی است اما وقتی طرف مثلا سعی می کنه لاگین کنه و پسوردش رو لاگین می‌کنه، سیستم می‌تونه پسورد جدیدا وارد شده رو هش کنه و ببینه بازهم به همون هش سابق که ذخیره کرده (یعنی ea9bf866d98db73eb0909fa9c1cc1b11) می‌رسه یا نه. این تکنیک اجازه می‌ده ما چک کنیم طرف پسورد صحیح رو داره یا نه بدون اینکه مجبور باشیم پسوردش رو جایی ذخیره کنیم. حالا قراره این سیستم با یک سیستم دیگه که با هش متفاوتی کار می کنه جایگزین بشه و لازمه بی دردسر بودن جریان اینه که بشه پسوردها رو از این هش‌ها استخراج کرد. اما هش ساخته شده تا معکوس نشه – یعنی از نظر علمی از هش نمی شه به هش‌شده رسید.

خب حالا راه حل ما چیه؟ یک راه که بهش «بروت فورث» می‌گن اینه که یکی یکی هر چیز ممکن رو هش کنیم. یعنی اول ۱ رو هش کنیم ببنیم به اون چیزی که اونجا هست می‌رسیم یا نه. بعد ۲ رو هش کنیم. بعد ۱۲ رو بعد ۱۱ رو و خلاصه هر چیز ممکن رو. اینکار یک نیروی کور است و بسیار وقت گیر. اما یک راه هوشمندانه تر هم داریم که بهش می‌گن رنگین کمان / rainbow. تکنیک رنگین کمان اینه که تمام کارهای بالا رو بکنیم (یعنی مثلا اگر اکثر افراد در موبایل از پسوردهای عددی استفاده می کنن از ۰ تا ۹۹۹۹۹ رو هش کنیم و رمز و هش اون رو بریزیم توی یک دیتابیس) و بعد یکی یکی هش ها رو توی دیتابیس سرچ کنیم و پسورد رو نشون بدیم… خب آماده‌اید؟

برای ایجاد همه پسوردهای ۰۰۰۰۰ تا ۹۹۹۹۹ و هش کردن اونها این برنامه پایتون رو نوشتم. مطمئنا می‌تونه بهتر هم نوشته بشه ولی این کار من رو راه انداخت:

#!/usr/bin/python

import MySQLdb

db = MySQLdb.connect("localhost","jadi","password","break" )

# prepare a cursor object using cursor() method
cursor = db.cursor()


for i in range(0, 10000):
    pre = '';
    if i < 10:
        pre += '0';
    if i < 100:
        pre += '0';
    if i < 1000:
        pre += '0';
    num = "%s%s" % (pre, i);
    print num;
    # execute SQL query using execute() method.
    cursor.execute("insert into rainbox values ('%s', md5('%s'));"%(num,num));

# Fetch a single row using fetchone() method.
#data = cursor.fetchone()

# disconnect from server
db.close()

همین برنامه رو برای پسوردهای ۰۰۰۰۰ تا ۹۹۹۹۹ و ۰۰۰ تا ۹۹۹ و ۰۰ تا ۹۹ و ۰ تا ۹ هم کم و زیاد کردم و رنگین کمانی شامل ۱۱۱۱۱۰ پسورد و هش اون ساختم:

mysql> select count(*) from rainbox;
+----------+
| count(*) |
+----------+
|   111110 |
+----------+
1 row in set (0.07 sec)

بعد کلیدی روی هش تعریف کردم که سرچ سریعتر بشه:

mysql> ALTER TABLE rainbox ADD primary index (hash);

حالا وقت شکستن رمزها است. فایلی دارم به اسم users.csv که این شکلی است (چهار رقم آخر تلفن ها رو ستاره کردم که پرایوسی آدم‌ها حفظ بشه):

9370333**** ea9bf866d98db73eb0909fa9c1cc1b11
9370050**** fcbfab2f4cda26061ed9e3ee96a4fd61
9370750**** 6a130f1dc6f0c829f874e92e5458dced
9370001**** 9ad97add7f3d9f29cd262159d4540c96

کافیه این رو با لایبری csv پایتون بخونم، و بعد هش هر خط رو از دیتابیسم کوئری بزنم و اگر جواب داشت توی خروجی تلفن و هش و پسورد شکسته شده رو بنویسم و اگر هم جواب این هش توی دیتابیس من نبود، جلوش بنویسم later تا بعدا از یک جای دیگه پیداش کنم.

#!/usr/bin/python

import MySQLdb
import csv

db = MySQLdb.connect("localhost","jadi","password","break" )

# prepare a cursor object using cursor() method
cursor = db.cursor()

spamReader = csv.reader(open('users.csv', 'rb'), delimiter=' ', quotechar='|')
for row in spamReader:
    tofind = row[1];
    try:
        cursor.execute("select pass from rainbox where hash = '%s'"%tofind);
        data = cursor.fetchone()[0];
        print row[0], tofind, data;
    except: #this hash was not in db
        print row[0], tofind, "later" 

# disconnect from server
db.close()

برنامه بالا رو اجرا می‌کنم و زمان می‌گیرم:

jadi@jubun:~/w$ wc -l users.csv && time python break.py > out.txt
316590 users.csv

real    0m57.226s
user    0m25.362s
sys 0m4.856s

واو! سیصد و شونزده هزار پسورد رو توی کمتر از یک دقیقه شکستیم (: یک نگاه به فایل آوت.تکست می‌گه:

jadi@jubun:~/w$ head out.txt 
93703334*** ea9bf866d98db73eb0909fa9c1cc1b11 7523
93700508*** fcbfab2f4cda26061ed9e3ee96a4fd61 8510
93707500*** 6a130f1dc6f0c829f874e92e5458dced 7496
93700013*** 9ad97add7f3d9f29cd262159d4540c96 9538
93700177*** c902514ac30b6e23dbb0c3dc80ec7d4a later
93700858*** ee676ed9ce5bd51b4452ddfbdf962ef7 later
93707848*** 8c249675aea6c3cbd91661bbae767ff1 1986

ظاهرا پسوردهای چهار رقمی مد هستن (: ظاهرا تعداد later ها هم کم نیست. بذارین یک نگاه هم به اونها بندازیم:

jadi@jubun:~/w$ grep later out.txt | wc -l 
1558

خب... شش هزار نفر هستن که پسوردشون شکسته نشده. اما من و شمای هکر می دونیم که شش هزار نفر به معنی شش هزار پسورد نیست. معمولا آدم‌ها پسوردهای تکراری می ذارن. بذارین ببینیم اگر پسوردهای تکراری رو حذف کنیم، چند تا پسورد منحصر به فرد توی این گروه می مونه. دستور cut می تونه یکسری از فیلدهای اضافی رو حذف کنه. مثلا الان کات میکنم بر اساس فیلد ۲ و با جدا کننده اسپیس (بعد از دش دی، اسپیس می‌ذارم). بعد نتیجه قسمت اول که هش ها هستن رو می دم به دستور یونیک (که با سوییچ یو، فقط خط های غیرتکراری رو نشون می ده)‌ و بعد تعداد خطوط رو می شمرم:

jadi@jubun:~/w$ grep later out.txt  > later.txt && \
                                cut later.txt -f2 -d' ' | uniq -u | wc -l 
5536

نتیجه طبیعی نیست... یعنی از شش هزار نفر فقط پونصد ششصد نفر پسورد تکراری داشتن؟ هر کسی که یک مقاله در مورد رفتار پسوردی آدم‌ها خونده باشه می دونه که این عدد غیر واقعی است.. مشکل! قبل از استفاده از دستور یونیک، باید داده‌ها رو مرتب کرد. پس یک سورت بین دستور اضافه می کنم:

jadi@jubun:~/w$ cut later.txt -f2 -d' ' | sort | uniq -u | wc -l 
767

هها! نگفته بودم؟ کل این شش هزار نفر باقیمونده، فقط از ۷۶۷ پسورد استفاده کردن. این ۷۶۷ پسورد رو می‌ریزیم توی یک فایل مجزا برای کشف کردنشون در پست بعدی.

توجه مهم! کمی از این مقاله گم شده! بعله درست خوندین ! به شکل عجیبی بخشی از مقاله در این قسمت غیب شده و نیست (: من این مقاله رو مدت های مدید قبل نوشتم ولی به خاطر احتمال لو دادن اطلاعات مشتری ها و هکربازی بچه اسکریپتی ها ارسالش نکردم. حالا چون آرمین به دردش می خورد گفتم بفرستمش ولی ظاهرا یک بخش کوچیکی اش نیست! مهم هم نیست. فدای سرمون. روش کشف بقیه پسوردها این بوده که بقیه رو از منابع اینترنت صدا بزنیم. یک سایت داریم که می شه براش یک هش فرستاد و پرسید که آیا این جواب رو داره یا نه. من اول یک تست با اون می زنم و بعد یک برنامه می نویسم که همه پسوردهای باقی مونده رو از اون صدا بزنه

و در نیتجه کافیه من یک برنامه بنویسم که همه هش‌های هنوز کشف نشده رو از فایل ورودی بخونه و اونها رو به این سایت پست کنه و منتظر خروجی بمونه. بعد توی خروجی اچ تی ام ال دنبال چنین خطی بگرده:

Found: md5("zaka") = 00a3b206c4ad2cae515e28745423093a

و zaka رو یک جایی ذخیره کنه. کافیه این کار رو برای همه هش‌هایی که هنوز کشف نشدن ادامه بدیم. مشخصه که هنوز یکسری کشف نشده خواهند موند ولی بذارین ببینیم به چی می رسیم. این مرحله به خاطر فرستادن درخواست به اینترنت کندتر است و یک راه حل خوبه اینه که فایل hard.txt و برنامه رو روی یک سرور وی پی اس آپلود کنیم و اونجا اجراش کنیم. همین کار رو می کنم و برنامه پایتون رو هم اینجوری می‌نویسم که یکی یکی هش ها رو برداره، به اون سایت بفرسته و توی خروجی اچ تی ام ال که بر می گرده، خطی که پسورد رو نشون می ده رو جدا کنه. اگر این هش اونجا هم نبود می نویسیم too difficult و از خیرش می گذریم (: بریم ببینیم چی می شه:

#!/usr/bin/python

import urllib
import csv
import re

spamReader = csv.reader(open('hard.txt', 'rb'), delimiter=' ', quotechar='|')
for row in spamReader:
    try:
        # This is here for copy/pasters....
        # Originally by Jadi at jadi.net
        params = urllib.urlencode({'term':row[0], 'crackbtn': 'Crack that hash baby!'})
        f = urllib.urlopen("http://md5crack.com/crackmd5.php", params)
        page = f.read()
        password = re.search('Found: md5\("(.*)"\) = %s' % row[0], page)
        print row[0], password.group(1)
    except: 
        print "too difficult"

و برای اجرا می‌زنیم:

user@remotehost:/tmp$nohup python onlinebreak.py > easy.txt & 

که خروجی پسوردهای شکسته شده رو بریزه توی easy.txt و حتی اگر من هم قطع شدم کار رو در پشت زمینه ادامه بده. تقریبا بعد از یازده دقیقه کار، همه پسوردها با این بانک اطلاعاتی هم چک می‌شن. بعد از اضافه کردن این‌ها به موارد شکسته شده قبلی توی دیتابیس خودمون، یک نگاه می‌ندازیم ببینیم چند تا از پسوردها هنوز باقی موندن.

jadi@jubun:~/w$ time python break.py > out.txt &&  grep later out.txt | wc -l 

real    0m58.863s
user    0m27.706s
sys 0m5.756s
1558

عالی (: حالا دیگه فقط ۱۵۵۸ نفر داریم که پسوردشون کشف نشده. از سیصد هزار نفری که اول داشتیم، پیشرفت عالیی است (: این هزار و پونصد نفر که پسوردهای غیرمعمول گذاشتن هم می‌تونن زنگ بزنن به پشتیبانی و بگن از امروز پسوردشون کار نمی کنه و اونها براشون ریست می کنن (:

نتیجه: از سیصد و خورده‌ای هزار نفر، فقط ۱۵۵۸ نفر پسوردهایی دارن که جزو پسوردهای استانداردی که هر هکری چک می کنه نیست. در پسوردهاتون عدد و حروف کوچیک و بزرگ بذارین و پسوردتون از هشت حرف هم بیشتر باشه. اصلا بذارن این یک دستور دیگه هم بدیم: فایل خروجی رو نشون بده، ستون سومش (پسورد) رو جدا کن (ستون‌ها رو اسپیس از هم جدا می کنه) بعد خروجی رو مرتب کن (پسوردها مرتب می شن) بعد بشمر هر پسوردی چند بار تکرار شده و خروجی و مرتب کن به شکل عددی معکوس و اسپیس های اول خط رو هم بیخیال شو و بعد ده خط اول رو نشون بده.

jadi@jubun:~/w$ cut out.txt -f3 -d' ' | sort | uniq -c | sort -b -n -r | head
 192019 1234
  11780 2222
  10532 123
   9734 1111
   7547 5555
   5293 12345
   4512 4444
   4473 0000
   2568 3333
   2192 444

و این شما و این پر استفاده‌ترین پسوردهای این سیصد هزار نفر. جالبه که ۶۰٪ از کاربران پسوردشون رو گذاشتن ۱۲۳۴۵. فوق العاده نیست؟