دسته Archives: شبکه و امنیت

نصب webmin سرور Ubuntu برای هاستینگ

به نام دانای بر حق

مقدمه

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

آماده سازی سیستم عامل

برای آماده کردن Ubuntu خود دستورات زیر رو تاییپ کنید تا مخازن مربوط به این پکیج به شما اضافه بشه:

دستور و در ترمینال یا ssh باید وارد کنید

 

و بعد در خط انتهایی این نوشته رو اضافه میکنید:

توجه داشته باشید آسیبی به سایر خطوط نزنید

برای ذخیره کردن Ctrl+x بزنین و بعد دکمه y به معنی اطلاعات بیشتر

اجرای هم زمان nodejs در کنار apache2 در سرور php

به نام دانای بر حق

مقدمه

یکی از سوالاتی که ذهن کسانی که با node.js کار میکنند رو در گیر میکنه استفاده هم زمان در کنار سرور هایی که روی اونها apache نصب هستش و مشکل دقیقا زمانی شروع میشود که شما دوست دارید هر دو بر روی پورت 80 اجرا بشوند و چرا که express.js  نیز همواره قصد داره یه پورت جدید رو شنود کنه و در کنار آدرس وبسایت مثلا :8080 نمایش داده میشه، برای رفع این مشکل باید چه کاری کنیم؟

 

راه حل ها

در اینجا ۲ راه حل اساسی برای نمایش هر دو سرور در پورت 80 و یا 443 وجود دارد که هر دو رو راه حل مبتنی بر proxy میباشد تا این مشکل برطرف شود:

فعال کردن پروکسی بر روی آپاچی که توضیح آن را در ادامه میدهیم

فعال کردن پروکسی در node.js که شما رو اطلاعات بیشتر

کمی درباره آپاچی و چند دستور کلیدی در آپاچی برای صاحبان سایت و سرور

مقدمه

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

در کارکرد آپاچی

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

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

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

معرفی kloxo یا lxadmin – کولکسو – نحوه نصب نسخه جدید Kloxo-MR

kloxo-mr

مقدمه

kloxo به نظر من یکی از کم دغدغه ترین و کم هزینه ترین سامانه های کنترل وبسرور هستش، لذا هم اوپن سورس هستش و هم در نهایت بسیار منابع کمتری مصرف میکند و همه چیز تموم هستش و کم و کسری نداره همه چیز رو حتی در اندازه های cpanel هستش ولی خب تجاری نیست که به قدرت اون برسه، ولی در اصل خودش از بهترین هاس، وقتی نام kloxo یا lxadmin به میون میادش یاد خاطره تلخ خودکشی مدیر توسعه پروژه اش به خاطر اون باگ های کذاییش زنده میشه، خیلی دردناک بود خودکشی این انسان شایسته ولی خوب تعهدش رو نسبت به سیستمش نشون میداد پس وقتی داریم از کلسکو یاد میکنیم این عقبه متعهد رو به خاطر اطلاعات بیشتر

آنالیز ساختار ویندوز و روت کیت های سطح هسته-بخش سوم

در ادامه بحث های مطرح شده در آنالیز ساختار ویندوز و روت کیت های سطح هسته-بخش اول  و همچنین آنالیز ساختار ویندوز و روت کیت های سطح هسته-بخش دوم ادامه بحث را دنبال خواهیم کرد.

یکی دیگر از تکنیک های که روت کیت ها استفاده می نمایند درواقع می توان گفت نسل جدیدتر روت کیت ها، استفاده از تکنیک DKOM[1] نام دارد. در این تکنیک ساختار های کرنل را تغییر میدهیم . ساختارهایی مانند لیست پروسه های فعال ، درایورها.

