spyman

_.-* دیوار آتش برای جوملا *-._

15 پست در این موضوع

ارسال شده در (ویرایش شده)

سلام خدمت همه دوستان

این تاپیک رو فقط به آموزش قدم به قدم هک اختصاص دادیم که همگی شما با تمامی مباحث آشنا شوید:

قوانین تاپیک :

1- جواب پیشنهاد و انتقاد شما در تایپیک _.-*سوالات هک و امنیت*-._ قرار داده شود .

2- آموزش هک به تایپیک _.-* آموزش قدم به قدم هک *-._ بروید .

3-_.-*بازار باگ جوملا مخلوت ( جدام نمیشه . درهم و برهمه )*-._

4 -_.-*نفوذ به سیستم مدیریت محتوای Joomla به همراه مثال*-._

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

6- تمرینات تو گروه هک انجام میدم و کسای که میخوان بیان پیام خصوصی بدن .

موارد مهم که در ساخت یک سایت باید رعایت کنین این که:

اولین کار و مهم ترین کار یک پسورد خوب و عالی مثل ♥mNôm¤o15µaLL باشه ترکیبی منظورمه -مثلا (Alt+75412=¤) اینم بگم هکرا هر کار کنن پس از خود شما میگیرن چرا چون کرک کردن پس که گذاشتم امکان نمیگم نداره ولی خیلی مشکل کرک میشه

دومین کار اینه که jos_ که در نصب میخواد تغییر بدین مثلا بدین j0o0m8ela_ بد نصب کنین

سوم اینکه زایه بازی نکنین و از یوزر جدید برای مدیریت بسازین .

چهارم اکنت ادمین گمرا کننده بسازین مثلا Spyman این اکنت مدیریت اصلیه admin بسازین و اونو به شکل ادمین در بیارین تا شناسای اکنت مدیریت مشکل بشه و از برنامه تغییر آیپی ادمینم حتما استفاده کنین . رمز گزاری روی فولدر administrator با کدهای htaccess و ... با این پلاگین تمام این کارارو انجام بدین akeebackup‏

پنجم نصب کامل کنین و پوشه نصب کامل کامل کامل خذف کنین .

شیشم تمام فایلهای دریافتی برای نصب ماژولها , تمها , و تمامی فایلهای نصبی را از سرورهای امن دریافت کنید و از نصب بستهای مرد دار جدن خداری کنید .

هفتم به هیچ عنوان از ایمیل اصلی که مال بخش مدیریت استفاد نکنین . چون زدن پس yahoo و gmail مثل آب خوردن .

هشتم فایل robots.txt از شاخه اصلی پاک کنین .

نم از وجود فایل index.html در همه شاخها چک کنین و اگه نبود بزارین اونجا برای ایجاد در نوت پت مقدار <!DOCTYPE html><title></title> بدین و با نام index.html ذخیره کنین ( مهم )

دهم که خیلی مهمه کاریکه میکنین اونو تو localhost ران میکنن و با نرم افزارای باگ گیر مثل هویج و Acunetix چیک میکنید و اگر مشکلی داشتین اونو درست کنین و ایو من پیشنهاد نمیکنم یا از دیدن عوموم جلوگیری کنین. ( خیلی مهم )

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

یا علی

ویرایش شده در توسط spyman

Share this post


Link to post
Share on other sites

یك فایل بسیار ساده با محیط تكست .

چگونه میتوان آنرا تولید كرد ؟

برای ساختن این فایل تنها كافیست یك محیط تكست ادیتور داشته باشید . مثل notepad

این فایل در كجا هست ؟

این فایل در دایركتوری اصلی وبسایت شما قرار دارد و هر دایركتوری دیگری كه بخواهید .

وظیفه این فایل چیست ؟

تقریبا تمامی محدودیت*های اعمالی بر آن دایركتوری را بر عهده دارد و میتواند پیغام*های خطا را مدیریت كند و چندین وظیفه دیگر كه اگر كمی در تنظیمات آن قصور و غفلت كنید شاید سایت شما بار گذاری نشود .

تمامی*هاست*ها از این نوع گونه فایل حمایت میكنند ؟

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

قبل از شروع كار حتما یك نسخه بك آپ از فایلی كه هم اكنون در دایركتوری شما قرار دارد بگیرید بعضی وبسرور*ها این فایل را دارند اما داخلش هیچی نیست كه دیگر نیازی به پشتیبان گیری نیست .

