xpoc的更新日志
注意:本次升级涉及较大配置文件变动。推荐在备份好原配置文件后删除旧文件,并根据新的 example 配置文件重新编写配置。如果未进行变更,系统会将配置文件进行备份,使用默认配置进行扫描。
优化 debug 输出内容:
提高扫描性能,降低内存占用:
新增 example 配置文件,减少非常用配置变更带来的冲突问题:
YAML 插件变化:
print
函数:方便在调试场景下打印信息。uuid
函数:支持生成随机的 UUID。format
函数:支持格式化字符串,可以通过指定对齐字符、前缀和步进参数来调整字符串的显示样式。bload
函数:支持将字符串数据按照特定编码规则转换为字节序列。gzip
函数:支持对字符串或字节序列数据进行 GZIP 压缩。decToHex
函数:支持将十进制转换为十六进制。func(v1,v2)
和 v1.func(v2)
均可,不再报错。icon
函数,使其行为逻辑与 getIconContent
函数保持一致。支持在未配置的情况下调用 dnslog.cn 进行漏洞检测:
修复缓存和不合理的超时配置导致的扫描结果不稳定问题:
为 group 命令添加 path 约定:
group
命令添加路径约定,以便使用 group
文件的相对路径。在 group
中使用 {{path}}
将用 group
文件本身的路径替换该内容。新特性:多目标输入支持多个 -t 参数:
-t
输入多个目标,因为 URL 中可能存在逗号,避免冲突。支持在配置文件中配置自定义的全局header
例如:
修复list等命令报错的问题
新增对多种目标文件格式的支持:
-i
参数支持自动识别文件类型并提取扫描目标
CSV
/ Excel
格式自动提取扫描目标zip
包中的文件自动识别扫描目标(识别其中可解析的 文本/CSV/Excel
格式)。例:
简化升级命令,执行 xpoc up
即可升级到最新版本,升级自身时也会同步更新插件。
添加默认的扫描端口: 80,443,8080,8443,8888,8000,9090
输入目标为IP或域名且未指定扫描端口时会进行对这些端口的探测。 (需删除当前配置文件,重新新生成配置后生效)默认端口可在配置文件中通过tcp_ports参数编辑。
降低默认的指纹识别强度,加快扫描进度。
(需删除当前配置文件,重新新生成配置后生效)默认的指纹识别强度可在配置文件中通过max_rarity参数编辑。
优化策略文件加载,自定义策略自动继承全局命令行配置。
修复目标文件中存在空行会解析错误的问题。
新增-v参数,可以打印当前情况下会执行的插件,可用于检查策略是否符合预期。
例:xpoc -v
可打印默认策略下会执行的扫描插件。
优化命令行体验,可在任意位置使用-h,-help参数打印帮助信息。
优化命令行体验,目标可以在参数之前输入,多个目标可用空格或’,‘进行分割。
例:xpoc testtest.fun -p 80,443
简化默认参数和部分命令的使用
xpoc -t example.com
可简化为 xpoc example.com
xpoc add -f ./myplugin.yaml
可简化为 xpoc add ./myplugin.yaml
xpoc pull -id pluginID
可简化为 xpoc pull pluginID
注意:需要删除当前配置文件,重新启动,自动生成新配置后方可生效
或在配置文件 “flag” 配置中,对希望缺省的参数值手工添加“,default”配置,如
$HOME/.xray/xpoc-config.yaml
拉取所有云端POC并扫描指定目标
./xpoc -t https://example.com -html result.html
查看所有云端的POC
./xpoc list -a
批量扫描
./xpoc < targets.txt
cat targets.txt | ./xpoc
./xpoc -i targets.txt