در این روش هیچگونه هوک و یا تغییری در جداولی مانند SSDT,IDT انجام نمیدهیم. روت کیت ها می توانند با Unlink نمودن یک شی EPROCESS از ActiveProcesLinks خود را پنهان نمایند و پروسه ای را از دید تابع ZwQuerySystemInformation() که برای بدست آوردن لیست پروسه های اجراشده در سیستم استفاده می نماییم پنهان نماید. کرنل از ساختاری به نام KPCR[2] استفاده می کند. در این ساختار اطلاعات مهم و اساسی مانند IDT ، GDT و … ذخیره می شود. برای دسترسی راحتتر به KPCR کرنل آدرس آن را در نسخه های x86 ویندوز درون رجیستر fs و همچنین در ویندوزهای x64 در رجیستر gs ذخیره می کند. KPCR شامل ساختاری است به نام KPRCB[3] است. KPCR مستند شده است ولی KPRCB یک ساختار خصوصی است و تنها در ntoskrnl مورد استفاده قرار می گیرد. این ساختار شامل اطلاعات درباره Scheduling پروسه ها می باشد.

Kernel processor control region

در ساختار _KPRCB فیلدی به نا م CurrentThread وجود دارد که برایمان مهم می باشد همانطور در تصویر زیر می بینیم این فیلد از نوع ساختار _KTHREAD است:

kernel processor control block

برای مشاهده محتوای ساختارهای KPCR و KPRCB می توانیم از دستور های !pcr و !prcb استفاده نماییم، مقدار Current  را به یاد داشته باشید.

pcr-command-windbgاطلاعات بیشتر

آنالیز ساختار ویندوز و روت کیت های سطح هسته-بخش دوم

در ادامه بحث های مطرح شده در آنالیز ساختار ویندوز و روت کیت های سطح هسته-بخش اول  ادامه بحث را دنبال خواهیم کرد.

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

  • System Service Dispatch Table (SSDT)
  • Interrupt Descriptor Table (IDT)

آدرس توابع سطح کرنل درون جدول SSDT نگهداری می شود(توابع nt*). هنگامیکه روند اجرا یک برنامه سطح کاربر میخواهد به سمت کرنل هدایت شود  ID مرتبط با تابع کرنل درون رجیستر EAX قرار می گیرد و رجیستر EDX به لیست پارامترهای که بایستی به تابع ارجاع داده می شود اشاره می کند، سپس با اجرای دستور int 2e و یا sysenter روند اجرا پروسه به سطح کرنل خواهد رفت.  هنگامیکه وقفه ای رخ می دهد سیستم عامل با جستجو در IDT ، روتین مرتبط با مدیریت آن وقفه را بدست میاورد. این جدول تمامی وقفه ها را درون خود نگهداری می کند. روتین هندل کننده وقفه 0x2e  تابع KiSystemService() از ntoskrnl است. برای بازگشت به سطح کاربر از دستور iret استفاده می شود. در صورتی که از دستور sysenter استفاده شود برای بازگشت به سطح کاربر از دستور sysexit استفاده خواهد شد. برای پشتیبانی از دستور sysenter ویندوز در زمان بوت آدرس روتین مرتبط را بجای IDT در رجیستر  MSR[1]  ذخیره می کند. . اسکریپت زیر را می توانید از این آدرس[2] دریافت نمایید. با دستور زیر در windbg میبینیم که handler این وقفه تابع  KiSystemService() است :

اطلاعات بیشتر

آنالیز ساختار ویندوز و روت کیت های سطح هسته-بخش اول

در این پست و چند پست آتی به نحوه آنالیز و تحلیل Rootkit ها خواهیم پرداخت که پیش نیاز آن، آشنایی با ساختار و تکنیک های مورد استفاده در آنها می باشد. Rootkit ها مختص به یک سیستم عامل و پلتفرم خاص نیستند، در واقع یک اصطلاح می باشد که به دسته خاصی از بدافزارها اشاره می شود. روت کیت هایی برای MS Windows ، Linux ، Cisco IOS و … نوشته شده و می توان نوشت. مایکروسافت درباره روت کیت چنین می گوید که نویسندگان بدافزارها برای پنهان کردن بدافزار از روت کیت ها استفاده می کنند، حال روت کیت بدافزار است یا بخشی از بدافزار و تعریف و تعابیر دیگر از این واژه ، خود را درگیر این قبیل مباحث نخواهیم کرد.

