PHPAPP SQL注入漏洞

      PHPAPP是一款威客程序,前段时间看了一下,发现了一些问题。有一些已经提交到漏洞平台了,这里发一个没提交的。

      漏洞文件:\phpapp\apps\pay\main_phpapp.php  GoPayTool方法   

function GoPayTool($payarr){
	
		//检查支付工具
		$paytoolid=$payarr['PayToolID']; //$paytoolid变量由$payarr获取,只要可控就存在宽字节SQL注入

		if($this->IsSQL('pay_tool',"WHERE id_phpapp='$paytoolid'")){

			 if($payarr['Submit']){
			   
			      include_once(APPS.'/pay/class/pay_class_phpapp.php');

		          $pay=new PayMoney($payarr,$paytoolid);
			
			      $pay->SetPayTools();
			
			 }
			
		}else{
			  header('location:'.SURL);
		}
      \phpapp\apps\apppay\main_phpapp.php的OnLinePayAction方法调用了GoPayTool方法:

function OnLinePayAction(){
		
		
		 if($this->POST['PayMoney'] < PHPAPP::$config['pay_small_money']){
			 
			    $this->Refresh(include $this->LanguageArray('apppay','Pay_is_too_low',1),'member.php?app=5&action=2');
			 
		 }else{
		 
			   include_once(APPS.'/pay/main_phpapp.php');
	  
			   $pay=new PayMainControls();
								   
			   $pay->GoPayTool($this->POST); //POST变量进入,可控</span>
			   
		 }

	}
      我们再来看看$this->POST是怎么获取的:

$this->POST=$this->POSTArray();
       跟进POSTArray()方法:

function POSTArray(){
         $postarr=array();
		 if(is_array($_POST)){
			  
			   foreach($_POST as $key=>$value){
				   
					  $keyarr=explode('_',$key);
					  $count=count($keyarr);
					  if($count>1){
						    $keyname='';
					        for($i=0;$i<$count-1;$i++){
							     if($keyname){
							          $keyname.='_'.$keyarr[$i];
								 }else{
									  $keyname=$keyarr[$i];
						 		 }
					        }
						   
						    if($keyarr[$count-1]=='s'){	

							     $isajax=empty($_SERVER['HTTP_X_REQUESTED_WITH']) ? '' : $_SERVER['HTTP_X_REQUESTED_WITH'];
								
								 if($isajax=='XMLHttpRequest'){

					                    $value=$this->ConvertStr($value);
									 
								 }
								 $postarr[$keyname]=$this->str($value,0,1,0,0,0,1);
							}elseif($keyarr[$count-1]=='d'){
								 $postarr[$keyname]=intval($value);						 								 
							}elseif($keyarr[$count-1]=='f'){
								 $postarr[$keyname]=floatval($value);
							}else{
								 $postarr[$key]=$value;
								 
							}		
						   
						   
					  }else{
						   $postarr[$key]=$value;
					  }
					  
					  
			   }      
		 }
		
		 return $postarr;
	}
      我们这里的POST变量分割成数组之后只有PayMoney_f变量经过了转换,PayToolID变量没有,这样就存在注入了(POSTArray()方法如果走到else的话就会有很多问题,这里的注入只是其中之一)。

      利用方法:

      注册用户登录前台,在线充值处注入:/phpapp/member.php?app=5&action=2









  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHPAPP 是EDOOG 旗下新产品,全球领先的网站应用系统。 PHPAPP 全球网站应用的开创者,独创系统核心长期提供丰富网站应用程序,专为站长企业打造盈利应用。   威客交易程序 站长赚钱首选程序!!! 安全: 独创全ID URL直接屏蔽SQL注入问题,提供过虑系统对提交的数据进行过虑。 高效: 独创 AVC ( 应用Application 视图 View 和控制Controller ) 面向过程垂直设计,程序逻辑清晰运行速度快。 双核心: 独创 www 网站系统 支持 wap 手机系统 双核心,一程序多显示多用途 多语言: 独创独立语言包,多语言显示 扩展: 独创无限应用安装扩展 应用与windows软件一样安装,卸载简单,应用独立系统其它升级安装不影响应用运行,二次开发学习简单。   1.完美的 应用扩展 二次开发应用直接后台创建,安装应用支持批量安装 zip 压缩包或安装解压包,无限的扩展体系。 应用拥有独立的 权限;配置;管理等只要您想得到的应用,都能开发实现。 2.完美的 优化SEO PHPAPP 支持 自定义 伪静态URL和生成HTML静态部属,与应用的SEO设定完善解决 SEO优化问题。 可以对URL进行改名,URL地址想怎么变就怎么变。 3.完美的 帐务管理 当时用户交易情况如 交易金额;交易对象;资金流向等详细记录,并与订单关联,可以追踪到某个任务上。 交易金额的来龙去脉一目了然。 4.完美的 编辑器 edoog 自主开发的 edoog 2.0 编辑器与系统完美结合,支持 隐藏;批量上传图片;上传文件等并显示进度。 并提高用户上传图片附件的操作体验 5.完美的 任务流程 任务模拟商品交易流程,交易时生产订单,可对订单批量管理,发货,支付,退款等流程。 6.完美的 任务操作 任务前台 支持 批量 中标;不合格;点评等会员中心支持 批量 发货,支付订单管理 7.完美的 后台管理员配置 通过配置应用权限,生成出应用的动作权限,高达上 1000 个权限控制. 把后台管理权限分配到应用动作每个页面上。 8.完美的 接口配置 消息接口;邮箱接口;动态接口;短信接口;积分接口; 等,可以把应用配置并设置用户组使用权限使用这些接口。 使应用能发送消息,动态,短信等。 9.全新的 开发人员工具功能 可以调用数据与设置模块,生成的标签写在模板,前台的每一点一滴都在后台控制。 10.全新的 后台风格 使用全新的传统风格让更多站长操作更方便。 11.全新的 语言管理功能 前台后台支持多语言切换。 12.全新的 道具商店功能 目前现在 7~8 种道具,用户购买道具网站直接营利,道具将持续开发让站长赚钱更简单更轻松。 13.全新的 单人悬赏功能 全新开发的单人悬赏支持批量操作;诚信设置;使用道具;流程完善 批量操作: 采纳;不合格;点评;发货;支付等 诚信设置: 防止用户恶意不选稿退款等操作,当用户设置诚信后按诚信进行操作,提高任务的交易。 使用道具: 可以将任务置顶在列表,显示地图方位,设置隐藏等操作,用户购买后网站获得营利。 流程完善: 任务的每一步流程都与订单关联,支付,退款等实现交易体系的完善。 14.全新的 计件悬赏功能 全新开发的计件悬赏支持批量操作;诚信设置;使用道具;流程完善 功能同单人悬赏外,计件采用新的倒计中标算法。 什么是倒计中标? 就是按多少量进行中标并排除中标的稿件,只做剩下的名额并稿件只能投剩下名额。到期后如有剩名额,系统直接退款剩下的名额赏金。 保证了雇主的权利,同时又保证了投稿不浪费的合理性。 15.全新的 抢标悬赏功能 全新开发的抢标悬赏支持批量操作;诚信设置;使用道具;流程完善 功能同单人悬赏外,抢标悬赏与服务商资源进行整合。 当用户投标时,系统读取用户所卖的服务 报价,时间,信用等,先投标排名在前有抢标的优势。 雇主选出满意的服务商后即中标,双方进行交易。 保证了雇主的权利,同时又保证了投标不浪费的合理性。 16.全新的 微博悬赏功能1.0(全自动版) 全自动版微博支持 关注;转发;点评;操作 当用户操作后按用户的 粉丝 立即获取赏金。 目前该版本接口为 1.0 程序企业适用 17.独创的 链接悬赏功能(全自动版) EDOOG全球首创链接悬赏 站长10秒钟 100%中标赚钱 EDOOG完美的实力全力开发站长企业赚钱应用 什么是链接悬赏? 链接悬赏就是友情链接悬赏交换 新站长做友情链接很难,所以只能用钱购买大站的链接交换.但找不到做链接交换站长。 所以EDOOG针对这问题推出链接悬赏 链接交换作用? 链接交换来使新站获得访问量、增加用户浏览、在搜索引擎排名中增加重权收录、通过合作网站增加访问者的可信度等等 链接悬赏功能使用方法? 发布悬赏 -> 站长做好链接提交 -> 系统检测是否合格-> 站长中标得到赏金 站长整个过程10秒就可以拿到赏金,史上中标最快最安全的应用悬赏。 18.独创的 Wap手机功能 当您开发完成PHP应用后,wap手机功能也自然的开发完成,只需修改手机风格页面。 双核心,一程序多显示多用途,让程序赶上时代步伐。       相关阅读 同类推荐:电子商务系统
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值