当前位置: 首页 > article >正文

.NET 一款用于解密web.config配置的工具

01阅读须知

此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁止用于其他方面

02基本介绍

Sharp4DecryptConnect 是一款专门用于解密使用 DataProtection加密的数据库连接字符串的工具。

图片

03使用方法

通过三个步骤完成解密,以下是具体步骤:首先,将 Sharp4DecryptConnect 工具上传到目标站点的根目录。随后,运行 Sharp4DecryptConnect 工具,工具将自动创建dotNetMatrix目录并完成 web.config 文件的复制和解密操作。最后查看dotNetMatrix目录下解密的web.config文件内容,获取明文数据库连接字符串。

图片

04

原理解析

在应用程序开发中,保护数据库连接字符串的安全性至关重要。.NET 提供了一种通过 DataProtectionConfigurationProvider 加密连接字符串的方法,以防止敏感数据泄露。这类加密后的连接字符串通常存储在 web.config 文件的 <connectionStrings> 节中,格式如下:

<connectionStrings configProtectionProvider="DataProtectionConfigurationProvider">
    <EncryptedData>
      <CipherData>
        <CipherValue>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAnu1l5eTFekKy...</CipherValue>
      </CipherData>
    </EncryptedData>
</connectionStrings>

为了更好地理解 Sharp4DecryptConnect 工具的工作原理,以下是实现这一功能的核心代码片段及其详细解释。首先,确定web.config文件所在的路径和站点目录,具体如下所示。

string webConfigPath = Path.Combine(exeDirectory, "web.config");
string targetDirectory = Path.Combine(exeDirectory, "dotNetMatrix");
string targetWebConfigPath = Path.Combine(targetDirectory, "web.config");

if (File.Exists(webConfigPath))
{
    Directory.CreateDirectory(targetDirectory); 
    File.Copy(webConfigPath, targetWebConfigPath, true); 
    Console.WriteLine($"web.config 已复制到 {targetWebConfigPath}");
}

随后,使用 ProcessStartInfo 配置解密命令行参数,并启动 aspnet_regiis.exe 进程执行解密,解密通过StandardOutput.ReadToEnd() 方法获取结果,并输出到控制台。

ProcessStartInfo psi = new ProcessStartInfo
{
    FileName = aspnetRegiisPath,
    Arguments = decryptCommand,
    UseShellExecute = false,
    RedirectStandardOutput = true,
    CreateNoWindow = true
};

using (Process process = Process.Start(psi))
{ 
    string result = process.StandardOutput.ReadToEnd(); 
    Console.WriteLine(result);
    process.WaitForExit(); 
}

最后,打开dotNetMatrix文件夹查看解密后的web.config内容,可以发现数据库连接字符串已经成功解密。如下图所示。

图片

综上,Sharp4DecryptConnect 是一款功能强大的工具,通过自动化完成加密连接字符串的解密操作。无论是新手白帽还是内网老鸟,只需简单运行工具,即可轻松解密并获取明文连接字符串。

05.NET安全星球

目前dot.Net安全矩阵星球每日分享.NET安全技术干货以及交流解答各类技术等问题,社区中发布很多高质量的.NET安全资源。

图片

图片

图片

星球20+个专题栏目涵盖了点、线、面、体等知识面,助力师傅们快速成长!其中主题包括.NET Tricks、漏洞分析、内存马、代码审计、预编译、反序列化、webshell免杀、命令执行、C#工具库等等。

图片

   

图片

.NET 免杀WebShell
.NET 反序列化漏洞
.NET 安全防御绕过
.NET 内网信息收集
.NET 本地权限提升
.NET 内网横向移动
.NET 目标权限维持
.NET 数据外发传输

这些阶段所涉及的工具集不仅代表了当前.NET安全领域的最前沿技术,更是每一位网络安全爱好者不可或缺的实战利器。

图片


http://www.kler.cn/a/299868.html

相关文章:

  • Kafka常见问题之 `javax.management.InstanceAlreadyExistsException`
  • 壁纸设计过程中如何增加氛围感
  • 【C】memory 详解
  • Hook 函数
  • hadoop==docker desktop搭建hadoop
  • Linux系统之gzip命令的基本使用
  • 11.5.软件系统分析与设计-面向对象的程序设计与实现
  • 【贪心算法】(一)贪心算法理论及基础习题
  • Redis:发布(pub)与订阅(sub)实战
  • HBase 源码阅读(四)HBase 关于LSM Tree的实现- MemStore
  • 视频怎么转换成mp3格式?分享5种便捷的转换方法
  • Ef 在迁移过程中 遇到 The migration ‘xxxx‘ was not found. 的问题(未解决)
  • JAVAEE初阶第七节(下)——物理原理与TCP_IP
  • 代码随想录训练营day44|1143.最长公共子序列,1035.不相交的线, 53. 最大子序和,392.判断子序列
  • TinyWebserver的复现与改进(7):日志系统
  • 25 考研数学大纲有什么变化?
  • 果蔬识别系统性能优化之路(一)
  • 【LeetCode:3174】清除数字(Java)
  • 《JavaEE进阶》----15.<Spring Boot 日志>
  • Day 31: 贪心算法基础 V
  • 【linux-Day2】linux下的基本指令
  • Ubuntu基本命令的熟悉和使用
  • 插件maven-search:Maven导入依赖时,使用插件maven-search拷贝需要的依赖的GAV
  • Rickdiculously Easy靶场渗透测试
  • 【Python 学习】Numpy的基础和应用
  • node.js实现阿里云短信发送