漏洞概要
            
                关注数(24)
                
                    关注此漏洞
                
            
        
        
        
        
            
            
                漏洞标题:
                深信服SSL VPN getshell漏洞(有条件限制)                                      
             
            
            
            
            
            
            
            
            
            
         
        
        
        
        
        
        
        
        >		
漏洞详情
		披露状态:
							
											2016-04-11:	细节已通知厂商并且等待厂商处理中
									2016-04-12:	厂商已经确认,细节仅向厂商公开
									2016-04-15:	细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
									2016-06-06:	细节向核心白帽子及相关领域专家公开
									2016-06-16:	细节向普通白帽子公开
									2016-06-26:	细节向实习白帽子公开
									2016-07-11:	细节向公众公开
								
		简要描述:
		来一发
								详细说明:
    			这里为了保护厂商知识产权,隐去大部分代码
漏洞利用前提:
1、有登陆SSL VPN控制台的权限
2、可以SSL VPN修改邮件服务器配置
问题出在sysCfgController.class.php 147行(邮件服务器设置的发送测试邮件功能)
file_put_contents在file_exists前执行,而$conf_file来源于cookie参数sinfor_session_id
那么我们提交的时候修改cookie sinfor_session_id为:
即可在/tmp/目录下创建一个1.txt文件
如何getshell呢?向web根目录下写个php就行了呀
但这里会碰到问题:新建的文件权限是-rw-------,也就是说web容器不能执行新建的文件
为了突破这个问题,需要覆盖掉一个已存在的php文件,利用其x权限来达到getshell的目的
就拿这个php开刀吧:/app/usr/sbin/webui/html/appSsoApi.php
那么将cookie sinfor_session_id修改为:
注意!此操作会覆盖上面的php文件
最终POC:
提交后访问https://***/cgi-bin/php-cgi/html/appSsoApi.php,可看到php代码执行:

 
     									漏洞证明:
      									修复方案:
      													版权声明:转载请注明来源 路人甲@乌云
		        
        
        >					
漏洞回应
      																										厂商回应:
						危害等级:低
						漏洞Rank:4 
													确认时间:2016-04-12 10:50
												厂商回复:
						感谢白帽子提交的问题。经确认,该问题确实存在,但需要获取管理员权限后才能利用,影响较小。
目前该问题已经解决,并将在下个版本进行更新。
感谢白帽子为我们指出问题,请白帽子私信留下联系方式,我们将为您寄送礼物以示答谢!
										最新状态:
											暂无