Skip to main content
SUPERVISOR
Mehdi Berenjkob,Mohammad Ali Montazeri,Pejman Khadivi
مهدی برنج کوب (استاد راهنما) محمدعلی منتظری (استاد راهنما) پژمان خدیوی (استاد مشاور)
 
STUDENT
Ehsan Aerabi
احسان اعرابی

FACULTY - DEPARTMENT

دانشکده مهندسی برق و کامپیوتر
DEGREE
Master of Science (MSc)
YEAR
1386

TITLE

Design and Implementation of a Dynamic and Zero False-Positive Tool for SQL Injection Vulnerability Assessment
SQL Injection (SQLi) vulnerability is one of the most frequent and harmful threats in web applications. SQL Injection occurs when the structure of issued SQL query is modified by crafted inputs entered by a malicious user. SQL Injection may result in information disclosure, data manipulation and denial of service. This vulnerability has stayed between top three web vulnerabilities in recent years. Although new methods were introduced to discover, detect or prevent it in recent years, these approaches had several drawbacks. Some approaches do not have accurate results and usually engage with false positives (or negatives) or do not cover all categories of SQLi. Some others should pass training period. A large group of them needs to parse or modify source code and the other ones are not capable with dynamic generated queries. This thesis begins with a comprehensive categorized introduction to SQLi attack methods. These categories include "authentication bypass", "error based information disclosure", "union based data projection" and "blind SQL injection". Then we express major prevention approaches in three general left; MARGIN: 0in 0in 0pt; unicode-bidi: embed; DIRECTION: ltr" align=left Keywords: SQL Injection, Vulnerability Assessment, Web Security, Command Injection.
با افزایش بکارگیری برنامه های کاربردی تحت وب، مسئله امنیت اطلاعات در این زمینه از اهمیت بیشتری برخوردار می‌باشد. یکی از مهم ترین حمله هایی که امنیت برنامه های کاربردی تحت وب را تهدید می کند، حمله به پایگاه داده ها است. گروه عمده ای از این حملات، با نام تزریق SQL شناخته شده اند. در این پروژه به مطالعه و ارزیابی روش های حمله، کشف و دفاع در این حوزه پرداخته شده است. در همین راستا یک راهکار جدید برای تشخیص موفقیت حمله تزریق SQL ارائه می شود که نسبت به روش های قبلی، برتری هایی دارد. دراین روش از دو پروکسی، یکی در جلوی کارگزار وب و دیگری در جلوی پایگاه داده استفاده شده است. پروکسی اول به درهم ریزی پارامترهای درخواست http و پروکسی دوم به بازگشایی آن ها می پردازد. بدین ترتیب این روش می‌تواند بروز موفق یک حمله تزریق را به درستی و بدون موارد مثبت کاذب تشخیص دهد. در ادامه، با استفاده از روش پیشنهادی یک ابزار آزمون نفوذ ساخته شده است که توانایی کشف آسیب‌پذیری تزریق SQL را دارد. این ابزار با ابزارهای موجود مقایسه شده و موارد بیشتری از آسیب پذیری را در برنامه‌های کاربری مورد آزمون یافته است که همگی این موارد فاقد مثبت کاذب بوده‌اند. همچنین این ابزار برای پویش برنامه‌های کاربردی تحت وب متن باز بکار گرفته شده است و توانسته است چندین نقطه قابل تزریق را در آن‌ها بیابد. مهم ترین مزیت روش پیشنهادی و ابزار ساخته شده، عدم گزارش مثبت کاذب و مستقل بودن از زبان و فناوری توسعه وب است. همچنین، این روش، تمامی حملات تزریق SQL را پوشش داده و نیاز به مرحله یادگیری ندارد. کلمات کلیدی: 1- تزریق SQL 2- امنیت وب 3- تزریق فرمان 4- ارزیابی امنیتی

ارتقاء امنیت وب با وف بومی