Mobin@Freedom

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

Mobin@Freedom

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

عمر PHP4 به پایان رسید!

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

 آقا امروز همینطور که بعد نصب ویندوز داشتم نرم افزارها رو نصب می کردم رسیدم به Apache، MySQL و PHP،آپاچی رو نصب کردم،MySQL هم همینطور،گفتم حالا که قراره پروژه ای که مینویسم روی سرور PHP4 ران بشه یه سر به سایت php.net بزنم و نسخه ی چهار PHP رو بگیرم برای نصب و تا اطلاع ثانوی PHP5 رو بی خیال بشم آخه هاست PHP5 بدرد بخور کم پیدا میشه.
 هیچ چی آقا رفتم دیدم آخرین خبر تو صفحه ی اصلی php.net اینه :

PHP 4 end of life announcemen

[13-Jul-2007] 
Today it is exactly three years ago since PHP 5 has been released. In those three years it has seen many improvements over PHP 4. PHP 5 is fast, stable & production-ready and as PHP 6 is on the way, PHP 4 will be discontinued
...

آره... PHP 4.4 تنها و تنها تا پایان سال ۲۰۰۷ یعنی حدود چهار ماه دیگه عرضه و پشتیبانی میشه و همه باید خودشون رو برای PHP5 آماده کنند چون از برج ۸ سال ۲۰۰۸ به بعد هم هیچ وصله ی امنیتی ای برای PHP4 عرضه نمیشه.
 خوب حالا اونهایی که برنامه هاشون طوری طراحی شده که با PHP5 سازگاری کامل نداره باید کدهاشون رو تصحیح کنند و افرادی مثل من که از همون اول بی خیال PHP4 بودن هم برن حال کنن چون چیزی برای اونها عوض نمیشه!
 اینطوری شد که php.net ما رو هدایت کرد که مثل گذشته همون PHP5 رو بچسبیم و نگرانی به دلمون راه ندیم.

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

تا بعد...

طراحی یک مرورگر وب ساده