rootkit

Rootkit را می توان به دو بخش root و kit تقسیم کرد تا بهتر به مفهوم آن آشنا شد. سیستم عامل ویندوز به طورکلی به دو سطح تقسیم می شود یعنی Ring0 و Ring3 (به هر سطح Ring گوییم). Ring0 دارای بالاترین سطح دسترسی می باشد که به آن Kernel-mode نیز گفته می شود و همچنین Ring3 دارای کمترین سطح دسترسی که به آن نیز User-mode گوییم.

هر سطح دارای ساختار و ویژگی خاص خود می باشد بنابراین در مبحث دیباگینگ نیز تفاوت هایی وجود دارد. WinDBG دیباگر مایکروسافتی است که می توان در هر دوسطح عمل دیباگ را انجام دهیم ولی نکته قابل توجه کارایی آن است که در Ring3 دیباگر هایی مانند OllyDBG ، ImmunityDBG و… کارایی بهتری را دارا هستند. با توجه به ویژگی های WinDBG ، در دیباگ سطح هسته از آن استفاده می کنیم. راه های دیباگ در windbg را می توان در تصویر زیر مشاهده نمود:

windbg-debug-ways

 

برای دیباگ کرنل به دو صورت Remote و یا Local می توانیم عمل نماییم. Local Debug در سطح هسته بدین معنی است که خود سیستم مان را دیباگ نماییم که در این حالت دارای محدودیت هایی خواهیم بود و کارهایی مانند: توقف در اجرا، قرار دادن نقاط توقف در روند اجرا و امثالهم را نمی توان انجام داد. برای این حالت علاوه بر WinDBG ممکن است به ابزار LiveKD [1]  نیاز شود. در حالت Remote که در واقع بحث اصلی مان خواهد بود، علاوه بر روش های مختلف موجود که محبوبترین آن Serial است با استفاده از ابزار Virtual KD [2]  نیز میتوانید دیباگ را انجام دهید. روش Serial دارای سرعت پایین تری نسبت به Virtual KD می باشد. در حالت Serial سرعتی که داریم   bps  115200 است ولی در Virtual KD  حداکثر سرعت در Virtual Box نیز 450 KB/s  و برای VMware حداکثر 150 KB/s  است. بعد از نصب و راه اندازی Virtual KD در ماشین مجازی براحتی میتوان با استفاده از WinDBG و یا IDA به آن متصل شد و دیباگینگ را انجام دهیم.

اطلاعات بیشتر

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

به نام دانای بر حق

 

یکی از مسائل روز مرزه در دنیای و وبگردی امنیتی میباشد، و یکی از مسائل برای شرکت های بزرگ حفظ امنیت کاربران آن می باشد که میتواند منجر به مسدود شدن یک وبسایت شود، وبسایت ها معمولا به دو دلیل این مسدود میشود دلیل اول اسکریپت ها و یا فایل های مبتلا بر روی سرور و دلیل دوم در فهرست سیاه یا blacklist ایمیل ها قرار گرفتن.

 

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

 

 

blocked-website

چگونه متوجه شویم سایت ما مسدود شده:

 

اکنون من چندین سایت معرفی می کنم که میتوانید توسط آنها متوجه این موضوع شوید:

اطلاعات بیشتر

راهندازی یک وب سرور با استفاده از php, MySQL, apache و ftp

به نام دانای بر حق

 

مقدمه

 

قدرتمند ترین ،رایج ترین و به صرفه ترین وب سرور های دنیا تشکیل شده از مثلث جادویی php – mysql -apache هست، که هر سه open source  و cross plat-form هستند یعنی وابسته به سیستم عامل خاصی نیستند، اما از اونجایی که پیش از این در مباحث قبلی بحث کردیم centos قوی تری توزیع لینوکس برای راهنداری وب سرور می باشد حال ما در این یادداشت باهم یک سرور که شامل موارد زیر میشود را راهندازی خواهیم کرد:  بله شامله : )

 

