首页 > 其他分享 >Web漏洞扫描器-Xray

Web漏洞扫描器-Xray

时间:2024-05-04 21:45:14浏览次数:21  
标签:Web 扫描器 -- 检测 xray 扫描 Xray 漏洞 key

  • 下载地址:https://github.com/chaitin/xray/releases
  • 使用环境:Windows、Linux、macOS皆可
  • 工具说明:Xray扫描器是一款功能强大的安全评估工具。支持主动、被动多种扫描方式,支持常见Web漏洞的自动化检测,可以灵活定义POC,功能丰富,调用简单,支持多种操作系统。
  • 官方使用文档:https://docs.xray.cool/#/tutorial/introduce
  • 安装:Xray为单文件命令行工具,且自带所有依赖,安装打开即用,无需安装。

主要特性

Xray是一款功能强大的安全评估工具,由多名经验丰富的一线安全从业者呕心打造而成,主要特性有:

  • 检测速度快。发包速度快;漏洞检测算法高效。
  • 支持范围广。大至OWASP Top 10通用漏洞检测,小至各种CMS框架POC,均可以支持。
  • 代码质量高。编写代码的人员素质高,通过Code Review、单元测试、集成测试等多层验证来提高代码可靠性。
  • 高级可定制。通过配置文件暴露了引擎的各种参数,通过修改配置文件可以极大的客制化功能。
  • 安全无威胁。Xray定位为一款安全辅助评估工具,而不是攻击工具,内置的所有Payload和POC均为无害化检查。

目前支持的漏洞检测类型包括

  • XSS漏洞检测(key:xss)
  • SQL注入检测(key:sqldet)
  • 命令/代码注入检测(key:cmd-injection)
  • 目录枚举(key:dirscan)
  • 路径穿越检测(key:path-traversal)
  • XML实体注入检测(key:xxe)
  • 文件上传检测(key:upload)
  • 弱口令检测(key:brute-force)
  • jsonp检测(key:jsonp)
  • SSRF检测(key:ssrf)
  • 基线检查(key:baseline)
  • 任意跳转检测(key:redirect)
  • CRLF注入(key:crlf-injection)
  • Struts2系列漏洞检测(高级版,key:struts)
  • Thinkphp系列漏洞检测(高级版,key:thinkphp)
  • POC框架(key:phantasm)

其中POC框架默认内置Github上共享的POC,用户也可以根据需要自行构建POC并运行。

Xray配置介绍

Xray目录下的config.yaml文件包含了所有的配置信息,配置主要是六个大类:plugins、log、mitm、basic_crawler、reverse、http

  • 设置允许扫描的域名 includes:是允许扫描的域名,excludes:是不允许扫描的域名,可以使用星号(表示所有)匹配
  • 扫描插件配置 插件配置修改主要是开启和关闭,默认是全部开启,扫描时检测全部类型的漏洞,不需要检测的漏洞类型修改为false;扫描时也可以指定插件,如-plugins xss,xxe,cmd_injection
  • 发包速率限制 防止请求太快被WAF拦截,可以将每秒请求数减小,默认每秒500
  • 扫描代理配置 设置代理可以与Burpsuite等其他软件联动使用

运行

下载对应系统的版本后,来查看下 xray 的版本号。
下载后,右键解压,就可以得到 xray_windows_amd64.exe 文件了(有的解压软件还会创建一个 xray_windows_amd64.exe 的文件夹,不要和最终的可执行文件混淆了)。
使用桌面左下方的的搜索框,输入 PowerShell,点击 Windows PowerShell,进入命令终端。
然后 cd 到下载目录,运行.\xray_windows_amd64_protected.exe version即可查看 xray 的版本号。
image.png

生成ca证书

在浏览器使用 https 协议通信的情况下,必须要得到客户端的信任,才能建立与客户端的通信。
这里的突破口就是 ca 证书。只要自定义的 ca 证书得到了客户端的信任,xray 就能用该 ca 证书签发各种伪造的服务器证书,从而获取到通信内容。
运行.\xray_windows_amd64_protected.exe genca
运行命令之后,将在当前文件夹生成 ca.crt 和 ca.key 两个文件。
本命令只需要第一次使用的时候运行即可,如果文件已经存在再次运行会报错,需要先删除本地的 ca.crt 和 ca.key 文件。
双击 ca.crt,然后按照下图的步骤操作。
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

快速使用

使用基础爬虫爬取并对爬虫爬取的链接进行漏洞扫描

xray webscan --basic-crawler http://example.com --html-output vuln.html

使用 HTTP 代理进行被动扫描

xray webscan --listen 127.0.0.1:7777 --html-output proxy.html

设置浏览器 http 代理为 http://127.0.0.1:7777,就可以自动分析代理流量并扫描。
如需扫描 https 流量,请阅读下方文档,抓取 https 流量 部分
只扫描单个url,不使用爬虫

