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

所属分类: 网络安全 / 黑客教程 阅读数: 1705
收藏 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的密码。兴奋 的去睡觉,躺在床上却怎么也睡不着:怎么去更简单的利用呢?一边思考,一边入睡,睡着的时候天都亮了。


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

爆破的一般思路与断点的设置

破 顾名思义就是暴力修改程序的代码来达到破解的目的 当然根据共享软件的注册方式我们可以对症下药 比如说没有注册的软件有功能限制、使用次数限制、使用日期限制等 我们就可以分别对待了!我们只需要解除这些限制自然就达到了破解的目的了! 暴力破解的一
收藏 0 赞 0 分享

解析RootKit与反RootKit(图)

Rootkit是一个或者多个用于隐藏、控制一台计算机的工具包,该技术被越来越多地应用于一些恶意软件中。在基于Windows的系统中Rootkit更多地用于隐藏程序或进程,系统被注入Rootkit后就可以在不为用户察觉的情况下进行某些操作。因此,其隐蔽性极高,危害也极大。下面笔
收藏 0 赞 0 分享

VC 下黑客软件隐蔽程序的手段

一、引言 随着计算机网络的不断发展,黑客技术也日益成为一支不可忽视的技术力量,尽管多数黑客的攻击目标以服务器为主,对大多数的互连网用户的直接危害并不大。但有一类称为"特洛伊木马"的黑客程序可以通过欺骗等手段在普通网络用户端安装木马的服务端,使
收藏 0 赞 0 分享

PERL铸造多线程 支持中文破解SQL自动注入猜解机

说到SQL注入机,从娃娃针对动网文章的dvTxt.pl到臭要饭的绝世猜解CSC、NB联盟的NBSI,大家也都用过吧? 开天始祖 dvTxt.pl,也不知被改了多少遍,以用于针对各种不同的有SQL注入漏洞的系统,通常《黑防》的一篇《**存在SQL注入漏洞》的文章,末了,都要把
收藏 0 赞 0 分享

总结所有得肉鸡后的命令

net use $">\ipipc$Content$nbsp;" " /user:" " 建立IPC空链接 net use $">\ipipc$Content$nbsp;"密码"
收藏 0 赞 0 分享

通过SQL注入得到WebShell的原理及步骤

一.通过SQL注入得到WEBSHELL的原理: N.E.V.E.R的方法:利用数据库备份得到WEBSHELL。创建一个表,在表中建一个字段用来保存木马数据。然后利用MSSQL导出库文件的办法把整个数据导出来,最后再删除新建的表。 分析: N.E.V.E.R利用
收藏 0 赞 0 分享

教你成为ASP木马高手

1.名称:如何制作图片ASP木马 (可显示图片) 建一个asp文件,内容为<!--#i nclude file="ating.jpg"--> 找一个正常图片ating.jpg,插入一句话木马(比如冰狐的),用ultraedit进行h
收藏 0 赞 0 分享

教你注入下载文件的代码到IE进程然后下载的文件

大家可能都用过网页木马来下真正的EXE木马吧,但是有些时候 后门比较大下载的时候常常是网页暂停或是报错(CHM木马常遇到) 所以写了这个程序。。。。 程序还要改下才好用哈,不过只有2kb很小了。。。。 编绎参数: C:masm32BIN
收藏 0 赞 0 分享

Google 黑客搜索技巧

站内搜索地址为: httpwww.google.comcustomdomains=(这里写我们要搜索的站点,比如feelids.com) 进去可以选择www和feelids.com, 当然再选我们要的站内搜索哦! 黑客专用信息和资料搜索地址为:
收藏 0 赞 0 分享

零距离感受入侵服务器

很多网上安全教程都介绍了如何通过百度和GOOGLE来搜索漏洞代码而发动攻击,这种文章在实际应用中没有什么价值,毕竟很多时候我们需要定点定位攻击目标服务器而不是这种广撒网覆盖形式的入侵。只有学会针对某定点服务器进行扫描和攻击才有利于我们增长企业安全防范与攻击技
收藏 0 赞 0 分享
查看更多