php-mysql

  • Apache 2.2.15
  • MySQL 5.5.34
  • PHP 5.5.4
  • pure-ftpd finall

این  آموزش شامل centos 5.x و   centos 6.x  ورژن های 32 و 64 بیت میباشد

 

 

ماژول هایی که نصب خواهند شد:

اطلاعات بیشتر

nodejs – آموزش نصب nodejs برای روی توزیع های لینوکس Ubuntu , CentOS

به نام دانای بر حق

 

مقدمه

 

یکی مسائلی که امروزه خیلی گریبانگیر دنیای وب هستش بحث real-time هستش که خیلی در نظر توسعه دهنده های وب برجسته  شده برنامه های real-time برنامه هایی هستند که به رخداد ها و رویداد های مورد نظر پاسخ لحظه میدهند به این صورت هستش شما در زمانی که نیاز به ارسال یا دریافت اطلاعات از سمت سرور یا کاربر دارین سعی در بقراری ارتباط می کنین نه مثل اون روش قدیمی که تند تند طبق یه زمانی هی ajax بزنین سمت سرور تا ببنین آیا پاسخی دریافت کردید یا خیر و هر بار این ارتباط قطع و مجددا وصل شود کار به این صورت هست که سرور و کلاینت همیشه به هم وصل هستن و در مواقع نیاز ارتباط برقرار می شود.

 

node-js-logo

 

آموزش نصب

 

Ubuntu

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

 

۱. ترمینال رو باز کنید.

۲. دستورات زیر روش واردش کنید:

 

به همین سادگی نصب شد : )          ; )

 

CentOS

دوم بریم سراغ س centos رایج ترین توزیع لینوکس برای سرور ها که برای این کار دستورات زیر  رو در SSH خود اطلاعات بیشتر

آموزش نحوه نوشتن یک ربات bot برای Telegram

به نام دانای بر حق

مقدمه

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

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

پیش فرض ها

اول از همه شما باید به سیستم عامل خودتون تسلط داشته دارید ( من تو آموزش از لینوکس توزیع ubuntu استفاده می کنم و به شما هم همین os رو پیشنهاد می کنم.) .

دوم با زبان پایتون حداقل دست پا شکسته آشنایی داشته باشید.

سوم تسلط به یک زبان وب و نوشتن یک ربات برای پرسش و پاسخ ( ضروری نیست)

دانلود و نصب

ابتدا پایتون روی سیستمتون نصب کنین اگر لینوکسی هستید نصب شده است نگران نباشید البته نسخه 2.x نه 3

سپس python pip رو نصب کنید در اوبنتو با دستور زیر:

سپس کتابخانه telegram bot رو با Pip نصب کنید به شکل زیر:

سپس git را نصب کنید در Ubuntu به شکل زیر:

در نهایت میریم به پوشه مشخص مثل desktop بعد یه همزاد یا همون clone از ربات اطلاعات بیشتر

اسکایپ و skype در Ubuntu و Linux

 

اسکایپ چیست؟

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

اسکایپ یک شبکه ارتباطات تلفنی کاربر به کاربر (Peer to Peer) است که توسط نیکلاس زنشتروم سوئدی و جانوس فریس دانمارکی ایجاد شد. این دو قبلاً در ساخت یک شبکهٔ اشتراک پرونده به نام کازا (به انگلیسی: Kazaa) همکاری داشتند. برنامه اسکایپ تا انتهای سال ۲۰۰۹ میلادی بیش از ۵۰۰ میلیون کاربر داشته‌است.

شرکت پشتیبانی کنندهٔ این شبکه به نام Skype Group در سال ۲۰۰۵ توسط شرکت ای-بی (به انگلیسی: ebay) خریداری شد و در سال ۲۰۱۱ مایکروسافت اسکایپ را به قیمت ۸٫۵ میلیارد دلار خرید.[۴] مقر اصلی این شرکت در لوکسامبورگ قرار دارد و شعبه‌هایی نیز در لندن، پاریس، تالین و پراگ دارد.

