### 简要描述:

PHPYUN最新版(phpyun_v3.1.0604_gbk)多处SQL注入及越权操作

虽然PHPYUN在注入防御上已经做得很不错了,方的很严格,像吃掉引号,宽字节的基本上很少了,但是不需要跟引号斗争的地方还有很多,得好好检查,好好修复了!!!

这里再来三处SQL注入及越权操作!!!

### 详细说明:

文件/member/model/com.class.php

第一处SQL注入、越权修改企业环境展示信息:

```

function saveshow_action(){

if($_POST['submitbtn']){

$pid=@implode(',',$_POST['id']);

$company_show=$this->obj->DB_select_all("company_show","`id` in (".$pid.") and `uid`='".$this->uid."'","`id`");

if($company_show&&is_array($company_show)){

foreach($company_show as $val){

$title=$_POST['title_'.$val['id']];

$this->obj->update_once("company_show",array("title"=>trim($title)),array("id"=>(int)$val['id']));

}

$this->obj->ACT_layer_msg("修改成功!",9,"index.php?c=show");

}else{

$this->obj->ACT_layer_msg("非法操作!",3,"index.php");

}

}else{

$this->obj->ACT_msg("index.php","非法操作!");

}

}

```

这里的$pid=@implode(',',$_POST['id']);

没有经过引号保护,直接进入DB_select_all,在DB_select_all中也未进行处理:

```

function DB_select_all($tablename, $where = 1, $select = "*") {

$cachename=$tablename.$where;

if(!$row_return=$this->Memcache_set($cachename)){

$row_return=array();

$SQL = "SELECT $select FROM `" . $this->def . $tablename . "` WHERE $where";

$query=$this->db->query($SQL);

while($row=$this->db->fetch_array($query)){$row_return[]=$row;}

$this->Memcache_set($cachename,$row_return);

}

return $row_return;

}

```

导致存在SQL注入。

第二处SQL注入、越权删除企业新闻

```

function news_action(){

$this->public_action();

$where='';

if($_POST['delid'] || $_GET['delid'])

{

if($_POST['delid'] || $_GET['delid'])

{

if(is_array($_POST['delid']))

{

$delid=@implode(",",$_POST['delid']);

$layer_type='1';

}else{

$delid=$_GET['delid'];

$layer_type='0';

}

$oid=$this->obj->DB_delete_all("company_news","`id` in (".$delid.") and `uid`='".$this->uid."'","");

$oid?$this->layer_msg('删除成功!',9,$layer_type):$this->layer_msg('删除失败!',8,$layer_type);

}else{

$this->obj->ACT_layer_msg("请选择您要删除的新闻!",8,$_SERVER['HTTP_REFERER']);

}

}

```

这里的$delid=$_GET['delid'];

没有经过引号保护,直接进入了DB_delete_all中

```

function DB_delete_all($tablename, $where, $limit = 'limit 1'){

$SQL = "DELETE FROM `" . $this->def . $tablename . "` WHERE $where $limit";

$this->db->query("set `sql_mode`=''");

return $this->db->query($SQL);

}

```

导致SQL注入。

又由于,通过截断,修改后面的uid,就可以导致越权操作,删除任意企业用户的企业新闻。

第三处SQL注入、越权删除任意企业用户产品

```

function product_action()

{

$this->public_action();

$delid=$_GET['delid'];

if($delid){

if(is_array($delid)){

$ids=implode(',',$delid);

$layer_type=1;

}else{

$ids=$delid;

$layer_type=0;

}

$row=$this->obj->DB_select_all("company_product","`id` in (".$ids.") and `uid`='".$this->uid."'","`pic`");

if(is_array($row)){

foreach($row as $k=>$v){

$this->obj->unlink_pic("..".$v['pic']);

}

}

$oid=$this->obj->DB_delete_all("company_product","`id` in (".$ids.") and `uid`='".$this->uid."'","");

$oid?$this->layer_msg('删除成功!',9,$layer_type,$_SERVER['HTTP_REFERER']):$this->layer_msg('删除失败!',8,$layer_type,$_SERVER['HTTP_REFERER']);

}

```

这里的$delid=$_GET['delid'];$ids=$delid;

$ids没有经过引号保护,直接进入SQL语句,导致SQL注入

由于通过截断,修改后面的uid,就可以导致越权操作,删除任意企业用户的企业产品。

### 漏洞证明:

拿第一处SQL注入、越权修改企业环境展示信息为例:

从代码可以看出,当查询失败时,会返回“非法操作!”:

