网站地图    收藏   

主页 > 入门引导 > 黑客攻防 >

YouYaX_V5.66 SQL注入漏洞 - 网站安全 - 自学php

来源:自学PHP网    时间:2015-04-15 15:00 作者: 阅读:

[导读] YouYaX_V5 66 SQL注入漏洞 Lib MessageAction php行94 1 2 3...

/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了,这个点一样没输出 只能基于时间注入 跟
YouYaX_V5.47 SQL注入漏洞(官网躺枪) http://www.2cto.com/Article/201407/320189.html  一样
 
附送一个鸡肋的本地文件包含
 
 
 
/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'
 
 
就能看到报错信息 
 
具体注入方法与  YouYaX_V5.47 SQL注入漏洞(官网躺枪) http://www.2cto.com/Article/201407/320189.html  一致就不用sqlmap来演示了
 
修复方案:
别漏了

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论