هشدار در مورد اسکایپ

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

بررسی نصب بودن Soap در PHP و نحوه نصب آن روی سرور های لینوکس

به نام یگانه دانای هستی

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

 

خب حالا اگر نصب باشد که بهتر میتونید توی php.ini اون رو فعال کنید یعنی سرچ کنید کلمه Soap رو و خطوط آن رو uncomment کنید و بعد از ریست کردن سرور ازش استفاده کنید و اما اگر نصب نبودش به طریق زیر میتونید اون رو نصب کنید.

 

ابتدا یا ترمینال سرور رو باز کنید و یا از طریق SSH به سرور متصل بشید و در لینوکس های وابسته به red hat مثل centos از کد زیراطلاعات بیشتر

acid تست و استاندارد جهانی سازگاری مرورگر

مقدمه

زمانی که به معرفت بشری چنگ میزنیم دیگر همه چیز معطوف به توافقات بین بشر میشود، در این جا مثل فیزیک و شیمی نیست که ما مجبور باشیم به آنچه خالق هستی بر آن قانون نهاده اتکا کنیم و از اون به اعنوان استاندارد استفاده کنیم، اینجا توافق بین انسان ها مطرح هستش هر توافقی هر چقدر کامل تر و دقیتر باشه و مهم ترین مولفه آن فراگیر تر باشه اعتبار بیشتری دارد و سایرین رغبت به تبعیت از اون رو دارند، اما در استاندارد های دنیای وب یک استاندارد کلی به نام w3 وجود داره که مشخص کننده کلیات کار هستش و یک استاندارد دیگری وجود دارد به نام acid test که مرورگر ها رو آزمون می کنه که چقدر تو پیاده سازی و به روز بودن استاندارد های w3 موفق بودند، البته استاندارد های دیگری نیز وجود دارد که مورد بحث ما نیست.

تاریخچه acid test

Acid که اکنون ورژن فعلی و مورد استناد آن acid3 می باشد یک پروژه استاندارد وب می باشد که و که توسط ارگانی با همین Web Standards Project می باشد این ارگان از سال ۱۹۹۸ بر استاندارد های وب نظارت دارد و استاندراد acid را از سال اکتبر سال ۱۹۹۸ در پهنه وب منتشر کرد که کارش فقط چک کردن باکس ها بودش (یادمه رو ویندوز ۹۸ من فقط بازی می کردم و تا حالا رنگ اینترنت هم ندیده بودم اینا استاندارد داشتن تعریف می کردن) ، و اما acid2 در سال از آپریل ۲۰۰۵ تا سال تا مارچ ۲۰۰۸ مورد استاندارد بودش که ویژگی های css 2.1 رو نیز در مرورگر ها نیز مورد بررسی قرار میدادش و از سال مارچ ۲۰۰۸ تا کنون اسید فعلی یعنی ۳ مورد استناد هستش.

Acid Test چیست؟

در قسمت های قبل مقاله توضیحی مختصری این مورد دادیم، در واقع اسید تست پروژه برای سازگاری مرورگر ها با استاندارد های تحت وب می باشد که در ورژن ۱ آن چیزی های که مورد آزمایش قرار میگرفت html4 و خصوصا css 1 بود و در نسخه دوم آن هان html4 و css 2.1  مورد بررسی قرار میگرفت و اما در نسخه سوم آن تقریبا تمامی ویژگی های مرورگر از جمله Document Object Model (DOM) و جاوا اسکریپت مورد بررسی قرار میگیرد.

عملکرد Acid از ابتدا تا کنون و کد های مورد تست:

کد های html و css1 رو مورد بررسی قرار میگرفت و با استناد به w3 این تست با عنوان زیر و خروجی زیر میبودش که اصل css1 و html4 بود:

و خروجی آن به صورت زیر بود:

Acid1_reference

