RPO漏洞攻击 | (一个提交页面+一个文章编辑页面)

RPO漏洞攻击 | (一个提交页面+一个文章编辑页面)

General 5120x2880 mountains night stars snow rocks landscape lake river forest trees Mount Assiniboine Canada Cath Simard

利用条件

服务器中间件为Nginx或修改配置后的Apache

图片.png

存在相对路径的js或者css的引用

  • 文件代码

RPO/index.php

<html><body><script src="test.js"></script></body></html>

RPO/test.js

alert("this is under RPO");

RPO/xxx/index.php

alert("this is under xxx");

复现漏洞

访问http://127.0.0.1/RPO/index.php

弹出了RPO文件夹下的test.js

图片.png

http://127.0.0.1/RPO/xxx/..%2findex.php时却出现了

图片.png

原理图

图片.png

RPO漏洞危害

1. 可以跨目录读取执行js(如上所示)

2. 实现任意文件读取(核心是header函数)

一段帮助理解URL重写的代码:

/RPO/index.php

<!DOCTYPE html><html><head>RPO attack test</head>
<body><script src="3.js"></script></body>
</html>
<?php
error_reporting(E_ALL^E_NOTICE^E_WARNING);
if($_GET['page']){
    $a=$_GET['page'];
    Header('Location:http://localhost/RPO/test/'."$a".'.html');
}
?>

这里其实还开启了pathinfo模式,url中的/page/3相当于?page=3,然后通过Header转到新的url。这样看起来url会更加和谐,但是问题也出在这里。

/RPO/test/333.html

alert("RPO attack");

这里访问输入page参数的http://localhost/index.php?page=333

会执行弹出RPO attack(执行了/RPO/test/333.html的js代码)

任意文件读取原理

图片.png

实战例题: 2018强网杯 Fuck the “Share your mind”

这个题目用到了RPO漏洞危害一: 跨目录读取执行js(

题目环境就是需要让题目服务器的bot带着自己的cookie访问我的服务器,一次让我们得到cookie

但cookie只是一个提示:

图片.png

需要让我们得到/QWB_f14g/QWB/这个目录的cookie(这个cookie就是flag)

可用之处

  • Write Article可以写入内容(可输入标题和文章内容)

    2018强网杯RPO攻击方式的探究

  • Overview可以预览文章

    查看源代码就能发现所有的标签都被过滤了,根本不存在xss

    2018强网杯RPO攻击方式的探究

  • Rexport 是一个提交url漏洞的地方,我测试发现这里面输入的链接会被请求,也就是说这里面存在一个xssbot

用到以上三个功能,但值得注意的是这三个地方都没有通过

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