网站地图    收藏   

主页 > 后端 > 网站安全 >

RulingSite-S系统多个缺陷及修复 - 网站安全 - 自学

来源:自学PHP网    时间:2015-04-17 13:03 作者: 阅读:

[导读] RulingSite-S系统,存在任意文件下载漏洞,导致源代码泄露,含有数据库用户名和密码的配置文件泄露,phpMyAdmin路径泄露等,导致数据库随便看...没有什么技术含量,非常简单的任意文件...

RulingSite-S系统,存在任意文件下载漏洞,导致源代码泄露,含有数据库用户名和密码的配置文件泄露,phpMyAdmin路径泄露等,导致数据库随便看...

没有什么技术含量,非常简单的任意文件下载漏洞,源文件解码后如下所示:
<?php
 
include( "init.inc.php" );
get_referer( false );
if ( empty( $_GET['filename'] ) || empty( $_GET['title'] ) || empty( $_GET['dir'] ) )
{
error_display( t_( "缺少檔案下載參數" ) );
} www.2cto.com
$file_name = $_GET['filename'];
$file_download = uploadpath( )."/".$_GET['dir']."/".$file_name;
$file_extension = get_file_extension( $file_name );
if ( strpos( $_SERVER['HTTP_USER_AGENT'], "MSIE" ) )
{
$file_save = utf8tobig5( $_GET['title'] ).".".$file_extension;
}
else
{
$file_save = $_GET['title'].".".$file_extension;
}
$file_save = ereg_replace( "[\\/:*?\"<>|]", "_", $file_save );
if ( $file_extension == "php" )
{
exit( "<strong>Cannot be used for ".$file_extension." files!</strong>" );
}
$mimeType = get_file_mimetype( $file_name );
if ( strpos( $_SERVER['HTTP_USER_AGENT'], "MSIE 5" ) || strpos( $_SERVER['HTTP_USER_AGENT'], "Opera 7" ) )
{
$mimeType = "application/x-download";
}
ob_end_clean( );
header( "Pragma: public" );
header( "Expires: 0" );
header( "Cache-Control: must-revalidate, post-check=0, pre-check=0" );
header( "Cache-Control: public" );
header( "Content-Description: File Transfer" );
header( "Content-Type: ".$mimeType );
header( "Content-Disposition: attachment; filename=".$file_save );
header( "Content-Transfer-Encoding: binary" );
header( "Content-Length: ".filesize( $file_download ) );
@readfile( @$file_download );
?>
黑名单防止下载php文件简单绕过,即可下载任意文件,百度一下发现很多学校,使用python简单整理一下百度搜索结果,去重,大约有100多个域名,继续用python,下载每个域名的配置文件:
 


 
继续python提取配置文件中数据库用户名和密码:
 
 
简单看一下有些是root账号:
 
 
 
:
有了数据库可以进入后台,找到上传点,直接上传php,拿shell,很常规的思路,真的“成功”了。php上传上去了,直接访问发现不行,最开始以为上传路径没有执行权限,后来看了看才知道,上传文件被处理了,而且确实上传后文件变成了644,不能执行...
 
本想找个通用方法,看来行不通了,不知道有没有文件包含?不知道的还很多,如果被管理通过了,有哪位大神无聊,帮小弟完成通杀吧...
只知道用root导出获得shell,没有找到通杀...

修复方案:
就不写了,大家都懂,最主要的是没有厂商看,真的期望有一天cnvd有权管,期待省略1w字(不谈政治)

作者 possible

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论