首页
壁纸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
搜索到
9
篇与
的结果
2024-04-12
linux系统添加环境变量
linux中添加环境变量1. 问题linux中很多工具需要添加环境变量才能全局使用,因此为了方便使用可以为当前用户或者root用户或者所有用户添加环境变量2. 环境变量格式其格式为:PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N>3. 不同用户的环境变量文件用户环境变量配置文件当前终端export PATH=$PATH:/usr/local/src/python3/bin所有用户/ect/profile /etc/bashrc /etc/environmentroot用户~/.bashrc ~/.zshrc ~/.bash_profile非root用户/home/非root用户名/.bashrc4.具体操作(建议编辑~/.zshrc,因为我编辑~/.bashrc报错了)以/etc/bashrc为例 1.先查看是否有配置文件编辑权限,若不可编辑需要先赋权 chmod -v u+w /etc/bashrc 2. 然后修改环境变量文件,若后续要追加可以使用:追加路径 vim /etc/bashrc # 在最后一行加上 export PATH=$PATH:/usr/local/src/python3/bin 3. 使用source使环境变量生效 source /etc/bashrc5. 环境变量加载顺序/etc/environment/etc/profile/etc/bashrc~/.profile~/.bashrc6.注意事项linux添加环境变量注意几点: 1、变量之前使用冒号分隔 2、使用命令export 3、export时,需要有$PATH 4、在文件的末尾添加 5、配置文件有,/etc/profile 和 ~/.bashrc 6、添加bin或者sbin目录即可参考:linux添加环境变量 - ilovetesting - 博客园 (cnblogs.com)Linux - 配置环境变量的几种方式-腾讯云开发者社区-腾讯云 (tencent.com)Ubuntu 18.04解决执行source ~/.bashrc命令后出现/home/xxx/.bashrc:x: command not found: shopt错误 - 简书 (jianshu.com)
2024年04月12日
1 阅读
0 评论
0 点赞
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 点赞
1
2