1.Web中间件漏洞之Tomcat篇
2.Web安全测试图书目录
3.微步荐读:19款最好用的爬源p爬免费安全工具,每个安全岗几乎都用得上
4.数据销毁-21个最好的爬源p爬免费安全工具
5.Microsoft visual c++弹窗?
6.万能网站密码爆破测试工具:BurpCrypto
Web中间件漏洞之Tomcat篇
Tomcat简介
Tomcat服务器是免费开放源代码的Web应用服务器,专为轻量级应用设计,爬源p爬在中小型系统和并发访问用户不多的爬源p爬场合广泛使用。对于新手,爬源p爬它可作为开发和调试JSP程序的爬源p爬易语言坐标源码首选服务器。运行在Windows主机上时,爬源p爬Tomcat作为Apache服务器的爬源p爬扩展独立运行,可响应HTML页面的爬源p爬访问请求。
远程代码执行漏洞及修复
通过构造攻击请求,爬源p爬利用Tomcat在Windows主机上运行且启用HTTP PUT请求方法,爬源p爬攻击者可以上传包含任意代码的爬源p爬JSP文件,从而实现任意代码执行。爬源p爬此漏洞影响的爬源p爬版本为Apache Tomcat 7.0.0至7.0.。复现步骤包括配置漏洞、爬源p爬开启PUT方法上传文件功能、插入相关配置文件、重启服务、通过burp抓包并修改请求方式为PUT,创建并上传包含命令执行代码的JSP文件,最后验证代码执行成功。
修复措施包括检测当前版本是否受影响并禁用PUT方法,或者更新至最新版。
后台弱口令war包部署漏洞及修复
Tomcat支持后台部署war文件,直接在web目录部署webshell。若后台管理页面存在弱口令,则攻击者可通过爆破获取密码,进而上传和执行webshell。修复方法包括在系统上以低权限运行Tomcat,创建专门的Tomcat服务用户并设置最小权限,增加本地和基于证书的身份验证,部署账户锁定机制,并针对特定目录设置最小权限访问限制,避免使用弱口令。
反序列化漏洞及修复
此漏洞与Oracle发布的mxRemoteLifecycleListener反序列化漏洞相关,由使用JmxRemoteLifecycleListener的监听功能引起。在Oracle发布修复后,Tomcat未能及时修复更新,导致远程代码执行。漏洞影响的版本包括9.0.0.M1到9.0.0.M、8.5.0到8.5.6、8.0.0.RC1到8.0.、7.0.0到7.0.、6.0.0到6.0.。复现步骤需要外部开启JmxRemoteLifecycleListener监听的端口,修改配置文件和脚本,下载并部署相关jar包,颐果园源码验证远程代码执行。
修复措施包括关闭JmxRemoteLifecycleListener功能或对远程端口进行网络访问控制,增加严格的认证方式,并根据官方更新相应版本。
Web安全测试图书目录
序 前言 第1章 绪论什么是安全测试
什么是Web应用 Web应用基础 Web应用安全测试 方法才是重点 第2章 安装免费工具安装Firefox
安装Firefox扩展 安装Firebug 安装OWASP的WebScarab 在Windows上安装Perl及其软件包 在Linux, Unix或OS X上安装Perl和使用CPAN 安装CAL 安装ViewState Decoder 安装cURL 安装Pornzilla 安装Cygwin 安装Nikto 2 安装Burp Suite 安装Apache HTTP Server 第3章 基本观察查看网页的HTML源代码
查看源代码,高级功能 使用Firebug观察实时的请求头 使用WebScarab观察实时的POST数据 查看隐藏表单域 使用TamperData观察实时的响应头 高亮显示JavaScript和注释 检测JavaScript事件 修改特定的元素属性 动态跟踪元素属性 第4章 面向Web的数据编码辨别二进制数据表示
使用Base- 在网页中转换Base-数字 在Perl中使用Base- 使用以URL方式编码的数据 使用HTML实体数据 计算散列值 辨别时间格式 以编程方式对时间值进行编码 解码多重编码 第5章 篡改输入截获和修改POST请求
绕过输入限制 篡改URL 自动篡改URL 测试对URL长度的处理 编辑Cookie 伪造浏览器头信息 上传带有恶意文件名的文件 上传大文件 上传恶意XML实体文件 上传恶意XML结构 上传恶意ZIP文件 上传样例病毒文件 绕过用户界面的限制 第6章 自动化批量扫描使用WebScarab爬行网站
将爬行结果转换为清单 减少要测试的URL 使用电子表格程序来精简列表 使用LWP对网站做镜像 使用wget对网站做镜像 使用wget对特定的清单做镜像 使用Nikto扫描网站 理解Nikto的输出结果 使用Nikto扫描HTTPS站点 使用带身份验证的Nikto 在特定起始点启动Nikto 在Nikto中使用特定的会话Cookie 使用WSFuzzer测试Web服务 理解WSFuzzer的输出结果 第7章 使用cURL实现特定任务的自动化使用cURL获取页面
获取URL的许多变体 自动跟踪重定向 使用cURL检查跨站式脚本 使用cURL检查目录遍历 冒充特定类型的网页浏览器或设备 以交互方式冒充另一种设备 使用cURL模仿搜索引擎 通过假造Referer头信息来伪造工作流程 仅获取HTTP头 使用cURL发送POST请求 保持会话状态 操纵Cookie 使用cURL上传文件 建立多级测试用例 第8章 使用LibWWWPerl实现自动化编写简单的Perl脚本来获取页面
以编程方式更改参数 使用POST模仿表单输入 捕获和保存Cookie 检查会话过期 测试会话固定 发送恶意Cookie值 上传恶意文件内容 上传带有恶意名称的文件 上传病毒到应用 使用Perl解析接收到的值 以编程方式来编辑页面 使用线程化提高性能 第9章 查找设计缺陷绕过必需的导航
尝试特权操作 滥用密码恢复 滥用可预测的标识符 预测凭证 找出应用中的随机数 测试随机数 滥用可重复性 滥用高负载操作 滥用限制性的功能 滥用竞争条件 第章 攻击AJAX观察实时的AJAX请求
识别应用中的JavaScript 从AJAX活动回溯到源代码 截获和修改AJAX请求 截获和修改服务器响应 使用注入数据破坏AJAX 使用注入XML破坏AJAX 使用注入JSON破坏AJAX 破坏客户端状态 检查跨域访问 通过JSON劫持来读取私有数据 第章 操纵会话在Cookie中查找会话标识符
在请求中查找会话标识符 查找Authentication头 分析会话ID过期 使用Burp分析会话标识符 使用WebScarab分析会话随机性 更改会话以逃避限制 假扮其他用户 固定会话 测试跨站请求伪造 第章 多层面的测试使用XSS窃取Cookie
使用XSS创建覆盖 使用XSS产生HTTP请求 以交互方式尝试基于DOM的XSS 绕过字段长度限制(XSS) 以交互方式尝试跨站式跟踪 修改Host头 暴力猜测用户名和密码 以交互方式尝试PHP包含文件注入 制作解压缩炸弹 以交互方式尝试命令注入 系统地尝试命令注入 以交互方式尝试XPath注入 以交互方式尝试服务器端包含(SSI)注入 系统地尝试服务器端包含(SSI)注入 以交互方式尝试LDAP注入 以交互方式尝试日志注入扩展资料
在你对Web应用所执行的测试中,安全测试可能是最重要的,但它却常常是最容易被忽略的。《Web安全测试》中的秘诀演示了开发和测试人员在进行单元测试、回归测试或探索性测试的同时,如何去检查最常见的Web安全问题。与即兴的安全评估不同的是,这些秘诀是可重复的、简洁的、系统的——可以完美地集成到你的常规测试套装中。因此,本书对开发人员和测试人员具有重要的指导价值。微步荐读:款最好用的免费安全工具,每个安全岗几乎都用得上
安全工作中的效率提升,离不开得力工具的助力。今天,我们将揭示款实战力爆棚的免费安全工具,让你的每个安全岗位都能如虎添翼:Nmap:网络探测和安全的得力干将,深入洞察网络环境。
Wireshark:网络数据包分析神器,捕捉隐藏的通信细节。
Snort:实时入侵检测系统,守护网络安全的前沿阵地。
Ophcrack:密码破解高手,破解密码防线的钥匙。
Maltego:取证大师,OSINT(开放源码情报)的首选工具。
ZAP:渗透测试的得力助手,深度挖掘漏洞隐患。
Shodan:物联网设备搜索引擎,解锁隐藏的IoT世界。
Kali Linux:渗透测试专家的首选,实战能力强大。
DNS Dumpster:域名研究的利器,探索网络空间的深层结构。
Photon,作为一款强大的Python网络爬虫,凭借丰富的插件功能,如JSON导出、DNS集成,为OSINT探索提供无与伦比的mapbox源码解读便利。无论是取证专家还是安全研究员,都能从中受益匪浅。 微步云沙箱S,免费提供恶意软件分析和IOC(指标和模式)生成,支持多种文件类型,是你对抗恶意软件的第一道防线。 Nessus,知名漏洞扫描器,个人使用版本免费,专为安全检测而生,功能强大。 HFish,作为一款低交互蜜罐,企业级安全解决方案,跨平台适用。 微步在线X情报社区,汇集全面威胁分析和情报共享,免费开放,为安全人员提供知识宝库。 DarkSearch.io,对暗网探索新手友好,挖掘潜在威胁的藏身之处。 John the Ripper,密码破解界的传奇,支持多平台破解挑战。 OWASP Dependency-Check,开源软件分析工具,集成NVD和Sonatype OSS Index,确保软件供应链的安全。 Visual Studio,C#/.NET环境中的逆向工程专家,免费版支持Windows/Mac,源代码重构不在话下。 JetBrains dotPeek,免费的.NET反编译工具,JAR文件处理的得力助手。 Java Decompiler (JD),字节码转源代码的高效工具,JD-GUI或Eclipse插件让分析更加轻松。 Burp Suite,虽然免费版缺少Web漏洞扫描功能,但Web应用安全测试平台的地位不可撼动。 Metasploit,自年起引领漏洞利用开发,年被Rapid7收购,成为业界翘楚。高端教育源码 ModSecurity,虽然对系统稳定性可能产生影响,但其Web应用监控与访问控制作用不容小觑。 Aircrack-ng,随着年版本的升级,WiFi安全评估更上一层楼,硬件支持更加广泛。 探索更多工具的魅力,提升你的安全技能,从现在开始!数据销毁-个最好的免费安全工具
在信息安全领域,使用合适的工具和资源至关重要。除了经典的网络安全工具如Nmap、Wireshark和Snort等,还有许多免费的工具和服务可以帮助专业人员和新手更好地管理网络安全性。本文列出的个最佳免费安全工具涵盖了从密码破解到软件反编译,从漏洞管理到网络分析的多个方面,适合各种安全角色。
Maltego是一个强大的取证和开源情报(OSINT)工具,提供深入的威胁分析,可与多个资源集成,用于识别网络环境中的威胁。它特别适用于挖掘互联网上的信息,包括公司网络边缘设备的配置或高管的行踪。
Zed Attack Proxy(ZAP)是一款用户友好的渗透测试工具,用于发现网络应用程序的漏洞。它适合经验丰富的安全专家使用,也可作为新手学习渗透测试技巧的工具。
Shodan是一个流行的物联网搜索引擎,能够搜索和识别网络摄像头、服务器及其他智能设备。它特别有助于发现易受已知漏洞影响的设备,对于安全评估工作非常有用。
Kali Linux是基于Linux的渗透测试发行版,专为黑客攻击设计,包含各种工具用于信息收集、漏洞分析等。用户可以方便地安装在不同操作系统上,或作为虚拟机使用。
DNS Dumpster是一个免费的域名研究工具,提供深入的域名分析,帮助了解域名及其子域之间的联系,以及发现被遗弃的子域,揭示潜在的安全漏洞。
Photon是一个快速的网络爬虫,用于收集OSINT,欧亚娱乐源码如电子邮件地址、社交媒体账户等关键信息。它利用公共资源进行分析,并支持输出格式化数据。
Hybrid Analysis是一个恶意软件分析网络服务,不仅通过自己的沙箱分析提交的样本和URL,还与VirusTotal和MetaDefender验证结果,提供深入的恶意软件分析报告。
Nessus是一个流行的漏洞和配置评估工具,允许个人在家庭网络中免费使用。它提供高速发现、配置审核、资产分析等功能。
ANY.RUN是一个恶意软件分析沙盒服务,允许用户上传样本,并进行实时分析,包括回放和下载功能。
Tor Browser是一个用于匿名冲浪的工具,通过多个主机对流量进行加密传输,以保护用户的隐私和位置信息。
DarkSearch.io是一个暗网搜索引擎,提供免费访问暗网网站和.onion网站,但无需通过Tor网络,对于研究暗网活动非常有用。
John the Ripper是一款密码破解器,适用于UNIX、Windows等系统,尤其用于检测UNIX系统的薄弱密码。
OWASP Dependency-Check是一个软件构成分析工具,用于分析依赖关系并识别已知漏洞,咨询公共漏洞信息来源和Sonatype OSS Index。
Microsoft Visual Studio是一款集成开发环境,对于逆向工程和分析DLL等二进制文件非常有用,特别是当处理.NET DLL时。
Java反编译器如JD,可以将Java字节码反编译为源代码,用于分析以JAR形式发布的Java软件。
ModSecurity是一个网络应用程序监控、日志和访问控制工具包,用于执行完整的HTTP事务记录和安全评估。
Burp Suite是一个全面的Web应用安全测试平台,包含代理服务器、网络蜘蛛等工具,支持整个测试过程。
Metasploit是一个开源平台,用于开发安全工具和漏洞,由Rapid7收购并继续维护。
Aircrack-ng是Wi-Fi安全测试的工具包,用于数据包监控、测试硬件、破解密码和发起Wi-Fi网络攻击。
Intelligence X是一个档案服务和搜索引擎,保留网页的历史版本和泄露的数据集,对情报收集和分析具有价值。
GrayhatWarfare是一个搜索引擎,索引亚马逊AWS桶和Azure blob存储等可公开访问的资源,帮助发现意外暴露的存储。
Microsoft visual c++弹窗?
适用于 Linux 的 Windows 子系统中的 Visual Studio Code 服务器使用本地 WebSocket WebSocket 连接与远程 WSL 扩展进行通信。网站中的 JavaScript 可以连接到该服务器并在目标系统上执行任意命令。目前该漏洞被命名为CVE--。
这些漏洞可以被用于:
本地 WebSocket 服务器正在监控所有接口。如果允许通过 Windows 防火墙,外部应用程序可能会连接到此服务器。
本地 WebSocket 服务器不检查 WebSocket 握手中的 Origin 标头或具有任何身份验证模式。浏览器中的 JavaScript 可以连接到该服务器。即使服务器正在监控本地主机,也是如此。
我们可以在特定端口上生成一个Node Inspector示例,它还监控所有接口。外部应用程序可以连接到它。
如果外部应用程序或本地网站可以连接到这些服务器中的任何一个,它们就可以在目标计算机上运行任意代码。
Visual Studio Code 库是不断更新的。我将使用一个特定的提交 (bbcaf3db8bb8adf0ccfa)。
$ git clone /microsoft/vscode $ git reset --hard bbcaf3db8bb8adf0ccfa
我们可以使用 Code (lol) 来导航源代码。事实上,我已经在 WSL 中为这个漏洞创建了具有相同扩展名的概念验证。
Visual Studio Code在 WSL 内以服务器模式运行,并与 Windows 上的代码示例对话(我称之为代码客户端)。这使我们可以在 WSL 中编辑文件和运行应用程序,而不需要运行其中的所有内容。
远程开发架构
可以通过 SSH 和容器在远程计算机上进行远程开发。GitHub Codespaces 使用相同的技术(很可能通过容器)。
在 Windows 上使用它的方法:
1.打开一个WSL终端示例,在Windows上的代码中应该可以看到远程WSL扩展;
2.在 WSL 中运行code /path/to/something;
3.如果未安装代码服务器或已过时,则会下载它;
4.VS Code 在 Windows 上运行;
5.你可能会收到一个 Windows 防火墙弹出窗口,用于执行如下所示的可执行文件:
服务器的防火墙对话框
这个防火墙对话框是我执行失败的原因。出现该对话框是因为 VS Code 服务器想要监控所有接口。
从我信任的Process Monitor开始:
1.运行进程监控器;
2.在WSL中运行code .;
3.Tools > Process Tree;
4.我运行代码(例如,Windows Terminal.exe)的终端示例中运行Add process and children to Include filte。
Procmon 的进程树
经过一番挖掘,我发现了 VSCODE_WSL_DEBUG_INFO 环境变量。我只是在 WSL 中将 export VSCODE_WSL_DEBUG_INFO=true 添加到 ~/.profile 。运行服务器后我们会得到额外的信息。
VSCODE_WSL_DEBUG_INFO=true
输出被清理。
检查命令行参数。
可以看到出现了WebSocket词汇。
运行 Wir.shark 并捕获loopback接口上的流量。然后我再次在 WSL 中运行代码。这次可以看到两个 WebSocket 握手。
在 Wireshark 中捕获的 WebSocket 连接
该运行中的服务器端口是,我们也可以从日志中看到。在 Windows 上的代码客户端中打开命令面板 (ctrl+shift+p) 并运行 > Remote-WSL: Show Log。
远程 WSL:显示日志
最后一行有端口:在 mon/ipc.net.ts 中看到协议的源代码。
来自服务器的第一条消息是 KeepAlive 消息。
在协议定义中,我们可以看到不同的消息类型。
在 /src/vs/platform/remote/common/remoteAgentConnection.ts 中,它在代码的其他部分被称为 OKMessage 和heartbeat。
客户端在/src/vs/platform/remote/common/remoteAgentConnection.ts的connectToRemoteExtensionHostAgent中处理此问题。客户端(Windows上的代码)发送这个包,它是一个KeepAlive和一个单独的认证消息。
最初,我认为长度字段是 个字节而不是 4 个字节,因为其余的字节总是空的。然后我意识到只有常规消息使用消息 ID 和 ACK 字段,而且我只看到了不规则的握手消息。
在修复之前,没有勾选此选项。
注意:在 -- 更新之前(commit bbcaf3db8bb8adf0ccfa)客户端没有发送数据。但是,使用此提交,我们仍然可以在没有此密钥的情况下发送消息并且它会起作用。这是我们给服务器签名的内容,以检查连接到正确的服务器。
服务器响应一个签名请求。
另一个 JSON 对象:
服务器已经签名了我们在前一条消息中发送的数据,并用它自己的数据请求进行了响应。
客户端验证签名的数据,以检查它是否是受支持的服务器。当创建我们的客户端时,可以简单地跳过。
使用options.signService.validate 方法,然后就会得到/src/vs/platform/sign/node/signService.ts。
vsda 是一个用 C++ 编写的 Node 原生插件,将 Node 原生插件视为共享库或 DLL。该插件位于 /microsoft/vsda 的私有存储库中,根据mit}/node_modules/vsda/build/Release/vsda.node。
我找到了/kieferrm/vsda-example,并通过一些实验找到了如何使用它创建和签名消息。
1.用msg1 = validator.createNewMessage("")创建一个新消息,输入至少4个字符。
2.使用signed1 = signer.sign(msg1)进行签名。
3.使用 validator.validate(signed1) 对其进行验证,响应为“ok”。
需要注意的是,如果你创建了新消息,则无法再验证旧消息。在源代码中,每条消息都有自己的验证器。
Linux 版本有符号,大小约为 KB。把它放到 IDA/Ghidra 中,应该就可以开始了。
我花了一些时间,想出了这个伪代码。可能不太正确,但可以让你大致了解此签名的工作原理。
1.用当前时间 + 2*(msg[0]) 初始化 srand,它只会创建 0 到 9(含)之间的随机数;
2.从许可证数组中附加两个随机字符;
3.从 salt 数组中附加一个随机字符;
4.SHA;
5.Base;
6.;
7.Profit。
仅从许可证数组中选择前 个位置的字符,它总是 rand() % ,但salt 数组翻了一番。
许可证数组的字符串如下所示:
salt 数组的前 个字节(查找 Handshake::CHandshakeImpl::s_saltArray)是:
我从来没有真正检查过我的分析是否正确,不过这无关紧要,知道如何使用插件签名消息,这就足够了。
接下来,客户端需要签名来自服务器的数据并将其发送回来,以显示它是一个“合法”的代码客户端。
服务器响应如下:
客户端发送了如下消息:
提交应该匹配服务器的提交哈希。这不是秘密。这可能是最后一个稳定版本提交(或最后几个之一)。这只是检查客户端和服务器是否在同一版本上。它也可以在 /parsiya/code-wsl-rce /parsiya/Parsia-Code/tree/master/code-wsl-rce
模拟代码客户端
创建客户端并使用协议连接到服务器的代码位于 VS Code GitHub 存储库中,这需要大量的复制/粘贴和解析,我只花了几个小时。
如果要创建一个快速的概念验证,应该满足一些假设:
1.找到本地的 WebSocket 端口;
2.从外部连接到Node Inspector示例;
查找本地 WebSocket 端口并不难,从浏览器扫描本地服务器并不是什么新鲜事。服务器也可以从外部使用,因此我们不受那里的浏览器约束。
Chrome 限制不起作用,因为 WebSocket 服务器需要一个网络服务器来处理握手。我也很好奇 WebSocket 节流是 Chrome 特定的保护还是 Chromium 的一部分。
有趣的是,Chrome 浏览器有一个保护机制,可以防止恶意行为者暴力破解 WebSocket 端口,它在第 次尝试后开始节流。不幸的是,这种保护很容易被绕过,因为扩展的 HTTP 和 WebSocket 服务器都在同一个端口上启动。这可用于通过向 img 标签添加 onload 处理程序来检查特定本地主机端口上的是否存在来强制所有可能的本地端口。
也就是说,这是一个开发环境,用户可能整天都在 WSL 中开发并且从不关闭他们的浏览器选项卡,因此如果他们打开我们的网站,我们就有可能找到它。
连接到Node Inspector示例是另一回事,我们无法从浏览器执行此操作,因此我们需要我们的服务器可以访问受害者的计算机。
第二种利用方法(模拟代码客户端)没有这些限制,因为浏览器可以与本地服务器通信并执行所有操作。它只需要我们对协议进行逆向工程并找出要发送的正确消息。
当你收到 WebSocket 升级请求时,请根据许可名单检查 Origin 标头。代码客户端在该标头中发送 vscode-file://vscode-app,以便我们可以使用它来操作。
参考及来源:/s/1s3xM-6...提取码:。将yxcms文件夹放置于phpstudy的WWW目录下。接着,启动phpstudy,创建网站,使用域名yxcms便于记忆,端口选择或其他,根目录指向浏览,选择yxcms文件夹,选择PHP版本为5,点击确认。
若需了解搭建phpstudy的详细教程,可参考:blog.csdn.net/m0_...。
利用burp登入后台
完成网站创建后,访问yxcms.com,安装yxcms并注意数据库用户名和密码,通常为root。安装后访问前台或后台。前台页面如下,后台页面如图。访问后台地址为index.php?r=admin/index/login。
启动burp,确保浏览器代理已开启,使用burp抓包。若无代理,可使用burp内置浏览器。打开Intercept并开启,选择Proxy下的第三个选项,点击Intercept is on。在内置浏览器访问网站,输入用户、密码和验证码,抓取数据包,右键选择Send to Intruder。
使用爆破攻击,清除数据,添加用户、密码部分至Intruder,设置Attack type为Cluster bomb。加载爆破字典,启动攻击。结果显示,Length不同的即是正确的用户和密码。成功爆破后,关闭bp拦截,使用正确用户和密码登录后台。
上传木马与远程控制
选择管理模板文件,新建模板。文件命名随意,内容上传木马,使其可直接控制后台。木马路径为yxcms.com\protected/apps/default/view/default/1.php,可直接访问。
至此,yxcms网站搭建完成,可进行MySQL执行、ServU提权、反弹连接、远程下载等操作。此步骤适用于学习,实践时需注意安全。