解决zsh补全msfvenom出现_values:compvalues:11: not enough arguments(参数不足)的问题

刚开始学msfvenom的时候被一大堆命令搞得头疼,这根本记不住的好吧,然后想偷懒看看有没有TAB补全,百度了一下发现需要zsh,哦豁,这还是个美化软件,嘿嘿嘿
安装zsh和oh my zsh网上教程都比较多,我就不赘述了
然后参考这篇文章弄好了大部分命令的补齐,装好之后,试试msfvenom -p windows/me的TAB补齐,发现不行啊,报错
在这里插入图片描述
然后百度,Google一番,没找到答案所在,搞了两天,无果,快放弃了,也不知道哪出了问题,最后感觉是不是Github下载的文件有问题?就硬着头皮看了看 _msfvenom这个文件,我的天,好难啊
看了好长时间,大致明白TAB补齐的原理了。在文件里发现-p补齐的代码如下,调用了一个函数 __msfvenom_payloads,跳转到此函数
在这里插入图片描述
在这里插入图片描述
在此发现他的输出其实是查看VENOM_CACHE_FILE,再接着跳转,原来是读取 venom-cache 文件
在这里插入图片描述
但是cat一下发现是空的
在这里插入图片描述
看来他就是读取这个文件才会有TAB候选的,输进去123456试试
在这里插入图片描述
在这里插入图片描述
确实,那么,只要将msfvenom中的pyload的帮助命令都输进去就好啦
msfvenom --list payloads to list命令查看其支持的所有pyloads
在这里插入图片描述
全选,保存到新文件内,然后用python将后面的剔除就可以啦

file_path = 'E:\\zsh\\00.txt' //将路径改为你自己的
new_file_path = open('E:\\zsh\\venom-cache.txt',mode = 'w') //输出路径改为你想保存到的路径
for line in open(file_path):
	curline = line.strip().split()[0]
	new_file_path.write(curline+'\n')
	print(curline)

然后将输出的新文件替换掉kali的文件就好啦
感受一下怎么样
在这里插入图片描述

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页