قبل از شروع آموزش بگویم كه این آموزش مختص صاحبان وب سایت*ها هست و كاربرانی كه دارای سایت اختصاصی نیستند نمیتوانند استفاده چندانی از این مطلب بكنند اما خوب برای اطلاعات عمومی بد نیست به ادامه ان بپردازید . فكر كنم تقریبا 90% صاحبان وب این فایل را دیده باشند و بدون هیچ شكی در مورد ان از كنار ان گذشته باشند برای همین هم احتمال میدهم یكی از موضوعاتی كه در موردش كمتر مقاله ای پیدا میكنید همین مطلب باشد . به هر حال تصمیم گرفته ام كمی در مورد این فایل بظاهر بی ارزش صفر كیلوبایتی توضیحاتی بدهم .

با استفاده از این فایل میتوانید پیغام*های خطایی كه ظاهر میشود را تغییر دهید یا اینكه صفحه را بدون استفاده از redirector كنترل پنل redirect كنید یا اینكه اجازه لیست گرفتن از دایركتوری خاصی از وبسایتتون رو محدود كنید .

قبل از شروع كار مطمئن شوید كه ادیتور شما خاصیت word wrap را غیر فعال كرده است اگر نه خودتان آنرا غیرفعال كنید .

فایل .htaccess در دایركتوری اصلی وبسایت شما یا سابدایركتوری شما قرار دارد دستوراتی كه در این فایل قرار میگیرد نه تنها دایركتوری جاری را تحت تاثیر خود قرار میدهد بلكه كلیه زیردایركتوری*های خود را نیز در بر میگیرد . بنابراین اگر از این فایل برروی دایركتوری اصلی خودتان استفاده كنید تمامی سایت را در برمیگیرد . در ضمن میتوانید این فایل را در هر دایركتوری كه خواستید نیز ایجاد كنید تا محدوده كنترل در دست خودتان باشد . اگر با CSS كار كرده باشید كار كردن با این فایل هم تقریبا مشابه همان است و برای افرادی كه با ان اشنایی دارند اسانتر است به هر حال هر فایلی كه در دایركتوری ویژه ای قرار دارد به نزدیكترین فایل htaccess خود مرتبط میشود و ان htaccess ان فایل را كنترل میكند .

برای ساختن این فایل هیچ نیازی به نرم افزار یا سخت افزار ویژه ای ندارید تنها به یك notepad یا هر پردازنده متنی دیگری نیازمندید .

برای ساختن این فایل كه نامی ندارد و فقط هشت حرف برای نوع فرمت ان در نظر گرفته شده است “.htaccess” وقتی میخواهید این فایل را در پردازنده متنی خود ذخیره كنید نام فایل به این صورت ذخیره میشود .htaccess.txt

برای اینكه چنین اتفاقی نیفتد كافیست از منوی file گزینه save as… را انتخاب كنید در file type گزینه all files را انتخاب كنید و سپس در file name تایپ كنید “.htaccess” دات اچ تی اكسس را درون دو كوتیشن بگذارید اگر نتوانستید این كار را بكنید بعدا میتوانید از طریق كنترل پنل یا نرم افزار ftp خود نام فایل را عوض كنید . در مورد استفاده از نرم افزار*های ftp بگویم كه همانطور كه میدانید اینگونه نرم افزار*ها برای اسودگی اتصال به وبسرورتان میباشد كه فایل*ها را در سه نوع upload میكند كه سه گزینه Auto , binary, ASCII وقتی این فایل را با ftp اپلود میكنید یادتان باشد نرم افزار شما در حالت ASCII باشد . در ضمن یك مطلب دیگر هم در این مورد كه باید CHMOD كه مخفف Change MODe میباشد را برای این فایل عوض كنید پرمیشن این فایل باید 644 باشد یا RW-R—R— كه این عمل هم برای افزایش امنیت میباشد كه خوشبختانه همگی اشنایی با ان را دارید اما شاید بعدا بیشتر در مورد permission*ها توضیح دادم .

این فایل به شما اجازه میدهد كه شما كاربران و ویزیتور*های خودتان را از صفحه ای به صفحه دیگر منتقل كنید حتما شده است كه بخواهید این كاررا انجام دهید مثلا در مورد خود من شما از parsx.com به weblog.parsx.com میروید البته من از این روش استفاده نكرده ام اما دلایل دیگری نیز میتواند عامل شود كه شما از این ریدایركت استفاده كنید شاید كاربر شما اشتباها ادرس صفحه ای از وبسایت شما را وارد كند یا اینكه شاید لینكی در وبسایت شما بنا به دلیلی شكسته شده باشد و از بین رفته باشد و ان صفحه پاك شده باشد به جای اینكه كاربر شما هیچ چیزی نبیند میتوانید انرا به صفحه اصلی سایت بسته به سلیقه خودتان منتقلش كنید . برای مثال فرض كنید كاربری با یك پیغام خطا مواجه شد برای آنكه او را به صفحه دیگری منتقل كنید باید به این صورت در فایل بنویسید :

