首页
壁纸sharing
留言Board
About
推荐
百度
谷歌
chatGPT
Search
1
行业赛-数据安全之可疑日志分析一
14 阅读
2
解决windows环境下不能安装python扩展出现error: Unable to find vcvarsall.bat
9 阅读
3
windows下创建python2环境
6 阅读
4
windows环境下安装Crypto
4 阅读
5
PHP输出打印变量和字符串的几种方法
4 阅读
默认分类
技术分享
安全漏洞分析
CTF技巧
网络运维
window技巧
前端开发
心得体会
资源分享
工具分享
CTFgame
疑难杂症
编程学习
python学习
PHP学习
软件安装与更新
python package
登录
/
注册
Search
标签搜索
国产系统
bclinux
python2.7
日志分析
隐藏文件
binwalk
foremost
CTF
内存镜像分析
volatility工具
linux系统
环境变量
ctf_web
kali linux
虚拟环境
python扩展包
攻击溯源
Crypto
pycryptodome
加解密
小星日记
累计撰写
30
篇文章
累计收到
45
条评论
首页
栏目
默认分类
技术分享
安全漏洞分析
CTF技巧
网络运维
window技巧
前端开发
心得体会
资源分享
工具分享
CTFgame
疑难杂症
编程学习
python学习
PHP学习
软件安装与更新
python package
页面
壁纸sharing
留言Board
About
推荐
百度
谷歌
chatGPT
搜索到
30
篇与
的结果
2024-04-12
linux系统常见查看系统信息的命令
查看linux版本信息的常用命令命令如下:uname -a cat /proc/version cat /etc/redhat-release cat /etc/os-release cat /etc/issue
2024年04月12日
1 阅读
0 评论
0 点赞
2024-04-12
vue3中使用getCurrentInstance来代替this
vue3中使用getCurrentInstance来代替this概念在 vue2 版本中,可以通过 this 来获取当前组件实例,但是在 vue3 setup 中是无法通过 this 获取组件实例对象,console.log(this) 打印出来的值是undefined。而使用 getCurrentInstance 方法就能获取当前组件的实例、上下文来操作 router 和 vuex 等。使用例子一:<script setup> import { getCurrentInstance, ref } from "vue";// 获取当前实例,在当前实例充当vue2 中的this // 获取当前组件实例 const instance = getCurrentInstance(); // 获取当前组件的上下文,下面两种方式都能获取到组件的上下文。 const { ctx } = getCurrentInstance(); // 方式一,这种方式只能在开发环境下使用,生产环境下的ctx将访问不到 const { proxy } = getCurrentInstance(); // 方式二,此方法在开发环境以及生产环境下都能放到组件上下文对象(推荐) // 确定更多筛选 const onSureMoreScreen = () => { // 隐藏更多筛选 instance.proxy.$refs.sureScreen.toggle(); //proxy.$refs.sureScreen.toggle(); //该方式作用和上面的一样 } </script>例子二:1.// 在新的vue-router里面尤大加入了一些方法,比如这里代替this的useRouter,具体使用如下: //引入路由函数 import { useRouter } from "vue-router"; //使用 setup() { //初始化路由 const router = useRouter(); router.push({ path: "/" }); return {}; } 2.在vue2中可以通过this来访问到$refs,vue3中由于没有this所以获取不到了,但是官网中提供了方法来获取: <template> <h2 ref="root">姓名</h2> </template> <script> import { onMounted, ref } from 'vue' export default { name: 'test9', setup(){ const root = ref(null) onMounted(()=>{ console.log(root.value); }) return { root } }, } </script> //第二种方法,也可以通过getCurrentInstance来获取 <template> <h2 ref="root">姓名</h2> </template> <script> import { onMounted, ref, getCurrentInstance } from 'vue' export default { name: 'test9', setup(){) const {proxy} = getCurrentInstance() onMounted(()=>{ console.log(proxy.$refs.root); }) return { } }, } </script> 3.关于element在vue3的使用方法,没有this.$message等方法解决方案 <template> <button @click="doLogin">登录</button> </template> <script> import { getCurrentInstance } from 'vue' export default { name: 'Test', setup () { const instance = getCurrentInstance() // vue3提供的方法,创建类似于this的实例 const doLogin = () => { instance.proxy.$message({ type: 'error', text: '登录失败' }) // 类似于this.$message() } return { doLogin } }, // 如果想试用this.$message,须在mounted钩子函数中,setup中没有this实例, //但vue3.0中还是建议在setup函数中进行逻辑操作 mounted () { this.$message({ type: 'error', text: '登录失败' }) } } </script>注意1、getCurrentInstance 只能在 setup 或生命周期钩子中使用2、ctx 和 proxy 都是 getCurrentInstance() 对象中的属性,通过解构赋值的方式拿到。可以看到,2者有所区别。ctx 是普通对象,proxy 是 Proxy 对象。3、getCurrentInstance 是一个 function 方法,getCurrentInstance() 是一个对象,proxy 也是一个对象。proxy 是 getCurrentInstance() 对象中的一个属性,通过对象的解构赋值方式拿到 proxy。参考:vue3中使用 getCurrentInstance - 掘金 (juejin.cn)解决vue3没有this造成的无法使用vue2_vue3 this-CSDN博客
2024年04月12日
1 阅读
0 评论
0 点赞
2024-04-12
Apache Shiro 1.2.4 反序列化漏洞(CVE-2016-4437)
Apache Shiro 1.2.4 反序列化漏洞(CVE-2016-4437)一、漏洞原理Apache Shiro框架提供了记住密码的功能,用户登录成功后会将用户信息加密,加密过程:用户信息=>序列化=>AES加密=>BASE64编码=>RememberMe Cookie值。如果用户勾选记住密码,那么在请求中会携带cookie,并且将加密信息存放在cookie的rememberMe字段里面,在服务器收到请求对RememberMe值,先进行base64解码然后AES解密在反序列化,这个加密过程如果我们知道AES加密的密钥,那么我们把用户信息替换成恶意命令,就导致了反序列化RCE漏洞。在shiro版本<=1.2.4中使用了默认的密钥,所以我们更容易触发该漏洞。所以我们Payload产生的过程:恶意命令=>序列化=>AES加密=>BASE64编码=>RememberMe Cookie值二、环境搭建本次实验使用vulhub进行环境搭建,需提前下载好vulhub。下载地址:https://vulhub.org/#/docs/1. 进入漏洞环境cd vulhub-master/shiro/CVE-2016-44372. 使用命令安装环境docker-compose up -d注意:首次使用需要配置docker国内源# 若docker下载慢或出错,可以使用国内源 在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件): { "registry-mirrors": [ "https://hub-mirror.c.163.com", "https://mirror.baidubce.com" ] } 注意,一定要保证该文件符合 json 规范,否则 Docker 将不能启动。 之后重新启动服务。 $ sudo systemctl daemon-reload $ sudo systemctl restart docker 目前可用的加速地址有: 网易 http://hub-mirror.c.163.com ustc https://docker.mirrors.ustc.edu.cn 百度云 https://mirror.baidubce.com/3. 部署好了之后,使用docker命令查看地址,查看本机ip# 查看部署端口 docker ps ''' CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6ffade0e3869 vulhub/shiro:1.2.4 "java -jar /shirodem…" 38 minutes ago Up 38 minutes 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp cve-2016-4437_web_1 ''' # 查看本机ip ip addr 或 ifconfig三、漏洞复现1. 使用shiro检查利用工具,j1anFen/shiro_attack: shiro反序列化漏洞综合利用,包含(回显执行命令/注入内存马) (github.com)2. 使用shiro工具,爆破秘钥和利用链3. 执行内存马注入4. 使用蚁剑连接即可注意:若出现注入失败,请更换注入类型或者更新路径。若处理完之后还不能注入,估计是网站出问题了,我重启网站后可以成功注入!参考:Apache Shiro 1.2.4 反序列化漏洞(CVE-2016-4437)_vulhubcve-2016-4437 漏洞防御-CSDN博客
2024年04月12日
1 阅读
0 评论
0 点赞
2024-04-12
固定移动硬盘盘符
固定所在电脑的移动硬盘盘符为了高效发挥移动硬盘的可移动性,需要固定住常用电脑的移动硬盘盘符,注意每次换不同电脑都要进行固定盘符操作,之后再重新连接就不需要了。# 命令汇总 diskpart list volume select volume 5 assign letter=D具体步骤如下:打开cmd输入diskpart后回车弹出一个新的cmd窗口在新的cmd窗口输入list volume查看盘符设置输入select volume 5并回车确认操作盘符所在卷输入assign letter=D,表示固定盘符为D,至此固定盘符成功,将移动硬盘的剩余盘符进行同样操作进行固定参考:教你如何锁定移动硬盘盘符-腾讯云开发者社区-腾讯云 (tencent.com)
2024年04月12日
2 阅读
0 评论
0 点赞
2024-04-08
1_信息泄露WP-1_DS_Store_实操
题目详情:WP:查看.DS_Store路径发现下载一个.DS_Store文件http://111.33.14.218:27742/.DS_Store使用notepad++等软件或者程序打开此文件,发现隐藏信息flag_is_here.txt查找此文件http://111.33.14.218:27742/flag_is_here.txt,发现flagFLAG:flag{123444456}
2024年04月08日
1 阅读
0 评论
0 点赞
1
2
3
4
...
6