z-blog+php+漏洞,bo-blog index.php include任意php文件漏洞

news/2024/11/23 5:47:35/

来源:[F.S.T]火狐技术联盟

文章作者:我非我[F.S.T]

漏洞发现日期:2005.6.13

漏洞涉及版本:Bo-Blog Version <= 1.7.0108(未打补丁前)

漏洞分析及利用:

刚发现bo-blog的一个致命的漏洞。我是看1.7.0095版本的。不过估计最新的也有这个漏洞.在index.php中的job变量没有过滤.导致用户可以任意include一个php文件.

index.php

———————-可爱的分割线—————————–

[codz begin]

33 if (empty($job)) $job="listall";

34 if ($job=="main") $job="listall";

178 if (!file_exists("include/$job.php")) $job="listall";

179 include ("include/$job.php"); //未加过滤,只是判断是否有这个$job.php文件,然后就include了.

[codz end]

———————-可爱的分割线—————————–

我们可以通过这个$job变量include任何一个有php扩展名的文件,只要他在服务器上存在(我们可以通过../来绕过目录).其实他的admin_cp.php文件中一样有这个问题.只不过要调用admin_cp.php文件是要权限的.所以我们就只能用index.php进行利用了.

现在我们开始测试,www.bo-blog.com这是他的主站。我们先来看看他的php设置.输入:http://www.bo-blog.com/index.php?job=../admin/change&action=phpinfo

这个action是传递给admin/change.php的,作用是这个文件可以显示phpinfo.不用担心不能调用.index.php是include了global.php的,定义了inwork.所以可以使用change.php而甚至不用登陆

得到了一些基本信息:Windows NT NS 5.2 build 3790 服务器是php5的,safe_mode=On.

再来正式利用拿他的webshell。在http://www.bo-blog.com/index.php?job=../admin/ban 这里,本来是给admin在后台设置禁止ip\语言等的.但是同样没有过滤,导致我们可以直接写入一个shell。但是我们必须自己构造一个表单,先看他的原文件,我们用他还没用过的那个bansearch(禁止搜索词汇)。

———————-可爱的分割线—————————–

[codz begin]

禁止发布的词汇,每个词语用半角 , (逗号)隔开
敏感词语:
输入禁止的词语,大小写忽略

[codz end]

———————-可爱的分割线—————————–

我们把他另存为一个html文件.注意.要把form栏里的action=admin_cp.php?job=ban改为action=http://www.bo-blog.com/blog/index.php?job=../admin/ban才行.保存好.然后打开这个html.

在表单的htmlarea里,我们写个lanker的微型后门进去。点击保存.(这里注意,不要有' " \等特殊字符.会被php自动加上\的.)

系统提示:

———————-可爱的分割线—————————–

更新成功

保存了禁止搜索词。

———————-可爱的分割线—————————–

成功了,呵呵.

来.我们用lanker后门的客户端来连接试试.看到我们可爱的shell了吗?说明什么?说明成功啦~~

漏洞简单修补:

在index.php中178 if (!file_exists("include/$job.php")) $job="listall"; 这一行前加上以下代码:

$job = str_replace(".","",$job);

$job = str_replace("/","",$job);

我非我当时测试bo-blog官方网站的利用动画:

http://www.wofeiwo.info/boblog.rar


http://www.ppmy.cn/news/804729.html

相关文章

Java中 VO、 PO、DO、DTO、 BO、 QO、DAO、POJO之dozer mapper使用

PO(persistant object) 持久对象 在 o/r 映射的时候出现的概念&#xff0c;如果没有 o/r 映射&#xff0c;没有这个概念存在了。通常对应数据模型 ( 数据库 ), 本身还有部分业务逻辑的处理。可以看成是与数据库中的表相映射的 java 对象。最简单的 PO 就是对应数据库中某个表中…

BO系列产品介绍

看SAP提供的BO产品目录&#xff0c;比较晕&#xff0c;有很多产品。不同产品的定位及作用不能一一去看吧&#xff0c;而且也没办法对BO产品进行总体的了解&#xff0c;然后再有针对性的进行个别产品的深入了解。但是对BO系列的产品总体介绍的文档比较少。SAP BO产品按企业规模推…

po ov pojo DAO,BO各种差异用法设计

要在页面上查看一些固定的信息&#xff0c;用到了VO类和 从内存中加载数据。来说下各 O 的差异下面说一下 VO类。 首先&#xff0c;java有几种对象(PO,VO,DAO,BO,POJO) 一、PO:persistant object 持久对象,可以看成是与数据库中的表相映射的java对象。使用Hibernate来生成PO…

vue bpmn.js中bo.get is not a function问题处理-bpmn右侧属性问题

vue bpmn.js中bo.get is not a function问题处理-bpmn右侧属性问题 当我们使用 bpmn.js 中的右侧属性版时&#xff0c;需要引入 bpmn-js-properties-panel 这个插件&#xff0c;同时引入 camunda-bpmn-moddle 按照官网或者其他人的教程&#xff0c;装到最后出现&#xff1a;bo.…

关于BO SDK

1 官网BO SDK http://scn.sap.com/docs/DOC-27465 2 最简单的BO SDK DEMO -- Getting Started with BO JAVA SDK http://ginoscheppers.wordpress.com/2011/02/10/quick-start-using-eclipse-and-bo-xi-java-sdk/ http://blog.sina.com.cn/s/blog_7b87efa50101c4ry.ht…

Java PO BO DTO VO bean对象互相转换高性能实现工具

目录 方案一&#xff1a;Cglib BeanCopier方案二&#xff1a;Spring BeanUtils方案三&#xff1a;MapStruct方案四&#xff1a;Orika方案五&#xff1a;Dozer 方案一&#xff1a;Cglib BeanCopier import com.google.common.collect.Lists; import lombok.extern.slf4j.Slf4j;…

dearmwear和PHP和HtmL_BO-BLOG模板制作指南(上)

一、Bo-blog程序简介 Bo-Blog日志程序(以下简称程序)是由Bob Shen开发的管理员和副管理员共同写作的blog程序&#xff0c;基于PHP脚本和文本数据库。 Bo-blog官方网站&#xff1a;http://www.bo-blog.com Bo-blog官方论坛:http://www.bmforum.com/bmb/forums.php?forumid81 二…

DO、DTO、BO、AO、VO、POJO定义和转换的正确姿势

一、引言 DO、DTO、BO、AO、VO、POJO的概念看似简单&#xff0c;但是想区分好或者理解好也不容易&#xff0c;本文简单梳理一下。 通过各层POJO的使用&#xff0c;有助于提高代码的可读性和可维护性。 -------------------------------------------------------------------…