SPEL表达式注入案例分析


投石问路,是一种常见的渗透测试方法,通过尝试不同的技术来获取目标系统的信息,以便确定最终攻击方式。在你的测试中,你通过不同的技术探索了目标系统的特性,下面对你的探索进行优化和详细说明。

发现1:.符号调用静态方法

在你的测试中,你发现通过使用.符号可以调用静态方法而不需要创建对象实例。这表明目标系统支持直接调用静态方法。

图片[1]-SPEL表达式注入案例分析-山海云端论坛

发现2:不支持OGNL的New语法

你测试了OGNL(Object Graph Navigation Language)语法,但发现目标系统不支持OGNL的New语法。这暗示目标系统不是OGNL。

发现3:不是直接的EL表达式

你尝试了EL(Expression Language)表达式的语法,但发现目标系统不是直接支持EL表达式。

图片[2]-SPEL表达式注入案例分析-山海云端论坛

发现4:可能是SPEL

根据前述测试结果,你推测目标系统可能是SPEL(Spring Expression Language)。你尝试了通过调用不存在的方法来触发错误,这可以帮助你查找可用的方法和依赖。

绕过命令执行限制

你成功地使用JavaScript引擎绕过了命令执行限制,这表明目标系统存在安全漏洞。

尝试反弹shell

尽管尝试了反弹shell,但未成功。这表明目标系统可能存在一些限制或防御机制。

改造Payload为回显exp

为了进一步测试目标系统,你将Payload改造为回显exp。通过根据返回值判断,你推测目标系统可能存在回显的可能性。

调整payload

你调整了Payload,以尝试获取可以通过System.out.println()输出的回显。通过验证发现,目标系统确实存在common-io的依赖,因此你构造了相应的payload。

在测试过程中,你不仅仅是尝试不同的技术和方法,还不断地对测试结果进行分析和推断,以确定最佳的攻击方式。这种系统性的探索和分析对于渗透测试是非常关键的。

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容