و اما acid 2 که روی css 2.1 زوم کرده بودش ابز هم html 4 و این بار css 2.1 که دودمان Microsoft پس از انتشار آن به باد فنا رفت  اگر دوست داشته باشید میتوند به کدهاش نگاه کنید که چقدر ساده است اما خروجی اصل چی میبایست بود:اطلاعات بیشتر

نحوه کار کردن سیستم فـ-ـلـیـ-ــتـ-ـرینگ روش ها و متد ها این سامانه

به ایزد یکتا

مقدمه – بی ربط به بخش تخصصی موضوع

ما قصد نداریم یادداشت خلاف یا غیر اخلاقی و مخالف با موازین و قوانین کشور بذاریم یا این که با فــــیــلیتریگ مبارزه کنیم فقط می خواهیم یه آگاهی داشته باشیم اگر این مقدمه رو ننویسم ممکنه سو برداشت شه اگر بحث فنیش فقط علاقه دارید مستقیم برید چیکده توضیحی بدیم در مورد این سیستم تا برنامه نویس ها و توسعه دهنده ها شاید بتونن راههای بهتری پیدا کنند، اما شخصاْ با سیستم تا این سطح و شدت موافق نیستم  و نقد دارم بهش چرا که همیشه احترام از طرف همه تو مکتب ما و غیر مکتب ما به انسان ها توصیه میشه، این سیستم تقریباْ کاری که می کنه اول به شعور ما ها توهین می کنه از نظر شخصی بنده و به قول رهبر معظم انقلاب ارتقای بصریت اهمیت بیشتری داره ایشون در میان مردم چالوس و نوشهر در ۱۵ مهرماه۹۰ فرمودند: “وقتی بصیرت باشد، غبارآلودگی فتنه نمی تواند ملت را گمراه کند و آنها را به اشتباه بیندازد. اگر بصیرت نباشد، انسان ولو با نیت خوب، گاهی در راه بد قدم می گذارد” حالا وقتی صفحه پیوند ها رو میبینم انگار یکی میگه تو نمی فهمی ما میفهمیم برواین عمل معادل فحش هستش نه رشد جامعه و بصیر کردنشون حالا با این حال به نظرم بعضی از سایت نیاز داره فـــیـــلـــتر بشه چون هیچ محتوای مفید و درستی نداره ولی خوب دیگه عزیزان در این بخش کل اینترنت رو کنترات برداشتن یادم بلگفا رو کلا یه چند روزی تو سال ۸۵ منفجر کرده بودن بگذریم الان سایت ما هم دستخوش این دیوار شیشه ای میشه….

 

چکیده

در این مقاله در این سیستم کار کردن پروتکل http که کل وبسایت ها بر این اساس هستند صحبت می کنیم و سپس نحوه عملکرد این سیستم رو روی این پروتکل توضیح میدیم و پیشرفت های سیستم و از کار انداخت پروکــسی های مختلف و علتش رو توضیح میدم.اگر دوست دارین هدر هایی رو که میدیم رو بررسی کنین میتونین تو فایر فاکس اکستشن Live HTTP Header نصب کنین.

 

پروتکل HTTP

پروتکل htttp رو کاری نداریم از کجا اومده اما عملکردش زمانی اهمیت پیاده کنه می کنه که تو مقاله ما مورد بحث هستش مبنای پروتکل HTTP یک پروتکل دیگه ای هستش به نام TCP/IP که قواعد خواصی داره تو این پروتکل بر اساس IP کار می کنه یعنی اول قاعده اش این هستش که IP مقصد و مبدا باید مشخص باشه، خوب نقطه عطف بحث از اینجا شروع میشه حالا ما این مسائله کنار میزاریم تا به موقع بهش بپردازیم و بریم سراغ پروتکل HTTP این پروتکل یه سری هدر داره به عنوان مثال شما زمانی که سایت 4xmen.ir رو میخواین باز کنین این هدر ها ارسال میشه:

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

آدرس ایمیل یک بار مصرف