ErrorDocument errornumber /filename.html

به جای errornumber شماره خطا را مینویسید اصولا خطای 404 زیاد اتفاق میفتد بنابراین میتوانید شماره 404 را بنویسید .

اگر خواستید تمامی پیغام خطاها را به فولدر خاصی ببرید به اینصورت عمل كنید :

ErrorDocument 404 /errorpages/notfound.html 

در مورد شماره پیغام خطاها هم كمی بگویم :

400این پیغام اصولا زمانی ظاهر میشود كه كاربر ادرس اشتباهی رفته باشد.

401وقتی كاربر به دایركتوری و یا جایی میرود كه اجازه ورود به انرا ندارد.

403وقتی فایل طوری تنظیم شده است كه كاربر اجازه دسترسی به ان را ندارد.

404 not found.

500internal server error اشكال عموما از اسكریپت*های داخلیست .

باز هم پیغام خطا داریم كه زیاد به درد نمیخورد .

كاربرد دیگر این فایل استفاده از رمز عبور است كه البته پیكر بندی ان كمی سخت تر از تنظیمات پیام*های خطاست .

ابتدا فایلی به این نام ایجاد كنید .htpasswd این فایل هم خصوصیاتی چون فایل .htaccess دارد این فایل حاوی نام*های كاربری و كلمه*های عبور . كه بصورت زیر انها را تعیین میكنید در این فایل

Username:password

Username:password

Username:password

حواستان باشد كه هر كدام در یك خط باشند و همچنین اشتباها فضای space در اخر خط*ها وارد نكنید . در ضمن برای نام*های كاربری كه مشكلی پیش نمی*اید اما برای كلمه*های عبور برای افزایش امنیت باید از نرم افزارهایی كه انها را تبدیل میكنند استفاده كنید . كه بعدا كمی در این مورد توضیح خواهم داد .

یادتان باشد كه این فایل را در فولدر*های بالایی www یا public_html بگذارید یعنی در فولدر main .

حال برای انكه مشخص كنید كدام بخش از سایت یا كدام دایركتوری شامل رمز عبور بشوند باید به این صورت عمل كنید در فایل htaccess خطوط زیر را اضافه كنید.

AuthUserFile /home/pathto/.htpasswd
AuthType Basic
AuthName "Secret Place"

<LIMIT GET POST>
require valid-user
</LIMIT>

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

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

<files "filename.cgi">
AuthUserFile /home/pathto/.htpasswd
AuthType Basic
AuthName "Secret Place"
require valid-user
</files>

برای محافظت از خود فایل .htaccess نیز میتوانید خط زیر را وارد كنید :

<files ".htaccess">
order allow,deny
deny from all
</files>

اگر هاست شما از این فایل پشتیبانی میكند اما از SSI پشتیبانی نمیكند كافیست خطوط زیر را وارد كنید تا از SSI هم پشتیبانی شود .

AddType text/html .shtml
AddHandler server-parsed .shtml
Options Indexed FollowSymLinks Includes

خط اول بیان میكند كه كلیه فایل*ها با پسوند shtml دارا صحت هستند خط دوم یك handler اضافه میكند خط سوم باعث میشود سرور این فایل*ها را اجرا كند .

بنابراین شما خودتان بدون نیاز به درخواست از ادمین سرور توانستید SSI را فعال كنید .

اگر هم دوست دارید فایل*های SSI بصورت جداگانه از فایل*های html نباشند میتوانید خطوط زیر را اضافه كنید :

AddType text/html .shtml .html . htm
AddHandler server-prased .shtml .html .htm
Options Indexes FollowSymLinks Includes

این خطوط باعث میشوند كه كلیه فایل*ها با پسوند html نیز به سرور برای اجرا شدن منتقل شوند تا اگر كدی كه برای SSI باشد داشته باشد را اجرا كند و سپس صفحه شروع به بارگذاری كند .

Share this post


Link to post
Share on other sites

با این روش شما میتوانید بازه خاصی از آدرس IP یا IP خاصی از فرد خاصی را اضافه كنید تا ان فرد صاحب IP نتواند وارد صفحه خاص یا كل وبسایت شود . البته در كنترل پنل*ها اصولا این گزینه به صورت گرافیكی هست اما توجه كنید كه اگر در انجا به این كار اقدام كنید فرد مورد نظر از كل سایت محروم خواهد شد اما با استفاده از این عمل میتوانید IP خاصی را از صفحه خاصی محروم كنید . مثلا فرض كنید ادرس گوگل بت رو بگذاریم تا نتواند وارد صفحه خاصی شود .

