blog-desk-02

آموزش رفع باگ امنیتی TimThumb

آموزش رفع باگ امنیتی TimThumb

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

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

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

1
2
3
http://vulnerablesite.com/wp-content/plugins/pluginX/timthumb.php?webshot=1&src=http://vulnerablesite.com/$(rm$IFS/tmp/a.txt)
http://vulnerablesite.com/wp-content/plugins/pluginX/timthumb.php??webshot=1&src=http://vulnerablesite.com/$(touch$IFS/tmp/a.txt)

دوستان همانطور که در بالا میبینید در url اول، با استفاده از دستور rm یک فایل را حذف کرده ایم و در url دوم با دستور touch یک فایل در سایت مورد حمله، ایجاد کرده ایم. طبعا استفاده از این باگ به این دو دستور محدود نیست و دستوراتی که میتوان در اینجا استفاده کرد بسیار گسترده و خطرناک تر از دو دستور ذکر شده هستند و بسیار میتوانند کارآمد تر باشند البته برای هکر های عزیز و همچنین بسیار مخرب تر و بدتر

اما خب دوستان در این قسمت این سوال پیش می آید که اگر از این اسکریپت استفاده کنیم چه میشود؟
اگر سایت شما در قالب خود یا در هر یک از افزونه هایش که بر روی ان نصب و راه اندازی کرده اید از این اسکریپت استفاده کرده باشد لازم است که با مراجعه به فایل مربوط به این اسکریپت (معمولا timthumb.php) اطمینان حاصل کنید که ویژگی WebShots غیر فعال باشد. مثلا در کد زیر مقدار WEBSHOTS را برابر false قرار داده و این امکان را غیر فعال کرده ایم.

1
define (‘WEBSHOT_ENABLED’, false);

خب دوستان حالا که همه اطلاعات را کسب کردید و در این مورد بهترین اطلاعات را دارید باید تصمیم بگیریم که راه حل برای این مشکل در وردپرس چیست؟ لطفا اگر طراح هستید، یا برای وردپرس پلاگین هایی را مینویسید و … همین امروز دست از سر TimThumb بردارید و به سراغ تابع استاندارد و بسیار خوب add_image_size که مدتهاست در کتابخانه وردپرس وجود دارد بروید و البته که خیلی کم از ان استفاده میشود. به این شکل یک بار برای همیشه خود را از شر هرچه باگ مسخره که از تیم تامب قسمت شما شده، خلاص خواهید شد و زندگی هم خیلی شیرین تر میشود و پلاگین ها و قالب های وردپرس شما نیز شیرین تر میشود. از این مورد اطمینان داشته باشید.

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