Comments (10)
1、文件列表的下载功能有路径穿越问题
这个是我疏忽了,根本原因应该不是路径穿越问题,应该是os.path.join在处理时如果最后参数是绝对路径,会结果就是最后一个参数,也就是说不用加入../../../去穿越路径,直接使用name=/etc/passwd即可复现这个问题.
这也就是虽然我使用了filename = filename.replace("..", "")防御目录穿越,但是还是掉到了os.path.join这个坑里.
我想到的解决方式就是判断输入的路径是不是绝对路径,文件是不是存在,如果存在就返回空.
if os.path.exists(filename):
return None
应该能解决这个问题.
其实我觉得在认证情况下,viper没必要解决类似任意文件读取或者命令执行这种漏洞,因为msfconsole的存在,熟悉msf的人总能找到方法执行自定义ruby代码或者读取文件.
当然,既然提出了这个问题,就解决一下吧.
FunnyWolf/viperpython@74331ef
from viper.
2、console是否能支持如下类似的监听方式
viper暂时不支持shell类型的session,因为几乎所有的界面功能都依赖于stdapi.
from viper.
3、监听载荷的生成是否能支持get url下载的方式,或者生成在文件列表下方便下载
类似geturl下载方式在文件列表
的一句话下载
功能中有,可以将生成的payload上传到文件列表
中,就点击一句话下载
就会显示所有的一句话下载链接了.
至于提到的直接将生成的payload存储在文件列表中,因为当前一句话下载已经过不了任何杀软了,是否有必要呢?
from viper.
@FunnyWolf
1、绝对路径的穿越问题, 既然修复了, 但修复的还不是很完美, 除了下载之外, 删除destory_msf_file, 写入或上传等操作应该也有类似的情况
而且通过判断filename路径是否存在, 来区分是否绝对路径
那么假设MSFLOOT目录下有个test文件, 根路径/下也正好有一个test文件, 这种就会冲突了
虽然可能性低...
`
MSFLOOT = "/root/xxx/"
p = os.path.join(MSFLOOT, "/../../etc/../../passwd")
print(p)
p = os.path.normpath(p)
print(p)
if p.startswith(MSFLOOT):
print("1")
else:
return None
`
或许是否可以利用normpath来判断路径前缀? 如果可行甚至连文件名中的..都不用去remove
from viper.
@FunnyWolf
1、绝对路径的穿越问题, 既然修复了, 但修复的还不是很完美, 除了下载之外, 删除destory_msf_file, 写入或上传等操作应该也有类似的情况
而且通过判断filename路径是否存在, 来区分是否绝对路径
那么假设MSFLOOT目录下有个test文件, 根路径/下也正好有一个test文件, 这种就会冲突了
虽然可能性低...`
MSFLOOT = "/root/xxx/"
p = os.path.join(MSFLOOT, "/../../etc/../../passwd")
print(p)
p = os.path.normpath(p)
print(p)
if p.startswith(MSFLOOT):
print("1")
else:
return None`
或许是否可以利用normpath来判断路径前缀? 如果可行甚至连文件名中的..都不用去remove
我觉得你的方案很好,使用normpath来解决..穿越路径问题,使用os.path.join拼接之后,在使用startswith来解决os.path.join的坑.
from viper.
from viper.
4、内网端口扫描模块,linux的权限是否有问题,我试了x86和x64的,任务是下发了,但是没结果输出,windows的权限是正常输出的
from viper.
4、内网端口扫描模块,linux的权限是否有问题,我试了x86和x64的,任务是下发了,但是没结果输出,windows的权限是正常输出的
linux 端口扫描是有bug,现在还在修复中
from viper.
4、内网端口扫描模块,linux的权限是否有问题,我试了x86和x64的,任务是下发了,但是没结果输出,windows的权限是正常输出的
from viper.
from viper.
Related Issues (20)
- [BUG]shell网络连接僵死 HOT 2
- [BUG]----渗透服务连接失败,请检查MSFRPC状态 HOT 5
- [BUG] 渗透服务异常 HOT 7
- [BUG]密码修改失败 HOT 1
- [BUG] HOT 1
- 功能需求 HOT 1
- VIPER目前支持SMB beacon吗? HOT 1
- 权限加载不出来,重新更新docker才会恢复,望修复
- MSF6的控制台不能像原来搜索CVE编号了 HOT 2
- 不能生成Android 载荷,可不可以在msf6中生成载荷 然后在viper中使用? HOT 2
- 文件上传似乎出了点问题,新建任务后,文件并没有传上去[BUG] HOT 1
- [BUG] 使用文件管理修改文件内容时,如果有中文会报错
- [BUG] 渗透服务连接失败,请检查MSFRPC状态 问题汇总 HOT 3
- [BUG]文件管理,无法上传
- [BUG] 凭证列表无效 HOT 1
- Remove
- Request error 502: https://x.x.x.x:60000/api/v1/core/baseauth/ Gateway error. HOT 1
- [BUG] HOT 2
- 如何创建交互式shell HOT 2
- [BUG] 使用socks5无法访问https HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from viper.