بنابراین خطوط زیر را اضافه كنید :

Order allow,deny
Deny from ipaddress
Allow from all

به جای ipaddress میتوانید ادرس ایپی را بنویسید مثل : 172.16.204.100

خط اول میگوید كه شما میخواهید چكار كنید و خط دوم میگوید كه ادرس مشخص شده را ممنوع كند . البته میدانید كه هر فرد با هر قطع ارتباط از اینترنت مخصوصا سرویس*های تلفنی بعد از هر بار اتصال ادرس ایپی انها عوض میشود یعنی 3 رقم اخر كه برای اینكه كل 256 ادرس را ممنوع كنید كافیست ارقام اخری را ننویسید .

خط اخر هم به دیگران اجازه میدهد كه وارد سایت شوند . در ضمن شما میتوانید نام دامنه را نیز ممنوع كنید به این صورت كه به جای ادرس ای پی بنویسید : .parsx.com

وقتی كاربر سعی در ورود به صقحه ویژه كه ممنوع شده است را دارد پیغام خطای 403 را میبیند . اگر میخواهید مثلا دایركتوری خاصی را از دسترسی همه ممنوع كنید اما اسكریپت*ها و دیگر اجزایی كه به فایل نیاز دارند بتوانند به ان دسترسی پیدا كنند كافیست خط deny from all را اضافه كنید .

Share this post


Link to post
Share on other sites

اكثر میزبانهای وب فایلی كه وظیفه لود شدن در هنگام باز كردن دایركتوری خاصی را دارد با نام index قرار میدهند كه با استفاده از htaccess میتوانید انرا عوض كنید . خط زیر را به فایل اضافه كنید :

DirectoryIndex filename.html

حتما دیده اید كه اگر فایل index.html در دایركتوری نبود سرور فایل دیگری مثلا index.php را اجرا میكند روش به اینصورت است كه در دستور فوق بعد از filename.html با یك فضای خالی نام*های دیگر را وارد میكنید . بنابراین سرور در دایركتوری ویژه ابتدا به دنبال فایل اولی و سپس به دنبال فایل دومی و به همین ترتیب جستجو میكند . اگر هم هیچ یك از فایل*ها پیدا نشد پیغام خطای 404 ظاهر میشود .

Share this post


Link to post
Share on other sites

حتما میدانید كه راههای زیادی برای ریدایركت كردن فایلی خاص به فایل دیگر وجود دارد اما بهترین كار همین است كه میگویم

در فایل خط زیر را وارد كنید :

Redirect /OldDir/OldFile.html http://www.domainname.com/newdir

بنابراین دستور به شرح زیر است

Redirect oldlocation newlocation

منتهی یادتان باشد كه newlocation باید نام ادرس كامل سایت باشد .

Share this post


Link to post
Share on other sites

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

Options -Indexes

یا خط زیر را وارد كنید

IndexIgnore *

اما عكس این عمل نیز میتواند اتفاق بیفتد یعنی به صورت پیشفرض در سرور تنظیم شده است كه فایلها لیست نشودند اما شما میتوانید این گزینه را با خط زیر غیزفعال كنید :

Options +Indexes

اگر هم میخواهید فایلها لیست شوند اما گروه خاصی از انها مثلا عكس*ها لیست نشوند به صورت زیر عمل كنید :

IndexIgnore *.gif *.jpg

بعضی سرور*ها بعضی از فایلها را نمیشناسند با استفاده از این فایل میتوانید خط زیر را وارد كنید تا انها را بشناسد مثلا برای فایل*های فلش میتوانید دستور زیر را وارد كنید

AddType application/x-shockwave-flash swf

Addtype به فایل اعلان میكند كه باید نام فایلی جدید اعلان شود.

میدانید كه هر فایلی كه از سرور سایت شما بارگذاری میشود در پهنای باند شما موثر است حال فرض كنید شما فایلی مثلا عكسی یا موسیقی برای دانلود در سایت گذاشته اید ! خوب بالطبع شما با استفاده از فرمول و محاسباتی كه در ذهن خود انجام داده اید و نسبت به تعداد كاربرانتان سنجیده اید كه با پهنای باندتان مطابقت داشته باشد اما كافیست سایت*های دیگری از فایل شما مثلا یك عكس شما استفاده كنند و عكس شما را در سایت خود قرار دهند و ادرس عكس ادرس همان عكسی باشد كه در سایت شما قرار دارد بنابراین از پهنای باند شما برای بار گذاری عكس استفاده میشود لذا انروزی كه پهنای باند شما از حد خود میگذرد شما باید هزینه كنید كه باز هم پهنای باند بخرید در صورتی كه میتوانید با استفاده از این فایل از انجام چنین كاری ممانعت كنید !منتهی قبلش باید توجه داشته باشید كه ایا هاست سرور شما از mod_rewrite پشتیبانی میكند یا خیر ؟!