در عصر ارتباطات داشتن آدرس ایمیل برای هر شخص چیز مهمی به شمار میاد ولی گاهی اوقات بنا به دلایلی مانند هرزنامه های بعضی از سایتها درست نباشه که آدرس ایمیل خودمونو در اختیار کسی یا جایی قرار بدیم.برای ثبت نام در بعضی از سایتها دادن آدرس ایمیل کافی هست و شما میتونین هر آدرسی وارد کنید ولی بعضی از سایتها برای تکمیل ثبت نام باید روی لینکی که به ایمیل شما میاد کلیک کنید.این بدان معنی هست که چاره ای جز دادن ایمیل خود ندارید
خب چاره چیست
استفاده از ایمیلهای 1 بار مصرف مانند disposableوchopsticks
این ایمیلها به گونه ای هستند که در موقع نیاز از انها استفده میکنید و بعد از مصرف آنها را حذف میکنید

1.سرویس ایمیلهای موقتی

Despam.it (period of validity 30 minutes) :
we.despam
10 minute mail (period of validity 10 minutes) :
10minutemail
Guerrilla mail (period of validity 15 minutes) :
guerrillamail

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

spambox:
spambox
Trash Mail
trashmail
Mail Expire:
mailexpire
Tempo Mail:
tempomail

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

Mailinator:
mailinator
spam.la:
spam.la
My Trash Mail:
mytrashmail
Temp Email:
tempemail
spamfree24:
spamfree24
Slopsbox:
slopsbox

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

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

اگر کمی با اکسپلویت نویسی و نحوه اکسپلویت کردن برنامه آشنایی داشته باشید بدون شک با مفهوم Bad Char آشنا هستید. Bad Char در اکسپلویت کاراکترهایی را می گویند که از وارد شدن کامل اکسپلویت به درون حافظه جلوگیری می کنند. بعنوان مثال در ورودی برنامه های C/C++ اگر دربین رشته ورودی 0x00 وجود داشته باشد به عنوان انتهای ورودی محسوب می شود و بعد از کاراکتر 0x00 نادیده گرفته می شود، بنابراین Bad Char ها یکی از ضروریات است که بایستی متناسب با هدف، آنها را بدانیم.

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

جواب : بایستی تمامی کاراکتر های که ممکن است بعنوان Bad Char محسوب گردند را لیست نموده  تا بتوانیم توسط سعی و خطا تک،تک آنهارا بدست آوریم. این لیست در واقع از 0x00 تا 0xFF می باشد.

لیست ایجاد شده را بایستی در اکسپلویت مان بعد از Return Address قرار می دهیم بدین دلیل که Bad Char از بازنویسی Return Address جلوگیری نکند تا بتوانیم درون حافظه چک کنیم که لیست مان تا چه مکانی کپی شده اند و Bad Char چه بوده که باعث جلوگیری از کپی کامل اکسپلویت درون حافظه شده است.

در این مقاله برروی vulnserver که توسط Stephen Bradshaw نوشته شده و یک برنامه آسیب پذیر جهت تست و مثال آموزشی مورد استفاده قرار می گیرد، تست خود را انجام می دهیم.

بعد از اضافه نمودن لیست Bad Char به کدهایمان و ارسال آن به پورت vulnserver اولین راهکار این خواهد بود که بصورت دستی حافظه را چک کنیم تا کاراکتر را بدست آوریم ولی اینکار کمی زمانبر و کسل کننده است. راهکار بعدی استفاده از mona خواهد بود که بهتر از حالت قبل است، پس روند کارمان با استفاده از ابزار mona خواهد بود.

 

اطلاعات بیشتر

امنیت و نحوه کار در شبکه TOR و مسیریابی پیازی [بخش دوم]

درمقاله قبلی به عنوان امنیت و نحوه کار در شبکه TOR و مسیریابی پیازی [بخش اول]  با مفاهیم کلی و نحوه کار شبکه های Tor و دلیل نامگذاری مسیریابی پیازی را فهمیدید.

