三种方法还原ASP.NET可逆加密内容

admin 2021年4月2日20:25:11评论163 views字数 2706阅读9分1秒阅读模式

0x00

在进行安全测试的时候经常遇到ASP.NET平台的各类系统,它们加密手段有强有弱。有的只加密用户信息,有的则将数据库连接字串也进行了加密。以前不熟悉ASP.NET的时候有时解密一个连接字串都要花费数小时。下面介绍三种方法(由难到易),以便快速解密加密的内容,适合新手。

0x01

工具:IIS(要配置支持ASP.NET)、.NET Reflector、记事本、任意浏览器……

要求:一定的代码阅读能力

0x02

方法一(适用于能看懂代码又能写代码的童鞋)

.NET Reflector定位至解密函数读懂代码,用任意一门编程语言编写同样解密算法的工具。(不详述此方法,因此方法跟自身的代码阅读能力、逆向跟踪能力有关。若是解密算法调用函数太多那么会消耗不少时间)

方法二(适用于能读代码但不会写代码的童鞋)

示例:

.NET Reflector定位至解密函数

查看无复杂的调用,只有string str2 = str_key;中的str_key是未知的。跟踪得到str_key是zysoftvschool。

复制整个函数到demo.aspx,添加要解密的字符串。demo.aspx内容如下:

浏览器访问,得到密码:***ccom102668

方法三(适用于代码读不了更写不了的童鞋)

示例:

.NET Reflector定位至解密函数,解密函数调用非常复杂,跟了几步思路也跟丢了……

对付这类的加密那就使用最简单的方法吧——直接调用dll内的解密函数。调用方法:命令空间.类.方法

注意:本地解密需要把调用的xxx.dll放至Web目录的bin文件夹中!如果将写好的脚本放到目标Web目录则可以直接执行。

Demo:

浏览器中访问得到解密后内容:Data Source=orcl;User Id=ccense;Password=ecard;min pool size=1;max pool size=50;Pooling=true

0x03 总结

三种解密方法中第三种方法最为省时省力,且对那些绑定机器的加密最为简单有效。但是还是建议多使用第一种方法,虽耗时耗力但可以学到更多东西。

[原文地址]

各种吐槽:

1#

看风者 | 2014-09-12 12:47

不顶没天理

2#

insight-labs (Root Yourself in Success) | 2014-09-12 12:52

赞一个

3#

梧桐雨 (‮ofni.uygnotuw‮) | 2014-09-12 13:01

好帖!顶。

4#

c4bbage (1z) | 2014-09-12 13:06

赞一个

5#

Vigoss_Z (好好活认真爱 多吃水果和蔬菜) | 2014-09-12 13:33

我来添一个吧。

还有一种情况是使用.NET自带的加密方法加密链接字符串

解密:

aspnet_regiis.exe -pd "connectionStrings" -app "/SampleWebSite"

(因是RSA加密,所以必须在同一台机器上进行;站点的web.config被加密,下载下来本机解不了。)

第二种方法:

代码:

using System;
using System.Configuration;
using System.Web.Configuration;

string provider = "RSAProtectedConfigurationProvider";
string section = "connectionStrings";
protected void btnDecrypt_Click(object sender, EventArgs e)
{
   Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
   ConfigurationSection configSect = config.GetSection(section);
   if (configSect.SectionInformation.IsProtected)
   {
      configSect.SectionInformation.UnprotectSection();
      config.Save();
   }
}

web.config被解密。

6#

工作专用 | 2014-09-12 16:42

神贴刘明!

7#

Nc4 | 2014-09-12 16:46

神贴

8#

Sunshine (0123456789) | 2014-09-13 09:59

嗯嗯

赞一个,平时用Reflector看看函数

9#

核攻击 (统治全球,奴役全人类!毁灭任何胆敢阻拦的有机生物!) | 2014-09-13 10:04

good jb~

文章来源于lcx.cc:三种方法还原ASP.NET可逆加密内容

相关推荐: Golismero使用说明【中英文对照】

usage: golismero.py [-h] [-f FILE] [--config FILE] [-p NAME] [--ui-mode MODE] [-v] [-q] [--color] [--no-color] [--audit-name NAME]…

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年4月2日20:25:11
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   三种方法还原ASP.NET可逆加密内容https://cn-sec.com/archives/317383.html

发表评论

匿名网友 填写信息