حملات SQL injection از شایع ترین و مورد استفاده ترین حملات سالهای اخیر بوده اند. اما فقط SQL (relational database) ها نیستند که آسیب پذیرند بلکه NoSQL (non-SQL دیتابیسهای غیر ارتباطی) نیز در معرض خطر میباشند.
احتمالا شاید ندانید که هم اکنون بالای 100 نوع مختلف NoSQL وجود دار اما بیشتر ما با Redis و MongoDB آشنا هستیم و این نیز به لطف جامعه نرم افزار آزاد است که تعداد از بهترین NoSQL را توسعه داده اند.
البته که NoSQL چیز جدیدی نیست و اولین بار توسط Carlo Strozzi در سال 1998 توسعه پیدا کرد. اما از آن زمان تا حالا اقبال عمومی زیادی بدست نیاورد تا سالهای اخیر که با اقبال عمومی برنامه نویسان روبرو گردید و در تعدادی از محبوب ترین نرم افزارها استفاده شده و تعدادی از مشکلات دیتابیسهای سنتی رابطهای را حل نموده است.
اگر از دیتابیس های NoSQL مانند MongoDB استفاده میکنید و نمی دانید که آیا برای پروژه شما مناسب است و آیا مشکلات امنیتی میتواند در آینده بلای جان شما شود بهتر است این مطلب را تا پایان بخوانید و از ابزار معرفی شده آن استفاده نمایید.
NoSQLMap
این ابزار یک ابزار کوچک توسعه داده شده با پایتون است، که توانایی بررسی پیکربندی شما برای یافتن پیکربندی اشتباه و خودکارسازی تست انجکشن را دارد و به شما میگوید که آیا NoSQL خود را اشتباه پیکربندی نمودهاید یا نه. این ابزار پر استفاده را میتوان برای دیتابیسهای زیر استفاده نمود:
- MongoDB
- CouchDB
- Redis
- Cassandra
برای نصب NoSQLMap شما به پایتون، گیت و Setuptools module نیاز دارید که با دستور زیر میتوانید در اوبونتو آ« را نصب نمایید.
1 2 |
apt-get install python apt-get install python-setuptools |
زمانی که پایتون نصب شد با دستور زیر خود NoSQLMap را نصب نمایید:
1 2 |
git clone https://github.com/codingo/NoSQLMap.git python setup.py install |
زمانی که نصب به پایان رسید، باید ./nosqlmap.py
را از گیت اجرا نمایید که نتیجه ای مانند زیر برای شما به همراه خواهد داشت:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
_ _ ___ ___ _ __ __ | \| |___/ __|/ _ \| | | \/ |__ _ _ __ | .` / _ \__ \ (_) | |__| |\/| / _` | '_ \ |_|\_\___/___/\__\_\____|_| |_\__,_| .__/ v0.7 codingo@protonmail.com |_| 1-Set options 2-NoSQL DB Access Attacks 3-NoSQL Web App attacks 4-Scan for Anonymous MongoDB Access 5-Change Platform (Current: MongoDB) x-Exit Select an option: |
Mongoaudit
همانطور که از نامش احتمالا حدس زدهاید این ابزار مخصوصا برای MongoDB و دیتابیسهای NoSQL توسعه داده شده است. این ابزار برای اجراد تست نفوذ بسیار کارآمد است و همچنان میتواند پیکربندیهای غلط را نیز کشف نماید.
نصب Mongoaudit بسیار ساده است کافیست با استفاده از pip
دستور زیر را اجرا نمایید:
pip install mongoaudit
زمانی که نصب به پایان رسید mongoaudit
را اجرا نمایید تا نرم افزار شروع به اسکن نماید درادامه از شما لول مورد نیاز بررسی و اسکن را سوال خواهد نمود و میتوانید بر اساسا نیاز خود آن را انتخاب نمایید.
بدون دیدگاه