وردپرس یکی از محبوب ترین سایت سازهای رایگان توی دنیا هستش و خیلی از کاربران از آن استفاده میکنند. ولی چندتا عیب داره و اونم اینکه باید به صورت کامل به این سیستم مدیریت محتوا شناخت داشته باشید.
هسته وردپرس درسته که امن هستش ولی چندتا مشکل داره که باید آنها رو رفع کنید و همیشه سعی کنید آخرین نسخه رو استفاده کنید. از افزونه های غیر معتبر استفاده نکنید و افزونه هایی که نیاز ندارید رو غیرفعال کنید. نکته دوم قالب های پیش فرض رو حتما از هاستتون پاک کنید.
خب بریم سراغ پیدا کردن نام کاربری ادمین وب سایت های وردپرسی، برای اسکن آسیب پذیری های موجود در وب سایت های وردپرس میتوان از wpscan و wpseku استفاده کرد که در این آموزش هم در یکی از روش ها برای یافتن نام کاربری وب سایت وردپرسی از wpscan است. تذکر : اگه با کالی لینوکس آشناییت ندارید به هیچ عنوان از این ابزار های استفاده نکنید چون منع قانونی داره و اگه کاری باهاش انجام بدید براتون مشکل پیش میاره.
اما راه ساده تر که برای ماهم دردسری درست نکنه اینکه به آدرس زیر توی وب سایت های وردپرسی بریم :
www.target.com/wp-json/wp/v2/users
کافی توی سایت با کلید ترکیبی CRTL+F به دنبال کلمه author بگردید با تعجب میبینید که کلی نام کاربری مشاهده میکنید حالا کافیه یه پسورد لیست قوی داشته باشید و به دنبال پسورد ادمین سایت بیچاره بگردید.
یک راه دیگه هم هست که به انتهای ادرس سایت مقدار ?author=1 رو اضافه کنیم. به عنوان مثال :
https://site.com/?author=1
میتونید شماره یک رو تغییر بدید و ببینید کدوم یکی از یوزر ها فعال هستش و معمولا با ریداریکت به صفحه کاربر متوجه میشید که بلللله یوزر ادمین رو پیدا کردم
حالا چیکار کنیم که این مشکل رو برطرف کنیم؟ قبل از هرکاری باید از همین حالت وردپرس و قالب و افزونه یک بک اپ کامل بگیرید سپس به مسیر زیر برید :
اول باید وارد پوشه قالبی بشید که دارید ازش استفاده میکنید و سپس وارد فایل functions.php بشید.
مجددا قبل از هرکاری یک بک اپ از فایل functions.php بگیرید و سپس کد های زیر رو داخل آن قرار بدید :
حالا کافیه دوباره به ادرس www.target.com/wp-json/wp/v2/users برید تا ببینید که دیگه هیچ اسمی از یوزر های شما داخل این بخش وجود نداره. برای مورد جستجوی https://site.com/?author=1 باید صفحه تمام کاربرانی که مقالات رو مینویسند رو غیرفعال کنید و ریدایرکت بدید به صفحه اصلی.
امیدوارم تونسته باشیم بهتون کمک کنم اگه سوالی داشتید درخدمتتون هستم.
سلام خواهش میکنم
دوتا راه حل داره اول توی سرچ کنسول البته اگه یه نفر توی سایت مقاله گذاری میکنه ولی اگه چند نفر هستند یکم اوضاع فرق میکنه و شاید سخت باشه بخواییم توی سرچ کنسول قسمت remove url ادرس هارو حذف کنیم. در نظر بگیرید هرباری که از بخش remove url گوگل سرچ کنسول استفاده میکنید باید یه ریدایرکت به مسیر جدید بدید.
راه حل دوم اینکه توی قالب یه بخش وجود داره که اطلاعات نویسنده رو نشون میده میتونید بگید اون بخش کلا نباشه.
من خودم دوتا راه رو ترکیب کردم هم ادرسشو حذف کردم هم گفتم نمیخوام این صفحه ایندکس بشه هم توی تنظیمات قالب این بخش رو غیرفعال کردم.
البته من سایت شمارو چک کردم افزونه سکوریتی دارید و اتوماتیک معمولا این کارهارو انجام میده ولی بنده خودم زیاد به افزونه اعتقادی ندارم.
ولی سایت دوستمون اقا @Rahim این باگو داره و من تونستم یوز ادمینشو پیدا کنم حتی بقیه یوزرها.
سلام @Meysam_Kiani جان
ممنون از تاپیکی که باز کردی و دانشی رو که به اشتراک گذاشتی.
این موردی که در وردپرس مطرح کردید، باگ و یا حفره امنیتی نیست.
به نظر من مخفی کردن لیست کاربران سایت از بالاترین نقش کاربری (Super Admin) در وردپرس های شبکه ای تا پا پایین ترین سطح کاربری (Subscriber) موردی سلیقه ایست و بستگی به سایتی که شما دارید و از اون مهمتر استفاده ای که از سایتتون میکنید داره.
مخفی کردن نام کاربری ادمین و یا ادمین های سایت بستگی به نظر شما داره که میتونه شخصی باشه و مورد نیاز همه نباشه، اما ایمن کردنه این حساب ها موردی هست که همه باید توجه کنیم، مثل ورود 2مرحله ای و یا تغییر آدرس پیش فرض site.com/wp-login.php و موارد اینچنینی…
در حالت سایت من نیازی به این کار نبوده مخصوصا که من هم مقالاتی رو در سایت دارم.
به همین دلایل هست که میگم مخفی کردن و ریدایرکت کردن صفحه ادمین موردی شخصیست.
لیست کاربران غیر مشترک رو اکثرا در سایت مپ ها هم میشه پیدا کرد.
یا امام غریب :))) ، چرا من این قسمت رو تا حالا دقت نکرده بودم ، لایک داری رحیم جان خیلی خوب بود ، شاید روزانه چندبار با این بخش از نقشه های سایت روبرو میشم ولی تا حالا فکر این ک زمانی ک بستم چرا هست تا حالا نکرده بودم ، عالی بود
بسیار عالی الان داشتم چک میکردم بخش author-sitemap.xml خداروشکر توی سایتم مشخص نیست و میگه همچین صفحهای موجود نیست
البته حق با شماست نظر شخصی هستش و بستگی داره از سایت چه استفاده ای بخواییم بکنیم.
البته اسم نمایشی توی این url رو میشه توی phpmyadminهرچی گذاشت و شاید زیاد مسئله مهمی نباشه من یکم حساسم و همیشه سایت های بقیه رو چک میکنم
اکثرا سئو کاران این سایت مپ نویسندگان رو توسط افزونه سئو میبندن و علت هم جلوگیری از Duplicate Content هست.
خود Yoast تنظیماتی داره برای این بخش.
اما وقتی ببندی، صفحات آرشیوی نویسندگان هم غیر فعال میشه و با زدن آدرس مستقیمشون، لینک، ریدایرکت میشه به صفحه اصلی.
گاهی شما به صفحات نویسندگی نیاز داری، چون اون نویسنده ممکنه از صفحش، به عنوان Portfolio استفاده کنه، و یا توضیحاتی در ارتباط با نویسنده اونجا داشته باشی و یا حتی مایل باشی اسم نویسنده در گوگل ایندکس بشه بنابراین این کار شخصی هست.
@Meysam_Kiani
احتمالا شما صفحات بایگانی نویسندگان رو غیرفعال کردی.
وسواس تا حدودی همیشه خوبه، باعث میشه نتیجه نهایی، کاری تمیز از آب دربیاد.
اینطور ک تست کردم اینم بستم و با یه برات فورس ساده تونستم از مسیر بخش نویسنده های سایت یوزر ادمین خودم رو در بیارم ، کلا به نظرم مسیر بخش نویسنده های سایت باید بسته بشه بجای اینکه فقط از نقشه سایت و… حذف بشه یا بقول یه سری از دوستان از حروف های سنگین چندین حرفی استفاده کنیم
ولی در کل مسیرش بسته باید بشه بنظرم این بهتره
به نظر من هر سایت وردپرسی، بایستی فقط یک اکانت ادمین داشته باشه و بقیه در بالاترین حالت ممکن ویراستار باشند.
اگر دسترسی های پیشفرض وردپرس برای نقش های کاربری مختلف کافی نبود، با افزونه User Role Editor اونرو ویرایش کرد و یا حتی نقش کاربری جدیدی متناسب با نیاز ایجاد کرد.
به نظر من تمامی کاربرنه ادمین، ویراستار، نویسنده و مشارکت کننده (کاربرانی که به نحوی با دسترسی های مختلف به بک اند دسترسی دارند)، بایستی ورود ۲مرحله ای داشته باشند.
یه نکته هم بنده به صحبت های شما اضافه کنم، به نظرم فرقی نداره دسترسی کاربران چی باشه همین که ما بتونیم وارد یک مجموعه بشیم ( حالا قصدمون هکه یا میخواییم واقعا از خدمات اون شرکت استفاده بکنیم) عملا میتونیم اقدام به هک سیستم کنیم.
معمولا وقتی بتونیم مجوز ورود به یک سیستم یا سایت رو بگیریم میتونی دسترسی خودمون رو بالا ببریم.
چطوری بهتون بگم مثل هک وای فای میگن SSID رو مخفی کنید از فیلتر مک استفاده و کلی چیزهای دیگه اینکه بگیم نمیشه هکش کرد غلطه فقط وقت بیشتری ازمون میگیره هکره هم وقتی میبینه اینجا کلا دیوار دفاعی بیشتری داره میره سراغ نفر بعدی.
قضیه سایتم همینه اگه سایت ما برای هکر منفعتی داشته باشه حتما میاد سراغ هکش اگرم نه که از کنارمون رد میشه شاید بخاطر تست دانش فنیش بخواد یه حرکتیم روی سایت ما بزنه.
کلا بحث امنیت واقعا پیچیده هستش هرچی بیشتر میری جلوتر بیشتر حساس میشی و بیشتر احساس نا امنی میکنی.
در کل فقط این بحث رو باز کردم که بگم یکم بیشتر مواظب سایتمون باشیم من سایتی داشتم که یهو هک شد و ریدایرکت می شد به یه سایت خارجی اون موقعه هستینگ نسبت ضعیفی داشتم و نشد کاری کنم و سایت رو مجبور شدم کلا پاک کنم (قضیه بک اپ توسط کاربران رو اون موقع متوجه شدم )
درود بر شما بسیار عالی
من الان می خوام روی سایتم برای چند تا از کاربران دسترسی نویسندگی و گذاشتن مقاله روی سایت رو بدم
ولی وقتی با wp-admin می خوان وارد بشن به صفحه اصلی و پنل کاربریشون ریدایرکت می شن و به پشت صحنه وردپرس نمیرن.
برای این موضوع اگر این افراد عضو سایت شما هستند کافیه نقش کاربری اونها رو به نویسنده تغییر بدید و اگر عضو نیستند با اضافه کردن کاربر، اونهارو عضو سایت کنید.
راهکار وردپرس در این زمینه کافی هست و نیازی به افزونه مکمل نخواهید داشت.
سلام
ممنون بخاطر پاسخ گویی شما من هم از همین روش استفاده کردم ولی اونها نمی تونن وارد پشت صحنه وردپرس و نوشتن مقاله بشن و به صفحه پنلشون ریدایرکت می شن متاسفانه
فقط خودم می تونم با wp-admin وارد پشت صحنه بشم
نقش ها رو هم تغییر دادم مثلا به نویسنده یا ویرایشگر باز هم نشد
از پلاگینی برای مدیریت حساب کاربری استفاده میکنید؟
از اونجایی که خودتون به عنوان ادمین میتونید به داشبورد برید و نویسنده نمیتونه بره احتمالا با اون پلاگین محدودیتی ایجاد شده و بایستی به رل نویسنده هم این دسترسی رو بدید.
پلاگین های مرتبط با این داستان و تنظیماتش رو بررسی کنید.