اگر نمیكند این گزینه برای شما فایده ای نخواهد داشت و نمیتوانید با این كار مبادرت ورزید .

به فولدری كه ان فایل یا مجموعه عكس*های شما قرار دارد بروید و در فایل .htaccess ان دایركتوری خطوط زیر را اضافه كنید

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ - [F]

به جای mydomain.com نام دامنه خودتان را بنویسید مثلا parsx.com دستور فوق باعث میشود فایل*های با پسوند gif jpg نتوانند در سایت*های دیگر نمایش داده شوند اما شما میتوانید كار دیگری نیز بكنید مثلا بگذارید دیگران از عكس*های شما استفاده كنند و سپس طی یك حركت ناجوانمردانه فایل htaccess را گونه ای تعویض كنید كه تمامی عكس*ها و فایل*ها با عكس دیگری نمایش داده شوند مثلا عكسی بگذارید كه ادرس سایت خودتان را بگذارید . مثلا freeservers چنین كاری كرده است . اگر به عكس سایت*هایش لینك دهید نام سایت خودش نمایش داده میشود .

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ http://www.mydomain.com/badimage.gif [R,L]

به جای mydomain نام دامنه خودتان و ادرس عكس خودتان رابه جای ادرس فوق بگذارید .

Share this post


Link to post
Share on other sites

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

در هنگام استفاده از فایل .htaccess، دانستن سه نکته از اهمیت به‏سزایی برخوردار است:

نکته اول: فایل .htaccess را می‏بایست به صورت ASCII آپلود کرده و مجوز دسترسی به آن را بر روی 644 (یا rw-r--r--) تنظیم نمایید.

نکته دوم: فایل .htaccess را می‏توانید به پوشه‏های مختلفی اعمال نمایید. به عنوان مثال اگر آن را بر روی root آپلود نمایید، تنظیمات آن به کل وب‏سایت اعمال خواهد شد و اگر آن را درون پوشه‏ای نظیر images/ آپلود نمایید، تنظیمات آن به پوشه images و زیرپوشه‏های آن اعمال خواهد شد.

نکته سوم: هر htaccess را می‏بایست درون یک خط تایپ نمایید. یعنی در انتهای هر دستور، می‏بایست یک‏بار کلید Enter را فشار دهید.

Share this post


Link to post
Share on other sites

فرض کنید پوشه‏ای از تصاویر دارید و نمی‏خواهید که افراد غریبه، محتویان این پوشه را دیده و آن‏ها را تماشا کنند. برای این کار، سه راه وجود دارد:

1- ساخت یک صفحه index و قرار دادن آن در پوشه مورد نظر

2- استفاده از فایل .htaccess

3- استفاده از فایل*های HEADER و README

از آنجا که بحث ما در مورد فایل .htaccess می‏باشد، راه دوم را مورد بررسی قرار می‏دهیم. برای این کار می‏بایست از فرمان IndexIgnore استفاده نمایید:

IndexIgnore *

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

IndexIgnore *.gif *.jpg

در واقع این کد از لیست‏شدن تمامی فایل‏هایی که به .gif و .jpg ختم می‏شوند، جلوگیری می‏کند.

حال فرض کنید که سرور شما، به طور پیش‏فرض، از لیست‏شدن پوشه‏ها جلوگیری کرده است و شما می‏خواهید آن را تغییر دهید. برای این کار می‏توانید از دستور زیر استفاده کنید:

Options +Indexes

Share this post


Link to post
Share on other sites

به طور کلی، تمامی وب ‏سرورها از روی قانون خاصی صفحات وب را نشان می‏دهند. برای آنکه صفحات وب تنها به یک پسوند منحصربه‏فرد نظیر .htm ختم نمی‏شوند و انواع‏و‏اقسام پسوند‏های مختلف، برای صفحات وب وجود دارد.

حال فرض کنید که وب‏سرور شما، ابتدا فایل index.html را نشان می‏دهد و در صورت نبود آن، فایل‏های index.htm، index.php و ... شما می‏خواهید این روند را تغییر داده و فایل index.php را در اولویت قرار دهید. بدین منظور می‏بایست از دستور DirectoryIndex استفاده نمایید:

DirectoryIndex index.php index.cgi index.pl default.htm

