拿下DVBBS php官网详细过程(图)

所属分类: 网络安全 / 黑客教程 阅读数: 1859
收藏 0 赞 0 分享

注意:文章已经发表在2008第7期《黑客手册》上,转载请注明出处。
几 个月前,DVBBS php2.0暴了一个可以直接读出管理员密码的sql注入漏洞,当时这个漏洞出来的时候,我看的心痒,怎么还会有这么弱智的漏洞,DVBBS php2.0这套代码我还没仔细看过,于是5月中旬我down下来粗略看了下,接着我花了三天的时间,拿下p.dvbbs.net,即动网php的官方网 站,并得到了webshell。总的来说,这次入侵凭的是二分技术加一分运气。

  一、 SQL注入漏洞:

  晚上检查了好久,终于在topicother.php中发现了一处sql注入漏洞,但是并不像前段时间暴的漏洞那么简单,因为不能把密码直接读出数据库并显示出来,这是个活动帖子的报名主函数,我简单搜索了下,1.0好像后来就增加了这个功能。好了,来看具体函数:

function PostActive_Main(){
……
$TopicID = $GLOBALS['id'];
$activeid = trim($_GET['activeid']);//activeid并没有过滤
$timemode = $_POST['payment'];
$systemmode = trim($_POST['contact']);
$message = trim($_POST['message']);

$gettimemode = trim($_POST['timemode']);
$getstarttime = trim($_POST['starttime']);
$getendtime = trim($_POST['endtime']);
$getexpiretime = trim($_POST['expiretime']);

if($timemode ==0)
$costnum = 0;
else
$costnum = intval(trim($_POST['payvalue']));
//直接带进来使用了
if( $query = $db->query("SELECT u1.sex,u1.strength,u2.usersex FROM {$dv}active as u1,{$dv}user as u2 WHERE activeid={$activeid}")){
$activeinfo =& $db->fetch_array($query);
if( !empty($activeinfo) ) {
$db->free_result($query);
}
}
if( $num = $db->query("SELECT count(*) as num from {$dv}activeuser where activeid='".$activeid."'")){
$activenum = $db->fetch_array($num);
if( !empty($activenum) ) {
$db->free_result($num);
}
}

//如果查取的activeid不正确或者后面注入的条件不成立,则显示显示str1:对不起!本活动报名人数已满!
if($activenum['num']>=$activeinfo['strength']){
head(0,0,0,$arrNavMenu);
showmsg($lang['Active_Error.str1']);
exit;
}
//如果activeid正确(后面注入的条件也成立),但没有登陆,就显示str2:请登陆后操作!
if ($userid==0) {
head(0,0,0,$arrNavMenu);
showmsg($lang['Active_Error.str2']);
exit;
}

//如果activeid正确并且已经登陆了,递交的时候没有递交联系方式,则会显示str6这个错误:对不起联系方式不能为空或小于8个字符!
if (''==$systemmode||strlen($systemmode)<8) {
head(0,0,0,$arrNavMenu);
showmsg($lang['Active_Error.str6']);
exit;
}

}


  首先先确定有没有activeid为1的活动帖子,就是在论坛目录后加上

  topicother.php?t=9&action=join&activeid=1

  显示“对不起!本活动报名人数已满!”则有可能不存在,自己注册个号进去发个活动帖子先。

  根 据上面解释,大家是否已经看出来该怎么注入啦,并不是什么都需要工具的,想当年ACCESS手工注入又不是没注入过,判断条件正确就返回正常,错误就不正 常显示;这里不也是同样的道理么,不管有没登陆,出错都显示:“对不起!本活动报名人数已满!”,如果判断条件正确,没有登陆的话显示:“请登陆后操 作!”,已经登陆了显示:“对不起联系方式不能为空或小于8个字符!”于是当晚我手动测试了一下官方,并成功获得了一个管理员的16位MD5的密码。兴奋 的去睡觉,躺在床上却怎么也睡不着:怎么去更简单的利用呢?一边思考,一边入睡,睡着的时候天都亮了。


更多精彩内容其他人还在看

必须了解的黑客入侵网站的十条原因及相应抵御方法

Internet Explorer、Firefox和Windows操作系统中包括许多可以被黑客运用的缝隙,特别是在用户常常不及时装置补丁的情况下。
收藏 0 赞 0 分享

如何有效的抵抗DDOS的方法介绍

DDOS的损害我这里就不说了,咱们可以经过批改注册表来减小DDOS对咱们的损伤.
收藏 0 赞 0 分享

中小网站如何对付拒绝服务攻击

 DoS(Denial of Service)是一种使用合理的效劳恳求占用过多的效劳资源,从而使合法用户无法得到效劳呼应的网络进犯行为。
收藏 0 赞 0 分享

黑客专家教你设计不易破解的密码以及注意事项

  美国一家密码管理应用提供商SplashData 公司近期总结出2012年度最差的25个密码,美国《纽约时报》作家尼克尔·佩尔荣斯近日撰文指出,密码要想不被黑客猜中,有几点非常重要的注意事项。
收藏 0 赞 0 分享

神秘的影子帐号揭秘

见名思义,帐号具有隐蔽性,不容易被发现(只是在一定程度上)。即一般的菜鸟发现不了
收藏 0 赞 0 分享

黑客基础知识 常用命令和快捷键大全

很多用户可能都知道在DOS模式下可以进行命令行的黑客命令操作,可总有用户不知道从哪里下手,看了下文您应该可以有一点启示
收藏 0 赞 0 分享

metasploit利用IE漏洞XSS挂马拿内网主机

metasploit内网渗透方面好多方式,这只是科普下xss在内网中的利用。
收藏 0 赞 0 分享

删除用户时提示无法在内置账户上运行此操作

一般情况写黑客在入侵服务器后都会添加新的用户或者和设置后门程序.如果大家在使用服务器的过程中发现,出现了不能删除的用且账号不能够正常删除提示无法在内置账号进行此操作。
收藏 0 赞 0 分享

教你使用搜索引擎批量检测网站注入点

以前很多新手朋友在通过查看网站是否存在注入点,的时候往往会通过搜索引擎批量检测。
收藏 0 赞 0 分享

使用搜索引擎搜索资料的方法

学习使用搜索引擎是电脑学习者必须掌握的一项技能,我们平时碰到的很多问题都可以在搜索引擎里面找到答案,比如我们要下载某个游戏,直接搜索那个游戏名字即可,非常的方便。下面,让我们一起来学习一下关于搜索引擎的使用方法。
收藏 0 赞 0 分享
查看更多