سلام
 حال همگی خوبه؟ خدا رو شکر...با عرض پوزش بابت اینکه آپدیت یه خورده دیر شد،این چند رو کلی کار پیش اومد.
 در خدمت شما هستم با یک مطلب برنامه نویسی در سطح متوسط.چیزی که امروز میخوایم یاد بگیریم طراحی یک Web Browser ساده با Visual C هست که اگر حتی یه خورده هم با Visual C آشنا باشید میتونید با دنبال کردن توضیحات یک مرورگر وب ساده رو با کنترل Web Browser طراحی کنید.
 خوب،اگر Visual Studio 6.0 رو نصب دارید که چه بهتر،اگر ندارید نصب کنید و Microsoft Visual C++ 6.0 رو باز کنید.برای طراحی یک Web Browser احتیاج به استفاده از MFC داریم،بنابراین از منوی File گزینه ی New رو انتخاب کرده و در پنجره ی باز شده از سربرگ Projects گزینه ی MFC AppWizard رو انتخاب کنید.حالا نام پروژه رو WebBrowser یا هر چیزی که دوست دارید بدید و Ok کنید.
 الان پنجره ای مقابل شما هست که از شما میپرسه برنامه ای که دارید طراحی می کنید چطوریاست؟! شما Dialog based رو انتخاب کنید و Next رو کلیک کنید.در مرحله ی بعد هم Finish رو کلیک کنید و در آخر Ok رو بزنید تا محیط کار در اختیار شما قرار بگیره.
 حالا اولین کاری که میکنید این هست که Label و Botton ها رو پاک کنید.بعد از این کار ، به صورت زیر یک کنترل Web Browser رو روی فرم قرار بدید.
 1- روی فرم راست کلیک کنید و Insert ActiveX Control رو انتخاب کنید.
 2- از لیست ظاهر شده Microsoft Web Browser رو انتخاب و روی Ok کلیک کنید.

 الان روی فرم شما باید یک کنترل Web Browser قرار داشته باشه که میتونید اندازش رو تغییر بدید.حالا در مرحله ی بعدی نیاز به یک Edit Box و Button دارید تا آدرس سایت رو توی Edit Box تایپ کنید و با کلیک رو Button از سایت بازدید کنید پس اول یک Edit Box روی فرم قرار داده و نامش رو بدید IDC_URL و بعد از اضافه کردن یک Button در کنارش نام اون رو IDC_BROWSE بگذارید.بعد از این عمل برای اینکه به مقداری که در Edit Box نوشته میشه و همچنین کنترل Web Browser دسترسی داشته باشید باید دو تا متغیر برای این دو کنترل تعریف کنید.
 برای نسبت دادن یک متغیر به  کنترل Web Browser روی فرم راست کلیک و ClassWizard رو انتخاب کنید.حالا در سربرگ Member Variables کنترل IDC_EXPLORER1 رو انتخاب کنید و Add Variable رو بزنید.اول دو تا پنجره باز میشه که اول رو اوکی بزنید،دومی رو هم برای اضافه شدن کلاس مورد نیاز برای استفاده از کنترل Web Browser اوکی کنید.در مرحله سوم پنجره ای نمایش داده میشه که نام متغیر در اون خواسته میشه،من دادم m_browser شما هم میتونید همین یا هر نامی که دوست دارید رو بدید.بعد از این کنترل نوبت به کنترل Edit Box میرسه،از طریق همون ClassWizard این دفعه از سربرگ Member Variables کنترل IDC_URL رو انتخاب و مثل کنترل قبل یه اسم بهش بدید.من نامش رو m_URL دادم.
 حالا رسیدیم به مرحله ی آخر که دو خط کد نویسی هست،خداییش نوشتن برنامه به این راحتی حال آدم رو به هم میزنه! ولی چه کنم که بعد از سالیان دراز به این نتیجه رسیدم که همین چیزاست که واسه آدم پول میشه نه برنامه های نفوذ به شبکه ی Command Line که نوشتنشون گاه هفته ها طول میکشه،بگذیم...
 برای راحتی کار روی دکمه ی Browse دوبار کلیک کنید و در پنجره باز شدن Ok رو بزنید.در این قسمت کل کدی که قرار هست بنویسید چیزی هست که در زیر براتون نوشتم.