کد بالا ابتدا به دنبال فایل index.php گشته و در صورت پیدا کردن آن، آن را به عنوان صفحه وب پیش‏فرض نمایش می‏دهد. اگر فایل index.php پیدا نشد، سرور به دنبال فایل بعدی که index.cgi می‏باشد گشته و همین روال، ادامه پیدا می‏کند. دقت داشته باشید که شما حتما مجبور به استفاده از index برای نام فایل نیستید و از هر اسم دیگری نیز، می‏توانید استفاده کنید.

Share this post


Link to post
Share on other sites

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

Redirect /olddirectory/oldfile.html http://yoursite.com/newdirectory/newfile.html

همچنین می‏توانید یک پوشه را به پوشه دیگر ارجاع دهید:

Redirect /olddirectory http://yoursite.com/newdirectory/

Share this post


Link to post
Share on other sites

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

Cpanel این عمل را توسط Password Protect Directories به ساده*ترین شکل در اختیار شما قرار می*دهد.

طریقه عملکرد

به مدیریت Cpanel وارد شوید و گزینه Password Protect Directories را در مجموعه Security بیابید و بر روی آن کلیک کنید.

یک پنجره همانند تصویر زیر برای شما نمایش داده می*شود.

http://docs.joomlafarsi.com/index.php/%D9%BE%D8%B1%D9%88%D9%86%D8%AF%D9%87:Password_Protect_Directories_01.png

در این تصویر دوگزینه با رنگهای سبز و آبی از یکدیگر تفکیک شده*اند.

با انتخاب گزینه هایلایت شده سبز کلیه پوشه*های هاست به شما نمایش داده می*شود. تمامی پوشه*های موجود در پوشه public_html به شما نمایش داده می*شود.

با انتخاب گزینه هایلایت شده آبی شما می*توانید در کادر زیرین، آدرس سایت مورد نظر خود را انتخاب کنید. اگر شما چند Sub Domain و یا Addon Domain داشته باشید در لیست کشویی زیرین این گزینه می*توانید سایت مورد نظر خود را انتخاب کنید.

حال تصویر زیر را مشاهده کنید.

http://docs.joomlafarsi.com/index.php/%D9%BE%D8%B1%D9%88%D9%86%D8%AF%D9%87:Password_Protect_Directories_02.png

همانطور که در تصویر مشاهده می*کنید لیستی از تمامی پوشه*های موجود در هاست در حال نمایش می*باشد. در این مثال، ما برای پوشه mamboserver شناسه و رمز*عبور تعریف می*کنیم.