xray webscan --url http://example.com/?a=b --html-output single-url.html

手动指定本次运行的插件
默认情况下,将会启用所有内置插件,可以使用下列命令指定本次扫描启用的插件。

xray webscan --plugins cmd-injection,sqldet --url http://example.com
xray webscan --plugins cmd-injection,sqldet --listen 127.0.0.1:7777

指定插件输出
可以指定将本次扫描的漏洞信息输出到某个文件中:

xray webscan --url http://example.com/?a=b \ --text-output result.txt --json-output result.json --html-output report.html

报告样例
其他用法请阅读文档: https://docs.xray.cool

标签:Web,扫描器,--,检测,xray,扫描,Xray,漏洞,key
From: https://www.cnblogs.com/NoCirc1e/p/18172762

相关文章

  • 华为USG6000防火墙WEB基本配置
    第一步:浏览器登录https://192.168.0.1 (缺省状态下WEB登录地址)进入防火墙WEB配置界面。 第二步:输入用户名和密码登录,用户名:admin密码:Admin@123(缺省状态下)。 第三步:进入快速向导,根据指引进行配置,然后点击【下一步】。 第四步:配置基本信息。(建......
  • Python-Web-渗透测试秘籍(全)
    PythonWeb渗透测试秘籍(全)原文:annas-archive.org/md5/9ECC87991CE5C1AD546C7BAEC6960102译者:飞龙协议:CCBY-NC-SA4.0前言欢迎阅读我们的Python和Web应用测试书。渗透测试是一个庞大的领域,而Python的领域更加广阔。我们希望我们的小书可以帮助您更好地管理这些庞大......
  • 【攻防靶场系列】WEB LLM 学习及实操(一)
    什么是LLM❓大型语言模型(LLM)是一种AI算法,可以处理用户输入并通过预测单词序列来创建合理的响应。他们在巨大的半公开数据集上接受训练,使用机器学习来分析语言的组成部分如何组合在一起。如何检测LLM漏洞❓确定LLM(语言模型)的输入,包括直接输入(如提示)和间接输入(如训练数......
  • webapi添加添加websocket中间件
    添加位置我按照MSDN的例子添加了一个复述客户端响应的中间件。需要注意的时,中间件采用那种方式添加,添加在哪。哪种方式我选择创建一条管道分支,只要时ws的连接请求,就转到这个分支因此,我们需要使用的是MapWhen()来创建管道分支。添加在哪要注意授权的问题,所以应该添加到授权......
  • webapi中间件没有使用终结点中间件时的注意事项
    最小webapi默认的中间件配置是这样的app.UseHttpsRedirection();app.UseAuthorization();app.MapControllers();app.Run();最小webapi没有使用app.UseRouting()和app.UseEndpoints。这种情况下我们添加的所有中间件其实都是位于终结点路由中间件EndpointRoutingMiddleware......
  • 5.3 居家养老web端控制台
    基于vue3+ElementPlus做的一个居家养老静态界面,内容准备后期实现以下是效果图特别声明用到了百度地图JSAPI进行位置展示与iVCam模拟实时监控 以下是代码部分<scriptsetup>import{onMounted,onBeforeUnmount}from'vue'import{ref}from'vue'constvideoRef......
  • python web密码爆破脚本
    如下#-*-coding:utf-8-*-'''肉机爆破密码脚本由于是面向肉机的脚本,所以牺牲了一些速度,增加了准确性程序挂肉机上然后去睡觉等结果嘛从这里复制了代码:https://blog.csdn.net/tempulcc/article/details/108323499对于没pip的机器,可把模块打包成zip,上传的机器上用unz......
  • AWS S3 Lambda Python脚本函数实现图片自动转换为webp并上传至s3
    AmazonS3自动转换图片格式 AmazonS3存储桶新增文件自动触发AWSLambda。Lambda取S3文件做转换并存回去S3同一个目录下,并增加相应的后缀名。并且支持通过APIGateway的方式触发对图片进行修改并输出。本Lab使用PythonPillow做图片转换,读者可以参考Pillow文档......
  • webpack
    vue是基于es6的开发的let是局部变量什么是Webpack本质上,webpack是一个现代JavaScript应用程序的静态模块打包器(modulebundler)。当webpack处理应用程序时,它会递归地构建一个依赖关系图(dependencygraph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个b......
  • 前端 Vue webpack配置之 webpack.config.js 文件配置
     Webpack在执行的时候,除了在命令行传入参数,还可以通过指定的配置文件来执行。默认情况下,会搜索当前目录的 webpack.config.js 文件,这个文件是一个node.js模块,返回一个json格式的配置信息对象,或者通过 --config 选项来指定配置文件。.输入命令:webpack,即可按照webpack.c......