当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2014-064139

漏洞标题:YouYaX_V5.66 SQL注入漏洞(官网躺枪)

相关厂商:youyax.com

漏洞作者: 索马里的海贼

提交时间:2014-06-09 11:38

修复时间:2014-09-07 11:40

公开时间:2014-09-07 11:40

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:厂商已经修复

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-06-09: 细节已通知厂商并且等待厂商处理中
2014-06-09: 厂商已经确认,细节仅向厂商公开
2014-08-03: 细节向核心白帽子及相关领域专家公开
2014-08-13: 细节向普通白帽子公开
2014-08-23: 细节向实习白帽子公开
2014-09-07: 厂商已经修复漏洞并主动公开,细节向公众公开

简要描述:

最近很活跃的卖萌厂商我喜欢

详细说明:

/Lib/MessageAction.php行94

public function delMesses()
{
$user = $_SESSION['youyax_user'];
if ($user == "" || $user == null)
$this->redirect("Index" . C('default_url') . "index" . C('static_url'));
for ($k = 0; $k < count($_POST['cb']); $k++) {
$id = $_POST['cb'][$k];
$result = $this->find(C('db_prefix') . "message", 'string', "mto='" . $_SESSION['youyax_user'] . "' and id='" . $id . "'");
if ($result) {
$this->delete(C('db_prefix') . "message", "mto='" . $_SESSION['youyax_user'] . "' and id='" . $id . "'");
}
}
$this->assign('jumpurl', $this->youyax_url . "/Message" . C('default_url') . "show" . C('static_url'))->assign('msgtitle', '操作成功')->assign('message', '消息已删除!')->success();
}


$id = $_POST['cb'][$k];未过滤直接进了$this->find();
来看find()
/ORG/YouYa.php行356

public function find($table, $ext = "string", $param)
{
//在 param 中寻找与给定的正则表达式 pattern 所匹配的子串
if (preg_match_all("/=/", $param, $tmp)) {
$sql = "select * from " . $table . " where " . $param;
} else {
$param = "id=".intval($param);
$sql = "select * from " . $table . " where " . $param;
}
$result = mysql_query($sql);


只要$parm里面有“=” 就不会intval了,这个点一样没输出 只能基于时间注入 跟
WooYun: YouYaX_V5.47 SQL注入漏洞(官网躺枪) 这个一样
附送一个鸡肋的本地文件包含
/ORG/YouYa.php 行107

private function deal($tp)
{
if (isset($_COOKIE['youyax_lang'])) {
$this->lang = require("lang/" . $_COOKIE['youyax_lang'] . "/lang.php"); //不太安全吧
$this->array_array['lang'] = $this->lang;


在当前mysql用户有file权限 但是对web目录不可写的情况下,可以用注入写一个lang.php到/tmp 然后设置cookie youyax_lang为../../../tmp 就可以成功包含shell了

漏洞证明:

POST http://bbs.youyax.com/Message-delMesses.aspx HTTP/1.1
Host: bbs.youyax.com
dropdown=del&cb[]=1'


就能看到报错信息
具体注入方法与 WooYun: YouYaX_V5.47 SQL注入漏洞(官网躺枪) 一致就不用sqlmap来演示了

修复方案:

别漏了

版权声明:转载请注明来源 索马里的海贼@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2014-06-09 12:33

厂商回复:

第一个代码太多遗漏了,
第二个不明觉厉,也加强了一下

最新状态:

2014-06-09:更新