[](https://images.seebug.org/upload/201406/101605075de1056708c72fa872b1f1edd1c23748.png)

当查询正常时,会返回“修改成功!”:

[](https://images.seebug.org/upload/201406/1016052228da846c65a8e57bd76edf1aaa7c1525.png)

[](https://images.seebug.org/upload/201406/10160555aebe788a796d6b47919ed7e9d8d23c4b.png)

这里可以看出user()的第一个字符就是r

依次遍历char的值,得到user()=root

其他几处SQL注入漏洞证明验证过程方法见漏洞:

[WooYun: PHPYUN最新版多处SQL注入及越权操作](http://www.wooyun.org/bugs/wooyun-2014-064323)

php 越权 漏洞,PHPYUN最新版多处SQL注入及越权操作二相关推荐

  1. mysql注入 xfkxfk_WSS最新版多处SQL注入直接获取数据三(官方demo演示及快速定位漏洞技巧)...

    ### 简要描述: WSS最新版多处SQL注入直接获取数据三,官方demo演示,这里存在多处,对同一问题进行总结 ### 详细说明: WSS最新版1.3.2,这里存在多处,并对此同一问题进行总结,以及 ...

  2. php 越权 漏洞,PHPYUN最新版SQL注入及多处越权操作终结篇

    ### 简要描述: PHPYUN最新版(phpyun_v3.1.0604_gbk)SQL注入及多处越权操作 虽然PHPYUN在注入防御上已经做得很不错了,方的很严格,像吃掉引号,宽字节的基本上很少了, ...

  3. php100漏洞,phpyun人才管理系统V5.0 SQL注入漏洞分析

    *世界上最愚蠢的事莫过于我们无比狂热地做一件事,到最后却不知道为什么要做* cms背景介绍 PHP云人才管理系统(phpyun)是国内主流人才管理CMS系统之一!PHP云专为中文用户设计和开发,采用: ...

  4. mysql 主键 uniqo_优衣库某处SQL注入可导致移动平台被劫持

    漏洞概要 缺陷编号:WooYun-2014-073739 漏洞标题:优衣库某处SQL注入可导致移动平台被劫持 相关厂商:优衣库 漏洞作者:winsyk 提交时间:2014-08-25 10:08 公开 ...

  5. 注入中转生成器php,泛微协同商务系统e-cology某处SQL注入(附验证中转脚本)

    泛微协同商务系统e-cology某处SQL注入(附验证中转脚本) 随便找个吧 以http://**.**.**.**//services/MobileService?wsdl为例 使用wvs chec ...

  6. php5217 0day,知道创宇:最新版DEDECMS存SQL注入0day漏洞

    站长之家(chinaz.com)4月29日消息:国内安全研究团队"知道创宇"称截获到最新DEDECMS SQL注入0day,DEDECMS官网目前提供下载的最新版5.7也受影响,截 ...

  7. sql注入php文件包含,phpshe v1.1多处SQL注入文件包含漏洞

    时间:2013-04-22来源:源码库 作者:源码库 文章热度: ℃ 发布日期:2013-04.16 发布作者:Kn1f3 漏洞类型:SQL注入 漏洞描述: 0×00 整体大概参数传输 //commo ...

  8. /plus/recommend.php sql注入漏洞,DedeCMS 全版本通杀SQL注入漏洞利用代码及工具 -

    DedeCMS 全版本通杀SQL注入漏洞利用代码及工具 目前官方最新版已修复该漏洞 V5.7.37 GBK正式版20140228常规更新补丁 http://www.dedecms.com/pl/ ht ...

  9. mysql 漏洞 wa_[漏洞案例]thinkcmf 2.x从sql注入到getshell实战

    文章中提到了三个漏洞,一个注入,两个模板注入写shell. 但是系统是部署在linux下面的,模板注入是不行的. 所以文章编辑处的sql注入漏洞是比较好的方法了. 但是这里的注入需要登陆. 虽然网站默 ...

最新文章

  1. session对象运行机制
  2. KS007基于JSP实现人个人博客系统
  3. 开发日记-20190517 关键词 函数式编程(一)
  4. [转] Java多线程发展简史
  5. 前端学习(2731):重读vue电商网站41之自定义格式化时间的全局过滤器
  6. html htc控件详解,*.HTC 文件的简单介绍-网页设计,HTML/CSS
  7. git 本地项目关联线上仓库报错 failed to push some refs to “XXX”
  8. 详解淘宝大秒杀系统设计,首次公开
  9. 服务器上的数据库文件夹下,服务器怎么打开数据库文件夹下
  10. 【2016.4.6】结对编程 第二章 基础设计
  11. 英伟达服务器系统显卡驱动,NVIDIA显卡驱动
  12. D. Drunk Passenger(数学概率)
  13. mysql 5.7 搭建传统的异步复制 master、salve
  14. 评点2021-2022年上市的那些Go语言新书
  15. c语言sizeof啥作用,C语言中sizeof什么意思
  16. Kubernetes之Service
  17. 苹果笔记本怎么查看计算机基本信息,怎么区分查找苹果电脑笔记本macBook pro的年份、型号及序列号...
  18. 苹果手机互传一键换机
  19. Day1、为什么JDK1.8中HashMap从头插入改成尾插入
  20. 基于Uni-APP多端「h5+小程序+App」高仿抖音小视频|直播|聊天实例

热门文章

  1. Python学习笔记之Windows下通过pip安装Django详细介绍
  2. 使用validation校验
  3. Java常用性能分析工具 jconsole、jvisualvm、 jstat、jinfo、jmap、jhat、jstack
  4. python des加密文件_Python DES加密解密方法 pyDes库 兼容中文
  5. Python入门(02) -- 列表操作
  6. Java 面向对象:构造器详解
  7. HTML行内元素、块状元素和行内块状元素的区分
  8. 深入以太坊智能合约ABI
  9. sqlite3使用sqlite2创建的数据库
  10. Optimizing regular expressions in Java