如何通过struts2绕过WAF实现文件读写及非传统命令执行?

2026-05-19 14:370阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计4202个文字,预计阅读时间需要17分钟。

如何通过struts2绕过WAF实现文件读写及非传统命令执行?

之前接触到过几次Struts2,版本是016,项目和众测都遇到过问题,每次都只是证明了存在,因为WAF的存在,没有深入去利用。这里简单记录下。+0x01+ 背景 +xray或Struts2漏洞扫描可以扫描到网站。

之前碰到过好几次Struts2,还都是016,项目、众测都遇到过,每次都只是证明了一下存在,由于waf的存在,没有深入去利用,这里简单的记录下。

0x01 背景

xray或者Struts2漏扫可以扫到网站存在Struts2漏洞

但是执行命令会发现直接Connection Reset,很明显是被waf拦截了

0x02 探究waf规则

一个一个删除关键字,发现拦截的关键字有三个:
Runtimedispatcher

  • Runtime很熟悉,执行命令一般都用这个,拦截了这个关键字,执行命令还是比较困难的
  • dispatcher比较陌生,查了资料以后发现是读取Struts2的请求对象中的关键字
  • getRealPath字面意思,获取真实路径
0x03 尝试突破

简单说一下思路,在绕过waf关键字的前提下进行读、写文件,如webshell落地;或者直接执行命令,如CS上线等。

阅读全文

本文共计4202个文字,预计阅读时间需要17分钟。

如何通过struts2绕过WAF实现文件读写及非传统命令执行?

之前接触到过几次Struts2,版本是016,项目和众测都遇到过问题,每次都只是证明了存在,因为WAF的存在,没有深入去利用。这里简单记录下。+0x01+ 背景 +xray或Struts2漏洞扫描可以扫描到网站。

之前碰到过好几次Struts2,还都是016,项目、众测都遇到过,每次都只是证明了一下存在,由于waf的存在,没有深入去利用,这里简单的记录下。

0x01 背景

xray或者Struts2漏扫可以扫到网站存在Struts2漏洞

但是执行命令会发现直接Connection Reset,很明显是被waf拦截了

0x02 探究waf规则

一个一个删除关键字,发现拦截的关键字有三个:
Runtimedispatcher

  • Runtime很熟悉,执行命令一般都用这个,拦截了这个关键字,执行命令还是比较困难的
  • dispatcher比较陌生,查了资料以后发现是读取Struts2的请求对象中的关键字
  • getRealPath字面意思,获取真实路径
0x03 尝试突破

简单说一下思路,在绕过waf关键字的前提下进行读、写文件,如webshell落地;或者直接执行命令,如CS上线等。

阅读全文