RPO攻击

作者: 苑紫桐 | 来源:发表于2018-04-08 20:55 被阅读0次

最近在强网杯上遇到RPO的题,懵逼好久。

0x00概述

浏览器解析页面路径有误而导致css文件加载路径错误,从而引发的任意解析。

关键点:上传css的点,利用的是PHPinfo模式

0x01 PHPinfo模式

PHPinfo模式上传URL的本意是为了使原本长段的URL变得简洁。每当你访问一个网站必然带有一长串参数,但是太长又显得不太友好,参数还需要使用&来分割开,参数一多,就显得相当复杂。然而PathInfo模式功能就是将这一长串缩短简化,让这个路径变得更加友好的显示。

传统的访问路径是这样子的:

http://www.example.com/index.php?m=module&c=controller&a=action&var1=vaule1&var2=vaule2.....

而PHPinfo的URL模式下能够做到这样子的路径:

http://www.example.com/index.php?module/controller/action/var1/vaule1/var2/value2.....

两者相比较很容易就得出结论:PathInfo模式下的访问路径显示更加友好。
下为实现pathinfo的一个简易demo

$arr=isset($_SERVER['PATH_INFO'])?explode('/',trim($_SERVER['PATH_INFO'],'/')):null;
//var_dump($arr);
//echo $arr
$value='';
for($_=0;$_<count($arr);$_+=2)
{
    $value[$arr[$_]] = $arr[$_+1];
}
$value['country']=isset($value['country'])?$value['country']:null;

0x02漏洞原理

假设style.css文件为

h1 {
font-size:180px;
color:blue;
}

当css文件以相对路径被加载的时候

<link rel="stylesheet" href="./style.css" style="css" />

因为传参是用反斜杠来实现的,所以正常打开页面是没有问题的


image

但是当我们上传参数的时候,浏览器与服务器端对URL的解析就会不同

7e2785d1ly1fevjctwms8j20p108v0sx.jpg

浏览器误以为我们参数的键/country/是一个实际的路径,从而导致实际加载的css文件路径就成了

http://localhost/hello/url.php/country/style.css

服务端收到的请求会认为请求/country/style.css是一个键为country值为style.css的参数,从而返回页面,这样返回的页面会直接加载构造好的css文件。

之后的利用可以结合xss来做了。

相关文章

  • RPO攻击

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

  • RPO攻击学习

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

  • RPO攻击导致的XSS

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

  • RPO相对路径覆盖攻击

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

  • rpo学习

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

  • RPO总结

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

  • 招聘岗位:RPO项目经理

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

  • 控件

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

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

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

  • RPO和RTO的区别

    RPO和RTO是灾备中常见的两个术语,且在考试中也经常出现,但经常容易混淆。为了造福大家,把区分要点简要写一下: ...

网友评论

    本文标题:RPO攻击

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