برروی نام پوشه mamboserver کلیک می*کنیم. توجه : کلیک بر روی آیکن پوشه در مقابل نام محتویات (فایلها و پوشه*های موجود( پوشه مورد نظر را نمایش می*دهد.

پس از کلیک بر روی نام پوشه تصویر زیر نمایش داده می*شود.

http://docs.joomlafarsi.com/index.php/%D9%BE%D8%B1%D9%88%D9%86%D8%AF%D9%87:Password_Protect_Directories_03.png

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

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

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

در کادر نارنجی رنگ شناسه مورد نظر خود و در کادرهای زرد رنگ رمزعبور مربوط به شناسه را بنویسید. سپس برروی کلید Add/modify authorized user کلیک کنید تا شناسه ایجاد گردد.

توجه : شما می*توانید شناسه*های مختلفی ایجاد کنید.

تمامی شناسه*های ایجاد شده در کادر قرمز رنگ نمایش داده می*شوند.

Share this post


Link to post
Share on other sites

توی یکی از کتاب هایی که داشتم مطالعه می کردم به موضوع جالبی در مورد امنیت URL ها رسیدم که بد ندیدم اونو با شاما دوستان به اشتراک بزارم.

Validate کردن داده های ارسالی یا همون آرگومان ها جزو اصول اولیه تضمین امنیت برای یک برنامه هستش. راه حل های مختلفی مثل استفاده کردن از White/Black List, Escaping و …. وجود داره. ولی حقیقت اینه که دور زدن این مدل از بررسی صحت داده ها برای یک کرکر کار درست, چندان سخت نیست…..

HMAC Verification روشی هست که تو این پست قصد داریم نگاهیی به اون داشته باشیم. خلاصه روش این هست که از آرگومان های ارسالی یک هش درست می کنیم و اون رو به همراه خود آرگومان ها ارسال می کنیم که اگر یه زمانی یه کرکر با آرگومانهای ما شلوغ کاری کرد سیستم Validation ما قابل دور زدن نباشه.

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

function create_parameters($array) {
   $data = '';
   $ret  = array();

   foreach ($array as $key => $value) {
       $data .= $key . $value;
       $ret[] = "$key=$value";
   }

   $hash  = md5($data); // sha1($data) or any hashing func you want
   $ret[] = "hash=$hash";
   return join ('&', $ret); // you can use implode instead of join
}

echo '<a href="script.php?'. create_parameters(array('cause' => 'vars')).'"> Target URL </a>';

// out put:
// <a href="script.php?cause=vars&hash=8eee14fe10d3f612589cdef079c025f6"> Target URL </a>

خوب این روش اول کمی ساده هستش و با Brute Force و یا یکم حرفه ای تر به کمک Rainbow ها قابل دور زدن هستش. حالا اگه از روش HMAC استفاده کنیم دیگه می شه گفت که امنیت این قسمت از برنامه رو تضمین کردیم.

کلاسی که الان معرفی می شه برای هش کردن داده ها به کمک یک کلید مخقی هستش که خودمون تعیین می کنیم.

// Crypt/HMAC.php
class Crypt_HMAC {
   /**
   * Constructor
   * Pass method as first parameter
   *
   * @param string method - Hash function used for the calculation
   * @return void
   * @access public
   */

   function Crypt_HMAC($key, $method = 'md5') {
       if (!in_array($method, array('sha1', 'md5'))) {
           die("Unsupported hash function '$method'.");
       }

       $this->_func = $method;

       /* Pad the key as the RFC wishes (step 1) */
       if (strlen($key) > 64) {
           $key = pack('H32', $method($key));
       }

       if (strlen($key) < 64) {             $key = str_pad($key, 64, chr(0));       }       /* Calculate the padded keys and save them (step 2 & 3) */      $this->_ipad = substr($key, 0, 64) ^ str_repeat(chr(0x36), 64);
       $this->_opad = substr($key, 0, 64) ^ str_repeat(chr(0x5C), 64);
   }

   /**
   * Hashing function
   *
   * @param string data - string that will hashed (step 4)
   * @return string
   * @access public
   */
   function hash($data) {
       $func = $this->_func;
       $inner = pack('H32', $func($this->_ipad . $data));
       $digest = $func($this->_opad . $inner);
       return $digest;
   }
}

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

require_once('Crypt/HMAC.php');
/* The RFC recommends a key size larger than the output hash
* for the hash function you use (16 for md5() and 20 for sha1()). */
define ('SECRET_KEY', 'Professional PHP 5 Programming Example');

function create_parameters($array) {
   $data = '';
   $ret = array();

   /* Construct the string with our key/value pairs */
   foreach ($array as $key => $value) {
       $data .= $key . $value;
       $ret[] = "$key=$value";
   }

   $h = new Crypt_HMAC(SECRET_KEY, 'md5');
   $hash = $h->hash($data);
   $ret[] = "hash=$hash";
   return join ('&', $ret);
}
echo '<a href="script.php?'. create_parameters(array('cause' => 'vars')).'">URL!</a>';

// output
// <a href="script.php?cause=vars&hash=6a0af635f1bbfb100297202ccd6dce53"> URL!</a>
// To verify the parameters passed to the script, we can use this script:
require_once('Crypt/HMAC.php');
define ('SECRET_KEY', 'Professional PHP 5 Programming Example');

function verify_parameters($array) {
   $data = '';
   $ret = array();
   /* Store the hash in a separate variable and unset the hash from
   * the array itself (as it was not used in constructing the hash
   */
   $hash = $array['hash'];
   unset ($array['hash']);

   /* Construct the string with our key/value pairs */
   foreach ($array as $key => $value) {
       $data .= $key . $value;
       $ret[] = "$key=$value";
   }
   $h = new Crypt_HMAC(SECRET_KEY, 'md5');

   if ($hash != $h->hash($data)) {
       return FALSE;
   } else {
       return TRUE;
   }
}

/* We use a static array here, but in real life you would be using
* $array = $_GET or similar. */
$array = array(
   'cause' => 'vars',
   'hash' => '6a0af635f1bbfb100297202ccd6dce53'
);

if (!verify_parameters($array)) {
   die("Dweep! Somebody tampered with our parameters.\n");
} else {
   echo "Good guys, they didn't touch our stuff!!";
}

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

مثلا می شه با اضافه کردن session و یا ذخیره کردن هش ها تو پایگاه داده بازهم امنیت رو بیشتر کرد.

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

منبع : phpdevelopers.ir

Share this post


Link to post
Share on other sites

۱. ایجاد فایلی با نام htpasswd. و اون رو در یکی از شاخه ها قرار بدید .

توصیه میشه که به دلایل امنیتی این فایل در شاخه ی که به کاربر Remote

اجازه ی دسترسی داده نمیشه قرار بگیره . یعنی :

/home/mriq/.htpasswd

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

نمونه :

mriq:$1$pl1H5Z9J$Lqd2XROQfTKyoXEMJ9w6Z0

قسمت دوم یعنی پسورد رو باید encrypt كرد که نوع اینکود

des(unix) و يا md5(unix)

هستش . میتونید برای مثال تو سط فانکشن crypt پی اچ پی

این کار رو انجام بدید . یعنی :

<?php

echo crypt("mypassword");

?>

و خروجی پسورد اینکریپت شده میباشد که باید جایگزین کنید .

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

که گفته شد) قرار بدید .

۲. ایجاد فایلی با اسم htaccess. و این مقدار رو دورنش قرار بدید :

AuthUserFile /home/mriq/.htpasswd
AuthType Basic
AuthName "Please Enter username and password"
Require valid-user

* : در قسمت AuthUserFile بايد مسیر فایل htpasswd. رو قرار بدید.

فایل htaccess. رو توی فولدری که میخواید پسورد روش بزارید رو قرار بدید .

یکی از روشهای دیگه برای ایجاد یوزر و پسورد مربوط به فایل htpasswd. دریافت پکت mini-httpd

هستش كه بعد از دریافت و نصب به این صورت میتونید عمل کنید . ( در unix/linux )

mriq@mriq-laptop:~$ htpasswd -c .htpasswd mriq
Adding password for mriq.
New password:
Re-type new password:
mriq@mriq-laptop:~$ cat .htpasswd
mriq:55dxMdj3BdVdI

Share this post


Link to post
Share on other sites
سلام خدمت همه دوستان

این تاپیک رو فقط به آموزش قدم به قدم هک اختصاص دادیم که همگی شما با تمامی مباحث آشنا شوید:

قوانین تاپیک :

1- جواب پیشنهاد و انتقاد شما در تایپیک _.-*سوالات هک و امنیت*-._ قرار داده شود .

2- آموزش هک به تایپیک _.-* آموزش قدم به قدم هک *-._ بروید .

3-_.-*بازار باگ جوملا مخلوت ( جدام نمیشه . درهم و برهمه )*-._

4 -_.-*نفوذ به سیستم مدیریت محتوای Joomla به همراه مثال*-._

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

6- تمرینات تو گروه هک انجام میدم و کسای که میخوان بیان پیام خصوصی بدن .

موارد مهم که در ساخت یک سایت باید رعایت کنین این که:

اولین کار و مهم ترین کار یک پسورد خوب و عالی مثل ♥mNôm¤o15µaLL باشه ترکیبی منظورمه -مثلا (Alt+75412=¤) اینم بگم هکرا هر کار کنن پس از خود شما میگیرن چرا چون کرک کردن پس که گذاشتم امکان نمیگم نداره ولی خیلی مشکل کرک میشه

دومین کار اینه که jos_ که در نصب میخواد تغییر بدین مثلا بدین j0o0m8ela_ بد نصب کنین

سوم اینکه زایه بازی نکنین و از یوزر جدید برای مدیریت بسازین .

چهارم اکنت ادمین گمرا کننده بسازین مثلا Spyman این اکنت مدیریت اصلیه admin بسازین و اونو به شکل ادمین در بیارین تا شناسای اکنت مدیریت مشکل بشه و از برنامه تغییر آیپی ادمینم حتما استفاده کنین . رمز گزاری روی فولدر administrator با کدهای htaccess و ... با این پلاگین تمام این کارارو انجام بدین akeebackup‏

پنجم نصب کامل کنین و پوشه نصب کامل کامل کامل خذف کنین .

شیشم تمام فایلهای دریافتی برای نصب ماژولها , تمها , و تمامی فایلهای نصبی را از سرورهای امن دریافت کنید و از نصب بستهای مرد دار جدن خداری کنید .

هفتم به هیچ عنوان از ایمیل اصلی که مال بخش مدیریت استفاد نکنین . چون زدن پس yahoo و gmail مثل آب خوردن .

هشتم فایل robots.txt از شاخه اصلی پاک کنین .

نم از وجود فایل index.html در همه شاخها چک کنین و اگه نبود بزارین اونجا برای ایجاد در نوت پت مقدار <!DOCTYPE html><title></title> بدین و با نام index.html ذخیره کنین ( مهم )

دهم که خیلی مهمه کاریکه میکنین اونو تو localhost ران میکنن و با نرم افزارای باگ گیر مثل هویج و Acunetix چیک میکنید و اگر مشکلی داشتین اونو درست کنین و ایو من پیشنهاد نمیکنم یا از دیدن عوموم جلوگیری کنین. ( خیلی مهم )

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

یا علی

سلام خسته نباشید

لطفا مورد 10 را بار دیگر توضیح دهید و همین طور این فایل ضمیمه برای چه کاریست؟

Share this post


Link to post
Share on other sites

درود

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

Share this post


Link to post
Share on other sites

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری