Pooyan Afzali

تاپیک مقالات آموزشی htaccess جهت ارتقای امنیت, پایداری و بهبود عملکرد سایت

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

درود

با عرض تاسف تاپیک قبلی که ایجاد کرده بودم و مطالب رو گذاشتم به دلیل نامعلومی در حین مرتب کردن تاپیک دیشب حذف شد (بدون اینکه دکمه حذف تاپیک زده بشه!!) ......

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

اما به لطف کش گوگل مطالب ذخیره شده بود

ولی کاربر عزیز Phantom Wolf با استفاده از کش گوگل عین مطالب منو بدون کم و کاست دوباره وارد کرد که از ایشون بخاطر این کمک

تشکر ویژه میکنم چون اگه میخواستم دوباره مطالبم رو بزارم زمان بر بود و عقب میفتادم!!

بنابرین این تاپیک مثل گذشته پا بر جا و به کارش ادمه میده!!

تشکر

ویرایش شده در توسط Pooyan Afzali

Share this post


Link to post
Share on other sites

باسلام خدمت همگی.

امیدوارم بتونیم مطالب از دست رفته رو برگردونیم:13:

در حالت عادی کاملا واضح هست که اسکریپت یک سایت با php هست یا asp یا js

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

میخوام کدی رو معرفی کنم که پسوند فایل های php رو ظاهر به asp یا js تبدیل میکنه و دیگه تمام فایل های php سایت شما به asp در ظاهر تبدیل میشن و هکر فکر میکنه سایت شما asp هست

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

برای این کار درhtaccess کد زیر رو وارد کنید


AddType application/x-httpd-php .asp .jsp

به همین راحتی

ویرایش شده در توسط Phantom Wolf

Share this post


Link to post
Share on other sites

این موضوع رو قبلا زده بودم گفتم بیارمش اینجا که دیگه همه یه جا باشن وپخش نشن و لطفا مدیران این موضوع رو پاک کنن چون دیگه اینجا آوردم

خوب

:

TRACE and TRACK یک روش درخواست هست که باعث میشه اطلاعاتی که از طرف client یا کاربر به ibm http server ارسال میشه ، مجددا به client برگردانده میشه یک مثال ساده


$ telnet 127.0.0.1 8080
Trying...
Connected to 127.0.0.1.
Escape character is '^]'.
TRACE / HTTP/1.0
Host: foo
A: b
C: d

HTTP/1.1 200 OK
Date: Mon, 04 Oct 2004 14:07:59 GMT
Server: IBM_HTTP_SERVER
Connection: close
Content-Type: message/http

TRACE / HTTP/1.0
A: b
C: d
Host: foo

Connection closed.

خوب حالا ربطش چیه؟

برنامه های مخرب (از هر نوعش مثل فیشینگ ،تروجان، کد های مخرب جاوا و...) میتونن باعث بشند که وقتی قابلیت ردیابی(TRACE and TRACK) روی سرور فعال هست

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

کاربر د اختیار دیگران قرار بگیره ک این متد در جوملا هم ثل بقیه صدق میکنه و میتونه باعث حملات xss یا Cross-Site Scripting به سایت مورد نظر بشه

برای غیر فعال کردن سرویس

TRACE and TRACK و جلوگیری از حملات xss یا Cross-Site Scripting

داخل فایل htaccess کد زیر رو وارد کنید


# disable TRACE and TRACK in the main scope of httpd.conf
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* – [F]
RewriteCond %{REQUEST_METHOD} ^TRACK
RewriteRule .* – [F]
…
<VirtualHost www.example.com>
…
# disable TRACE and TRACK in the [url]www.example.com[/url] virtual host
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* – [F]
RewriteCond %{REQUEST_METHOD} ^TRACK
RewriteRule .* – [F]
</VirtualHost>
#

موفق باشید

ویرایش شده در توسط Phantom Wolf

Share this post


Link to post
Share on other sites

درود

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

و امکان هم شدن از این طریف نزدیک صفر میشه اما یک کد قرار میدم که با قرار دادنش در htaccess تا حد خیلی زیادی از حملات sql injection در امان خواهید بود و در صورتی که کسی بخواد با این روش شما رو هک کنه با صفحه hack.cfm روبرو میشه


   RewriteEngine On

   Options +FollowSymLinks
   ServerSignature Off

   RewriteCond %{REQUEST_METHOD} ^(HEAD|TRACE|DELETE|TRACK) [NC,OR]
   RewriteCond %{THE_REQUEST} ^.*(\\r|\\n|%0A|%0D).* [NC,OR]

   RewriteCond %{HTTP_REFERER} ^(.*)(<|>|'|%0A|%0D|%27|%3C|%3E|).* [NC,OR]
   RewriteCond %{HTTP_COOKIE} ^.*(<|>|'|%0A|%0D|%27|%3C|%3E|).* [NC,OR]
   RewriteCond %{REQUEST_URI} ^/(,|;|<|>|">|"<|/|\\\.\.\\).{0,9999}.* [NC,OR]

   RewriteCond %{HTTP_USER_AGENT} ^$ [OR]
   RewriteCond %{HTTP_USER_AGENT} ^(java|curl|wget).* [NC,OR]
   RewriteCond %{HTTP_USER_AGENT} ^.*(winhttp|HTTrack|clshttp|archiver|loader|email|harvest|extract|grab|miner).* [NC,OR]
   RewriteCond %{HTTP_USER_AGENT} ^.*(libwww-perl|curl|wget|python|nikto|scan).* [NC,OR]
   RewriteCond %{HTTP_USER_AGENT} ^.*(<|>|'|%0A|%0D|%27|%3C|%3E|).* [NC,OR]

   RewriteCond %{QUERY_STRING} ^.*(;|<|>|'|"|\)|%0A|%0D|%22|%27|%3C|%3E|).*(/\*|union|select|insert|cast|set|declare|drop|update|md5|benchmark).* [NC,OR]
   RewriteCond %{QUERY_STRING} ^.*(localhost|loopback|127\.0\.0\.1).* [NC,OR]
   #RewriteCond %{QUERY_STRING} ^.*\.[A-Za-z0-9].* [NC,OR]
   RewriteCond %{QUERY_STRING} ^.*(<|>|'|%0A|%0D|%27|%3C|%3E|).* [NC]

   RewriteRule ^(.*)$ hack.cfm

gift

ویرایش شده در توسط Phantom Wolf

Share this post


Link to post
Share on other sites

درود در پست

کد:

کد .htaccess غیر فعال کردن TRACE and TRACK

یک روش محافظت در برابر حملات xss رو گفتم

اینم یک روش دیگه برای محافظت سایت از حملات xss هست

داخل htaccess کد زیر رو واید کنید

RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]

پیروز باشید

ویرایش شده در توسط Phantom Wolf

Share this post


Link to post
Share on other sites

درود

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

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

با استفاده از این کد و ایجاد فایل htaccess در پوشه مورد نظرتون جلوی اجرای بعضی از پسوند ها رو میگیرید و حتی اگه هکر بتونه آپلودم بکنه!! نتونه اجراش کنه.. .. :rolleyes:

با وارد کردن کد


<FilesMatch "\.(gif|jpg|png|swf|html|css|js|fla)$">
   deny from all
</FilesMatch>

یا


<FilesMatch "\.(gif|jpg|png|swf|html|css|js|fla)$">
   deny from all
</FilesMatch>

نکته:

اگه دقت کتید داخل هر دو کد به سرور میگید جلوی اجرای فایل های: gif , jpg, png, swf, css,js,fla, رو بگیره

شما خودتون به دلخواه با تغییر و یا اضافه کردن پسوند مورد نظر مطابق الگو میتونید جلو اجرای اون پسوند رو داخل پوشه مورد نظر بگیرید

نکته:

شما جلوی اجرای فایل های بالا روی پوشه ای که فایل htaccess رو ایجاد و کد زیر رو قرار دادید رو میگیره

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

پیروز باشید

ویرایش شده در توسط Phantom Wolf

Share this post


Link to post
Share on other sites

درود

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

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

برای اینکه لیست محتویات یک پوشه بدون حضور فایل index.php نشون داده نشه دو تا راه معمول وجود داره که با قرار دادن هر کدوم از اونا داخل فایل htaccess اون پوشه لیست نمایش داده نمیشه

(اگه کد زیر رو داخل htaccess روت بزارید برای کل پوشه ها اعمال میشه )

کد ا


Options -Indexes

کد دوم

کد:

IndexIgnore *

ویرایش شده در توسط Phantom Wolf

Share this post


Link to post
Share on other sites

درود

این آموزش که میخوام بزارم ممکنه قبلا دیده باشید و ساده باشه اما برای جامع شدن تاپیک و همچنین اهمیت این کد میزارمش

میدونید که فایل htaccess حاوی تنظیمات حیاتی و اطلاعاتی مثل رمز عبور و... سایت شما باشه پس اگه کسی بتونه بهش دسترسی پیدا کنه دیگه.....

براب محافظت از خود فایل htaccess و عدم دستسی توسط دیگران کافیه کد زیر رو داخل این فایل بزارید همین!

کد:

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

ویرایش شده در توسط Phantom Wolf

Share this post


Link to post
Share on other sites

درود

در حالت عادی آدرس سایت شما HTTP://WWW..yoursite.com هست یعنی بدون رمزنگاری اطلاعات ما بین کاربر و سرور و با پورت 80 سایت بالا میاد

وقتی شما مجوز SSL یا secure locket layer رو از یکی از شرکت های ارائه دهنده ssl میخرید( اس اس ال امکان رمز نگاری اطلاعات رد و بدل شده بین کاربر و سرور رو میده جهت افزایش امنیت اطلاعات و جلوگیری از

هک شدن که خودش یه بحث مفصله و سعی میکنم داخل یک تاپیک حداگانه در مورد پروتکل اس اس ال توضیح بدم)

در واقع سایت شما با دو پروتکل قابل دسترسی هست یکی http که برای همه سیات ها پیشفرض هست و دوم https که با پروت 443 بالا میاد و

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

در حالت عادی وقتی آدرس سایتتونو تایپ میکنه با پروتکل http سایت بالا میاد

بوسیله فایل htaccess این امکان هست که بصورت پیشفرض هر وقت کسی آدرس سایت شما رو وارد کرد با پروتکل https سایت لود بشه چرا که ممکنه کاربر ندونه سایت شما از این پروتکل پشتیبانی میکنه(در صورتی که یک مجوز اس اس ال خریده و فعال کرده باشید)

خوب برای اینکه آدرس از http به https بصورت پیشفرض تغییر کنه راه های دیگه ای هم هست مثلا از داخل پنل مدیریت جوملا ، برخی افزونه ها و.. اما اینم بعنوان یک روش تکمیلی و ساده مورد استفاده قرار میگیره

برای اینکار داخل فایل htaccess روت سایت این کد رو وارد کنید و قبلش مطمئن بشید که ماژول RewriteEngine داخل سرور فعال هست


RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [NC,R,L]

======

متاسفم پویان جان بیشتر از این نتونستم بازگردانی کنم:13::13:

ویرایش شده در توسط Phantom Wolf

Share this post


Link to post
Share on other sites

نوآوری به این میگن....

پویان جان اصلا ناراحت نگران نباش احتمالا بتونم کل پست هات رو برگردونم....!:4d564ad6:

درود

همونطور که میدونید و php.cgi php.ini فایل پیکربندی php هستند. php.ini از ساختار کلی فایل های ini در ویندوز تبعیت میکنه و حاوی تنظیمات اساسی اسکریپت php شماست که اگه در دسترس قرار بگیره

میتونه انتیت سایتتونو بخطر بندازه برای جلوگیری از قابل دسترس بودن این فایلها داخل htaccess کد زیر رو وارد کنید

<FilesMatch "^php5?\.(ini|cgi)$">
Order Deny,Allow
Deny from All
Allow from env=REDIRECT_STATUS
</FilesMatch>

ویرایش شده در توسط Phantom Wolf

Share this post


Link to post
Share on other sites

درود

میشه گفت این یک آزمون آسیب پذیری برای بررسی متد های درخواست به سرور آپاچی هست

همون طور که میدونید در زبان php متد های مختلفی برای درخواست کردن از سرور وجود داره که لیست اونا رو زیر آوردم

کد:

GET

PUT

POST

DELETE

CONNECT

OPTIONS

TRACE

PATCH

PROPFIND

PROPPATCH

MKCOL

COPY

MOVE

LOCK

UNLOCK

VERSION_CONTROL

CHECKOUT

UNCHECKOUT

CHECKIN

UPDATE

LABEL

REPORT

MKWORKSPACE

MKACTIVITY

BASELINE_CONTROL

MERGE

INVALID

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

ها اگه درست پیکر بندی نشند میتونن باعث آسیب به سایت بشند

این یک آموزش سطح پیشرفته هست که باید دانش php رو داشته باشید

کار این اسکن اینه که نحوه مجوز سرور و پاسخ اون رو به درخواست های بالا رو تست و نتیجه مجوز درخواست ها رو بهتون نمایش مده که مثلا متد درخواست delete روی سرور شما باز هست و

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

وارد لینک زیر بشید

کد:

http://www.askapache.com/online-tools/request-method-scanner

و آدرس سایت خودتونو وارد کنید و روی دکمه initiate request method scan کلیک کنید

بعد از تمام شدن اسکن نتیجه زیر صفحه ظاهر میشه

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

Share this post


Link to post
Share on other sites

درود

توسط این کد میتونید تا حدودی جلوی اسپم ها رو در سایتتون بگیرید هرچند افزونه های خوبی هم در این مورد هست

RewriteCond %{REQUEST_METHOD} =POST
RewriteCond %{HTTP_USER_AGENT} ^.*(opera|mozilla|firefox|msie|safari).*$ [NC]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.+/trackback/?\ HTTP/ [NC]
RewriteRule .* - [F,NS,L]

ویرایش شده در توسط Phantom Wolf

Share this post


Link to post
Share on other sites

درود

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

درخواست رو روی سرورتون توسط دیگران بلوک کنید

RewriteCond %{REQUEST_METHOD} !^(GET|HEAD|OPTIONS|POST|PUT)
RewriteRule .* - [F]

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

get

head

options

post

put

رو بلوک کردیم

ویرایش شده در توسط Phantom Wolf

Share this post


Link to post
Share on other sites

درود

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

و باعث میشه وقمی گوگل وارد سایت میشه به در بسته بخوره و باعث تنزل رتبه سایت نزد موتور گوگل بشه

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

AuthName "Under Development"
AuthUserFile /home/sitename.com/.htpasswd
AuthType basic
Require valid-user
Order deny,allow
Deny from all
Allow from 208.113.134.190 w3.org htmlhelp.com googlebot.com
Satisfy Any

در این کد در قسمت

کد:

home/sitename.com

آدرس سایتتونو بنویسید

در قسمت Require valid-user میگید که کاربران مجازی که قبلا بهشون اجازه دسترسی دادید بتونن سایت رو ببینند (یک کد هست که این کار رو انجام میده بعدا میزارم)

Deny from all میگید که به روی همه سایت رو ببنده و صفحه ورود ادمین رو نشون بده

Allow from 208.113.134.190 w3.org htmlhelp.com googlebot.com

میگید که سایت رو مثلا به روی آی پی 208.113.134.190 باز نگه داره (یعنی میتونید آی پی های خاصی رو مجاز کنید)

googlebot.com و htmlhelp.com و w3.org رو هم مجاز اعلام میکنید

در استفاده از این کد دقت کنید

ویرایش شده در توسط Phantom Wolf

Share this post


Link to post
Share on other sites

یک سایت کاربردی برای تست htaccess:

درود

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

کد:

http://htaccess.madewithlove.be/

Share this post


Link to post
Share on other sites

درود

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

RemoveHandler cgi-script .pl .py .cgi

ویرایش شده در توسط Phantom Wolf

Share this post


Link to post
Share on other sites

درود

در صفحه قبل یک روش برای اجای شل در هاست توضیح دادم

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

داخل پوشه ای که قصد دارید حفظ بشه کد زیر رو وارد کنید

AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi
Options -ExecCGI

میبینید که فایلهای خاصی منع شدند

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

موفق باشید

ویرایش شده در توسط Phantom Wolf

Share this post


Link to post
Share on other sites

درود

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

جداگانه تعیین کنید

البته اگه کایسستون کاربر محور هست و بر اساس رتبه امتیاز میدید حواستون باشه چون این کد اگه در روت گذاشته بشه روی همه قسمت ها تاثیر میزاره!!

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

برای اعمال محدودیت آپلود در htaccess کد زیر رو وارد کنید

php_value upload_max_filesize 20M
php_value post_max_size 20M
php_value max_execution_time 200
php_value max_input_time 200

توضیح:

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

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

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

خط سوم: در این خط حد اکثر زمان (به ثانیه) که اسکریپت اجازه داره اجرا بشه قبل از اینکه توسط سرور time out بشه یا به قولی توسط تجزیه کننده سرور اجراش قطع بشه ( دیدید که بعضی مواقع بدلیل کندی سرعت یا قطع ارتباط بین کاربر و سرور پیام requast time میاد) که اینجا 200 ثانیه هست

خط چهارم : حد اکثر زمان مجاز ( به ثاتیه) که اسکریپت مجاز به تجزیه و تحلیل داده های ورودی هست مثل آپلود فایل ، دستون GET و POST و.. که اینجا 200 ثانیه هست

شما میتونید این مقادیر رو دلخواه تغییر بدین

ویرایش شده در توسط Phantom Wolf

Share this post


Link to post
Share on other sites

درود

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

برای غیر فعال کردن لاگ شدن آی پی کد زیر رو وارد کنید

SecFilterSelective REMOTE_ADDR "208\.113\.183\.103" "nolog,noauditlog,pass"

و برای فعال کردنش (معمولا فعال هست پیشفرض)

SecFilterSelective REMOTE_ADDR "!^208\.113\.183\.103" "nolog,noauditlog,pass"
SecFilterSelective REMOTE_ADDR "208\.113\.183\.103" "log,auditlog,pass"

===

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

بای

ویرایش شده در توسط Phantom Wolf

Share this post


Link to post
Share on other sites

Phantom Wolf عزیز

از اینکه پست های منو ذخیره کردی و الان گذتشتیشون ازت خیلی ممنونم

کارمو راحت تر کردی

Share this post


Link to post
Share on other sites

با این کد که سایت من ارور 500 رو میده مشکل چیه

این موضوع رو قبلا زده بودم گفتم بیارمش اینجا که دیگه همه یه جا باشن وپخش نشن و لطفا مدیران این موضوع رو پاک کنن چون دیگه اینجا آوردم

خوب

:

TRACE and TRACK یک روش درخواست هست که باعث میشه اطلاعاتی که از طرف client یا کاربر به ibm http server ارسال میشه ، مجددا به client برگردانده میشه یک مثال ساده

کد:

$ telnet 127.0.0.1 8080

Trying...

Connected to 127.0.0.1.

Escape character is '^]'.

TRACE / HTTP/1.0

Host: foo

A: b

C: d

HTTP/1.1 200 OK

Date: Mon, 04 Oct 2004 14:07:59 GMT

Server: IBM_HTTP_SERVER

Connection: close

Content-Type: message/http

TRACE / HTTP/1.0

A: b

C: d

Host: foo

Connection closed.

خوب حالا ربطش چیه؟

برنامه های مخرب (از هر نوعش مثل فیشینگ ،تروجان، کد های مخرب جاوا و...) میتونن باعث بشند که وقتی قابلیت ردیابی(TRACE and TRACK) روی سرور فعال هست

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

کاربر د اختیار دیگران قرار بگیره ک این متد در جوملا هم ثل بقیه صدق میکنه و میتونه باعث حملات xss یا Cross-Site Scripting به سایت مورد نظر بشه

برای غیر فعال کردن سرویس

TRACE and TRACK و جلوگیری از حملات xss یا Cross-Site Scripting

داخل فایل htaccess کد زیر رو وارد کنید

کد:

# disable TRACE and TRACK in the main scope of httpd.conf

RewriteEngine On

RewriteCond %{REQUEST_METHOD} ^TRACE

RewriteRule .* – [F]

RewriteCond %{REQUEST_METHOD} ^TRACK

RewriteRule .* – [F]

<VirtualHost www.example.com>

# disable TRACE and TRACK in the www.example.com virtual host

RewriteEngine On

RewriteCond %{REQUEST_METHOD} ^TRACE

RewriteRule .* – [F]

RewriteCond %{REQUEST_METHOD} ^TRACK

RewriteRule .* – [F]

</VirtualHost>

#

موفق باشید

Share this post


Link to post
Share on other sites
درود

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

و امکان هم شدن از این طریف نزدیک صفر میشه اما یک کد قرار میدم که با قرار دادنش در htaccess تا حد خیلی زیادی از حملات sql injection در امان خواهید بود و در صورتی که کسی بخواد با این روش شما رو هک کنه با صفحه hack.cfm روبرو میشه

درود

جناب این کدها رو معرفی می کنید و زحمت می کشید توضیحاتی رو هم میدید.

لطفا کامل توضیح بدین که ما بیسوادا هم بفهمیم که این کد کجای htaccess اضافه بشه یا با چیزی جایگزین میشه یا نه، چون هرچی زدیم ارور 500 داد بهمون

ممنون

Share this post


Link to post
Share on other sites

این کد میبایست در هر کجای htaccess (فرقی نمی کنه!) ذخیره بشه و بعد خودش کارش رو انجام میده:13:

Share this post


Link to post
Share on other sites
Phantom Wolf عزیز

از اینکه پست های منو ذخیره کردی و الان گذتشتیشون ازت خیلی ممنونم

کارمو راحت تر کردی

خواهش می کنم داداشی ایشالا بتونم در این فروم بیشتر از این مفید باشم:a2d3:

Share this post


Link to post
Share on other sites

درود

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

و در واقع open file کنه که اونو داخل پوشه temp ویندوز بارگزاری میکنه اول بعد اونو باز میکنه

این کار برای فایل های کوچیک مناسبه اما برای فایل های حجیم و بزرگ مناسب نیست و خیلی وقت گیر هست

برای همین میتونید داخل سایتتنون و از طریق htaccess تنظیم کنید که هر فایل pdf در مرورگر مجبور به دانلود کنه مرورگر رو نه اینکه اول بره داخل تمپ و بعد باز بشه

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

برای این کار کد زیر رو وارد کنید

<FilesMatch "\.(?i:pdf)$">
 ForceType application/octet-stream
 Header set Content-Disposition attachment
</FilesMatch>

خوب در این کد به قولی فرمت pdf رو معرفی میکنید و میگید که بزرگ و کوچیک بودن فایل تاثری در روند نداشته باشه و همچنین مطابقت اونو با

با تمام مرورگرها هماهنگ میکنید چون میدونید که اکسپلورر ساز مخالف زیاد میزنه

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

البته خودم هنوز تست نکردم که واسه بقیه هم کار میکنه یا نه !

موفق باشیدgift

ویرایش شده در توسط Phantom Wolf

Share this post


Link to post
Share on other sites

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

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

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

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


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

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

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


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