;(UpdateData(TRUE
;(m_browser.Navigate(m_URL,NULL,NULL,NULL,NULL

 تابع UpdateData با پارامتر TRUE برای این هست که مقدار موجود در Edit Box به متغیرش که m_URL باشه نسبت داده بشه و بتونیم ازش در متد Navigate استفاده کنیم.متد Navigate هم که مشخصه،آدرس رو با استفاده از متغییر m_URL میگیره و در کنترل Web Browser نمایش میده.

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

فعال کردن MySQL در PHP 5

سلام
 امروز به خاطر نصب مجدد ویندوز مجبور شدم Apache ، PHP و MySQL رو دوباره نصب کنم.قبل از نصب همش فکرم مشغول این بود که باز MySQL روی PHP 5 میخواد بازی دربیاره... آخه دفعه ی قبل کلی باهاش ور رفتم تا MySQL تو PHP 5 فعال شد.
 نمیدونم مشکل از کجاست،تنظیمات ساده ای داره اما هر دفعه که تنظیمات رو انجام میدم باید دو سه دفعه extention مربوط به MySQL رو غیر فعال و فعال کنم تا PHP بتونه MySQL رو بشناسه.به هر حال،چون در PHP 5 سرویس MySQL به صورت پیش فرض فعال نیست گفتم تغییرات لازم رو اینجا بنویسم تا هم یاداشتی باشه برای خودم و هم راهگشای کسانی که این مسئله براشون سئوال هست.
 در PHP 5 بر خلاف PHP 4 باید با انجام تغییرات کوچیکی در فایل php.ini سرویس mysql رو فعال کنید تا بتونید از این بانک اطلاعاتی استفاده کنید.قبل از هر چیز لطفاً از موارد زیر مطمئن بشید.
 1- از قرار داشتن فایلهای php.ini و libmysql.dll در دسترس وب سرور اطمینان پیدا کنید.برای تست این موضوع در قسمت Run از منوی Start نام این فایل ها رو به صورت جداگانه در دو مرحله نوشته و Enter کنید.در مرحله ی اول با نوشتن php.ini و Enter کردن یک فایل متنی به نمایش در خواهد آمد و در مرحله ی بعد با نوشتن libmysql.dll و Enter کردن پنجره ای با دکمه ی Open with مقابل شما قرار خواهد گرفت.در صورتی که هنگام فراخوانی هر کدام از فایلها به پیغام خطا با نمادی قرمز رنگ مواجه شدید مسیر فایل ها را در PATH ویندوز اضافه کنید.
 2- از وجود فایل php_mysql.dll در پوشه ی ext اطمینان حاصل کنید.

 حالا تنها احتیاج به یک تغییر کوچیک در فایل php.ini دارید.ابتدا خطی که با extension_dir شروع میشه رو پیدا کنید و مقدار پیش فرض مقابلش رو به صورت زیر تغییر بدید.

"extension_dir = "D:\php5ext

 در PHP 5 تمام extension ها از جمله extension مربوط به MySQL در شاخه ی ext هست،D:\php5 هم به خاطر این هست که فایلهای PHP رو در درایو D و توی شاخه ی php5 ریختم،بسته به محل پوشه ی php خودتون مسیر رو تغییر بدید.
 بعد خط زیر رو پیدا کنید و فقط سیمی کالن ( ; ) اولش رو پاک کنید تا extention مربوط به MySQL فعال بشه.

extension=php_mysql.dll;

 حالا تغییرات فایل رو Save کنید و سیستم رو یکبار restart کنید.بعد از بالا اومدن ویندوز باید بتونید از توابع MySQL در کدهای PHP که می نویسید استفاده کنید.

 اینم از update امروز...

 

ارسال ایمیل با زبان برنامه نویسی C

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

و اما بحث تخصصی خودمون که خیلی باهاش حال میکنم...
امروز یه تابع نوشتم واسه همین تروجان که بعد از گرفتن پسورد اون رو واسم میل کنه.گفتم این تابع رو با شما به اشتراک بذارم که مثل من خودتون رو غرق در مستندات پروتکل SMTP نکنید و بی دردسر بتونید با برنامه ی C ای که مینویسید به سادگی نوشتن اسم یه تابع با 6 تا پارامتر یه میل بفرستید.

دریافــــت تـــابـــع هــمـراه بـــا کـــد نــمــونـــه

بعد از باز کردن لینک بالا دو تا فایل میبینید که یکی mail.h هست و اون یکی sendit.c.فایل اول فایل header هست که اون را داخل پوشه ی INCLUDE کپی می کنید و فایل دوم یعنی sendit.c هم یه کد نمونه هست که نحوه ی استفاده از این تابع رو نشون میده.نحوه ی استفاده از تابع sendmail ابتدا ی فایل mail.h نوشته شده اما یه بار دیگه اینجا براتون مینویسم.برای استفاده از تابع sendmail نیاز به فایل های هدر stdlib.h ، winsock2.h ، time.h و mail.h دارید.بعد از include کردن این فایل ها میتونید تابع sendmail رو با پارامترهای زیر اجرا کنید.
پارامتر اول : هاست نیم سرور SMTP که میل از طریق اون ارسال خواهد شد. به عنوان مثال "mx1.mail.yahoo.com".
پارامتر دوم : نام شخص ارسال کننده ی میل.
پارامتر سوم : آدرس ایمیل شخص ارسال کننده ی میل.
پارامتر چهارم : آدرس ایمیل شخص گیرنده ی میل.
پارامتر پنجم : عنوان ایمیل یا همون Subject .
پارامتر ششم : متن نامه!

همه ی این پارامتر ها رو میتونید مستقیم داخل تابع بنویسید یا داخل آرایه های کاراکتری ذخیره و بعد نام آرایه رو در جای پارامتر مربوط قرار بدید.
نکات مهم :
 » ببینید وقتی شما میل رو ارسال کردید باید یه دو سه دقیقه منتظر بمونید تا بنده خدا این سرور های یاهو ( یا هر SMTP Server  دیگه ای که انتخاب می کنید ) میل رو جا به جا کنن و بندازنش تو Box شما! پس پشت سر هم و تند تند میل ارسال نکنید.
 » زمانی که 3،4 بار پشت سر هم با یه IP میل ارسال کنید یاهو میل های شما رو قبول نمیکنه و علاوه بر ارسال نکردن ایمیل ها دیگه به شما جواب نمیده.
 » اگر میل ای که فرستادید بعد از دو سه دقیقه توی Inbox تون نبود پوشه ی Bulk رو چک کنید 100% اونجاست.
 » این کد رو من با Borland C++ v5.02 کامپایل کردم،اگه میخواید با VC کامپایلش کنید باید یه خورده دستکاری بشه.

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

خوب،پــــایان! یا همون EOF ! ما رفتیم تا پست بعدی
موفق باشید


 

Brute Force اکانت های CPanel

سلام
 این پست شامل مطالبی هست که دوست ندارم بنویسمشون ولی خوب... برای بچه های خوب مینویسم D:.
 چند روز پیش توی فروم سیمرغ ( simorgh-ev.com ) آقای عسگری یه پست داده بود با عنوان " کشف باگ بر روی Cpanel (باگ در سیستم Password )"،مـــــا هم روش کلیک کردیم رفتیم ببینیم چه خبره.بله...رفتیم دیدیم اکانت های CPanel رو هم میشه به روش Brute Force درو کرد،به سادگی درو کردن گندم با داس! ( واقعاً سادست؟ )
 یه خورده اومدم پایین تر دیدم خود آقای عسگری یه کد به زبان PHP برای Brute Force کردن نوشته،یه خورده دیگه اومدم پایین تر دیدم آقای Hessam-x هم با Perl یکی دیگه نوشته،یه خورده دیگه اومدم پایین دیدم هیچ کی هیچ چی ننوشته! این شد که رگ C مــــا گرفت و خواب و خوراک و گذاشتم کنار تا با نوشتن یکی دیگه به زبان C روح دنیس ریچی و کرنیقان رو شاد کنم... ! ( خدا امواتت رو بیامرزه دنیس! )
 حاصل تلاش چیزی شد به نام cpanel.exe که به زبان C نوشته شده بود و کارش هم Brute Force اکانت های CPanel بود.خوب حالا این فایل رو به همراه سورسش آپلود کردم که میتونید از لینک زیر دریافت کنید :
(دوست عزیزی به نام iranhoo لطف کردن و یه دعوت نامه پرشین گیگ فرستادن،دانلود آسون این فایل رو مدیون ایشون هستیم.)
http://securekrnl.persiangig.com/code/cpanel.zip

 فقط این رو هم گفته باشم که مسئولیت و گناه ناشی از هر گونه سوء استفاده از این برنامه به عهده خودتون هست.

 از این حرف ها بگذریم خودتون چطورید؟ خوبید؟ خدایی نمیدونم این بلاگ چند تا بازدید کننده ثابت داره اما با این وضع پست زدن من ( بعضی موقع ها هر 1 سال یک بار،بعضی موقع ها یک هفته یک بار ) آمار بازدید کننده ها خوبه و ازتون راضی ام D:.

 قربان شما،کاری داشتید ما در خدمتیم
 فعلاً ...