این شبکه TCP-level است و درواقع UDP کارنخواهد کرد و traceroute و … بی فایده خواهند بود. حال سوال پیش می آید اگر UDP کار نمی کند پس DNS چطور عمل می کند؟ بطور کل Exit Node عمل DNS lookup را انجام می دهد. این شبکه را می توان بصورت Mesh از Onion Router ها دانست و هر روتر با استفاده از SSL/TLS با دیگر روترها در ارتباط است. هر OR دو کلید عمومی دارد : identity key   و onion key.

indexدر لیست دایرکتوری ثبت می شود و Onion key برای اتصال end-user به OR ها مورد استفاده قرار می گیرد. دلیل ایجاد دو کلید عمومی محافظت نمودن Identity key در ارتباط های بلند مدت است .

Entry guard چیست؟ بدین معنی که هر کلاینت TOR بصورت تصادفی چند نود را برای نقاط ورودی ارتباط خود انتخاب می کنند و تنها از این نود ها برای Hop اول استفاده می کنند. اگر C تعدا رله باشد که نفوذگر بر آن کنترل دارد و بطور کل فرض می کنیم که N رله داریم، بنابراین احتمال رخ دادن اینکه رله نقاط ورودی یک از رله های نفوذگر باشد  (N-C)/N خواهد بود.اطلاعات بیشتر

امنیت و نحوه کار در شبکه TOR و مسیریابی پیازی [بخش اول]

در دنیای نفوذ وامنیت گمنامی بحث بسیار مهمی می باشد که تکنیک ها و روش های مختلفی ارائه شده اند. یکی از روش گمنامی شبکه های Tor می باشد که امروزه بحثی جالب است. باتوجه به شبکه Tor و امکاناتی که می توان در استفاده از این شبکه داشت بدافزارها ترغیب شده اند تا برای گمنامی خود بدافزارهایشان را برپایه این شبکه ایجاد نمایند. در این مقاله به شبکه های Tor می پردازیم و بررسی بر نحوه کارکرد آن خواهیم داشت.

Tor که مخفف The Onion Router یک نرم افزار و یک شبکه باز است که کاربر را از آنالیزور های ترافیک محافظت می کند. پروژه Tor که در سال 2006 پدید آمد و در واقع نسل دوم از پروژه مسیریابی پیازی از آزمایشگاه تحقیقات نیروی دریایی ایالات متحده محسوب می گردد. هدف اصلی در ابتدا محافظت از ارتباطات دولتی بوده است که امروزه برای اهداف مختلفی توسط افراد مختلفی مورد استفاده قرار می گیرد. همانطور که گفته شد Tor از مسیریابی پیازی استفاده می کند و مبتنی بر لایه های چندگانه امنیتی است، دقیقا همانند پوست پیاز که لایه به لایه است و این لایه های امنیتی یک به یک از پیام های رد وبدل شده در شبکه Tor حذف می گردند.

index

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

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

اطلاعات بیشتر

بدست آوردن Gateway در Python با scapy

شاید هنگام ‍‍‍‍پیاده سازی یک حمله نیاز داشته باشید که default gateway رو بدست بیارید وجهت اتوماتیک سازی کارها نیاز به ورودی کاربر پیدا نکنید. مثلا برای حمله ARP بطور خودکار gateway آی پی خود را در شبکه بدست بیاورید و حمله را علیه آن انجام دهید و یا حالت های دیگر.

 

در فایل config.py کلاسی به نام conf وجود دارد.این کلاس شامل تنظیمات scapy است. براحتی میتونیم با دستور زیر این تنظیمات رو مشاهده کنیم:

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

خوب میبینیم که  routing table درون سیستممان را بطور کامل برایمان نشان داد که default gateway نیز شامل آنهاست و چیزی که میخواهیم بدست آوریم. parse نمودن بدین صورت زیاد جالب نخواهد بود بنابراین بازهم از conf.route به فیلد دیگری مراجع میکنیم تا اطلاعات را بصورت بهتری متناسب با کاری که میخواهیم انجام دهیم به نمایش درآید.بدین صورت:

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