安云网 - AnYun.ORG | 专注于网络信息收集、网络数据分享、网络安全研究、网络各种猎奇八卦。
当前位置: 安云网 > 技术关注 > 逆向工程 > 三种方法还原ASP.NET可逆加密内容

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

时间:2014-09-30来源:未知 作者:安云网点击:
0x00 在进行安全测试的时候经常遇到ASP.NET平台的各类系统,它们加密手段有强有弱。有的只加密用户信息,有的则将数据库连接字串也进行了加密。以前不熟悉ASP.NET的时候有时解密一个连接字串都要花费数小时。下面介绍三种方法

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

//安云网,anyun.org


0x01 
    工具:IIS(要配置支持ASP.NET)、.NET Reflector、记事本、任意浏览器……  //安云网,anyun.org
    要求:一定的代码阅读能力 

0x02  //内容来自安云网
    方法一(适用于能看懂代码又能写代码的童鞋) 
.NET Reflector定位至解密函数读懂代码,用任意一门编程语言编写同样解密算法的工具。(不详述此方法,因此方法跟自身的代码阅读能力、逆向跟踪能力有关。若是解密算法调用函数太多那么会消耗不少时间) //ANYUN.ORG

    方法二(适用于能读代码但不会写代码的童鞋) 
示例:  //copyright AnYun.ORG
  .NET Reflector定位至解密函数 
1.jpg
//安云网咨询系统

  查看无复杂的调用,只有string str2 = str_key;中的str_key是未知的。跟踪得到str_key是zysoftvschool。 
  复制整个函数到demo.aspx,添加要解密的字符串。demo.aspx内容如下: 
<%@ Page Language="C#" ValidateRequest="false" %>  //内容来自AnYun.ORG
<script runat ="server" > 
//===============直接复制 .NET Reflector中看到的函数================ 
public static string Decrypt(string str) 

    string str2 = "zysoftvschool"; 
    string str3 = ""; 
    int num5 = 0; 
    if (str == "") 
    { 
        return ""; 
    } 
    int length = str2.Length; 

//内容来自AnYun.ORG


    if (length == 0) 
    { 
        str2 = "Think Space"; 
    } 
    int num2 = 0; 
    int num3 = Convert.ToInt32(str.Substring(0, 2), 0x10); 
    int startIndex = 2; 
    while (true) 
    { 
        try 
        { 
            num5 = Convert.ToInt32(str.Substring(startIndex, 2), 0x10); 
//ANYUN.ORG

        } 
        catch (Exception) 
        { 
        } 
        int num6 = num5 ^ Convert.ToInt32(str2[num2]); 
        if (num6 <= num3) 
        { 
            num6 = (0xff + num6) - num3; 
        } 
        else  //安云网,anyun.org
        { 
            num6 -= num3; 
        } 
        str3 = str3 + Convert.ToChar(num6); 
        num3 = num5; 
        startIndex += 2; 
        if (num2 < length) 
        { 
            num2++; 
        }  //安云网,anyun.org
        else 
        { 
            num2 = 1; 
        } 
        if (startIndex >= str.Length) 
        { 
            return str3; 
        } 
    } 

/===========================================================  //ANYUN.ORG
</script> 
<% 
//调用上面的解密函数Decrypt 
Response.Write(Decrypt("要解密的字串写这里")); 
%>

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

//本文来自安云网



    方法三(适用于代码读不了更写不了的童鞋) 
示例: 
//安云网,anyun.org

  .NET Reflector定位至解密函数,解密函数调用非常复杂,跟了几步思路也跟丢了…… 
3.jpg 
//安云网咨询系统

对付这类的加密那就使用最简单的方法吧——直接调用dll内的解密函数。调用方法:命令空间.类.方法 
5.jpg  //安云网,anyun.org
注意:本地解密需要把调用的xxx.dll放至Web目录的bin文件夹中!如果将写好的脚本放到目标Web目录则可以直接执行。 
Demo:  //本文来自安云网
<%@ Page Language="C#" ValidateRequest="false" Debug="true" %> 

<script runat ="server" > 
public static string Decrypt(string str) 

  string str3 = ""; 
  //下面是调用方法 

//ANYUN.ORG


  str3 = Newcapec.eCard.Utility.ConnectionInfo.DecryptDBConnectionString(str); 
  return str3; 

</script> 
<% 
Response.Write(Decrypt("AQAAANCMnd8BFdERjHoAwE/Cl 

+sBAAAAECVqcj9oCEGaJ0mZSN5kGAQAAAACAAAAAAAQZgAAAAEAACAAAAAhqwK0FIppu3zaId41oqAahOfebXIgpn6Y

9wtCSh66xwAAAAAOgAAAAAIAACAAAAA9kwoU8mJNSwcoouLxVGh9PIU8RLsqFehwf0nmMVUeamAAAABdTYklOfQhsR4

l8obq/PAZfLp12Ff1GvHiJBK1C7lJzi8d0dgs51TZvp5fOc0C2Ok6qqtXXcx07i9KlMGr1ETF23vFi0oE5wHy36bjGu

0OvTo9psUMFia7wVLkchDkDoRAAAAAULGxt/L13wLHBMpv85P+ruAczDqo5NG8ufk 

//内容来自AnYun.ORG



+F3VVaEdPr7PvFK3OeHYtMOlLRSTBZk6sKilhsQRuNNM4z0GouA==")); 
%>


浏览器中访问得到解密后内容:Data Source=orcl;User Id=ccense;Password=ecard;min pool size=1;max pool size=50;Pooling=true 
4.jpg  //内容来自安云网

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

//copyright AnYun.ORG

1#看风者 | 2014-09-12 12:47 //内容来自安云网

不顶没天理

//内容来自AnYun.ORG

  //内容来自AnYun.ORG

2#insight-labs | 2014-09-12 12:52

//ANYUN.ORG

赞一个

//内容来自AnYun.ORG

 

//ANYUN.ORG

3#梧桐雨 | 2014-09-12 13:01

//安云网,anyun.org

好帖!顶。

//内容来自安云网

  //本文来自安云网

4#c4bbage | 2014-09-12 13:06

//ANYUN.ORG

赞一个 //内容来自安云网

  //安云网咨询系统

5#Vigoss_Z | 2014-09-12 13:33

//内容来自AnYun.ORG

我来添一个吧。 //安云网,anyun.org

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

解密:

//内容来自安云网

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

//本文来自安云网

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

第二种方法:

//ANYUN.ORG

代码: //安云网,anyun.org

using System; //ANYUN.ORG

using System.Configuration; //ANYUN.ORG

using System.Web.Configuration; //ANYUN.ORG


//ANYUN.ORG


//安云网,anyun.org

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);

//copyright AnYun.ORG

   if (configSect.SectionInformation.IsProtected)

//内容来自AnYun.ORG

   {

//copyright AnYun.ORG

      configSect.SectionInformation.UnprotectSection();

//本文来自安云网

      config.Save(); //copyright AnYun.ORG

   }

//内容来自安云网

} //ANYUN.ORG

web.config被解密。 //内容来自AnYun.ORG

  //内容来自AnYun.ORG

6#工作专用 | 2014-09-12 16:42 //copyright AnYun.ORG

神贴刘明! //ANYUN.ORG

  //安云网,anyun.org

7#Nc4 | 2014-09-12 16:46 //本文来自安云网

神贴

//内容来自安云网

  //安云网,anyun.org

8#Sunshine | 2014-09-13 09:59 //ANYUN.ORG

嗯嗯

//本文来自安云网

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

//ANYUN.ORG

  //内容来自AnYun.ORG

9#核攻击 | 2014-09-13 10:04

//安云网,anyun.org

good jb~ //本文来自安云网

  //内容来自安云网

10#园长 | 2014-09-13 11:24 //内容来自安云网

赞~老师好

//内容来自安云网

  //内容来自安云网

11#Mody | 2014-09-13 21:02 //ANYUN.ORG

@Vigoss_Z 不错

//安云网,anyun.org

 

//内容来自AnYun.ORG

12#ヤ深蓝T透 | 2014-09-14 18:45 //本文来自安云网

赞~老师好  //内容来自安云网

 

//本文来自安云网

13#null | 2014-09-15 09:23

//内容来自安云网

终于有人分享了~~~ //copyright AnYun.ORG

  //安云网,anyun.org

14#逝情 | 2014-09-22 23:58 //内容来自安云网

10086个赞,顺便问下,可以转载么?嘎嘎

//内容来自安云网

  //copyright AnYun.ORG

15#大漠長河 | 2014-09-24 06:13

//安云网咨询系统

等八点半后慢慢看 没有乌云币 没法感谢 送本地景点门票一张已示支持 //copyright AnYun.ORG

  //本文来自安云网

16#Coody | 2014-09-24 08:39 //copyright AnYun.ORG

随然不是太懂,但是先收藏了。。。 //copyright AnYun.ORG

 

//copyright AnYun.ORG

17#蒙塔基的钢弹 | 2014-09-27 12:24

//安云网,anyun.org

大赞啊,大牛!~ //内容来自AnYun.ORG

  //内容来自AnYun.ORG

18#qing | 2014-09-28 10:08

//安云网,anyun.org

请求帮忙解密文件 http://103.252.17.111/bin.rar   乌云币感谢 //安云网咨询系统

 

//内容来自AnYun.ORG

19#RedFree | 2014-09-28 14:52

//安云网咨询系统

@qing  //ANYUN.ORG

MTY3NzUyTzY1NDU3Nk8xNDY4NjM2TzI2MDU4MjRPNDA3Mjg0OE81ODYxMDI0Tzc5Nzg0NjRPMTA0MTk0NDhPMTMxODMzMDBPMTYyNzM0NTJPMTk2OTE3MjRPMjM0MzYwODhPMjc1MDE2MDRPMzE4OTY0MzZPMzY2MTE4NDhPNDE2NTYwMDRPNDcwMjcyOTJPNTI3MjE5MTZPNTg3NDIwNjBPNjUwODg2MDhPNzE3NTgxODBPNzg3NTYzNDBPODYwNzY1ODhPOTM3MjU5NDRPMTAxNjk3NTk2TzEwOTk5NTE4NE8xMTg2MjAzNzJPMTI3NTY4ODQ0TzEzNjg0MjYyOE8xNDY0NDA5NDRPMTU2MzY2NjUyTzE2NjYxOTE4ME8xNzcxOTMxMjBPMTg4MDk1OTA4TzE5OTMyMDIxMk8yMTA4NzU3MDRPMjIyNzUyNDAwTzIzNDk1Mjk1Mk8yNDc0ODE3ODBPMjYwMzM4ODg0TzI3MzUxNjc3Nk8yODcwMjI1ODBPMzAwODQ5NTg4TzMxNTAwNTE4NE8zMjk0ODc3NTZPMzQ0Mjk0NDk2TzM1OTQyNjYwME8zNzQ4ODUzMTZPMzkwNjY2NTM2TzQwNjc3MjYwME80MjMyMDY0NzJPNDM5OTY4NDY0Tw==

//内容来自安云网


//本文来自安云网


//本文来自安云网

Setp1: Base64_Decode

//ANYUN.ORG

167752O654576O1468636O2605824O4072848O5861024O7978464O10419448O13183300O16273452O19691724O23436088O27501604O31896436O36611848O41656004O47027292O52721916O58742060O65088608O71758180O78756340O86076588O93725944O101697596O109995184O118620372O127568844O136842628O146440944O156366652O166619180O177193120O188095908O199320212O210875704O222752400O234952952O247481780O260338884O273516776O287022580O300849588O315005184O329487756O344294496O359426600O374885316O390666536O406772600O423206472O439968464O

//安云网,anyun.org


//ANYUN.ORG


//内容来自安云网

Setp2:Split by O //内容来自安云网

167752

//ANYUN.ORG

654576

//copyright AnYun.ORG

1468636 //安云网,anyun.org

2605824

//内容来自安云网

4072848

//安云网咨询系统

5861024 //copyright AnYun.ORG

7978464 //内容来自安云网

10419448

//安云网咨询系统

13183300

//内容来自AnYun.ORG

16273452

//copyright AnYun.ORG

19691724 //安云网,anyun.org

23436088

//内容来自安云网

27501604

//copyright AnYun.ORG

31896436

//内容来自安云网

36611848 //copyright AnYun.ORG

41656004

//本文来自安云网

47027292 //安云网咨询系统

52721916

//本文来自安云网

58742060 //安云网,anyun.org

65088608 //copyright AnYun.ORG

71758180 //安云网咨询系统

78756340 //安云网,anyun.org

86076588

//安云网,anyun.org

93725944 //安云网,anyun.org

101697596

//内容来自安云网

109995184

//安云网咨询系统

118620372 //ANYUN.ORG

127568844

//安云网,anyun.org

136842628 //ANYUN.ORG

146440944

//内容来自AnYun.ORG

156366652

//ANYUN.ORG

166619180

//内容来自安云网

177193120 //ANYUN.ORG

188095908

//内容来自安云网

199320212

//内容来自安云网

210875704

//安云网咨询系统

222752400

//内容来自安云网

234952952

//安云网咨询系统

247481780

//ANYUN.ORG

260338884 //内容来自AnYun.ORG

273516776

//copyright AnYun.ORG

287022580

//ANYUN.ORG

300849588

//ANYUN.ORG

315005184

//安云网,anyun.org

329487756

//ANYUN.ORG

344294496

//ANYUN.ORG

359426600

//安云网,anyun.org

374885316

//copyright AnYun.ORG

390666536

//ANYUN.ORG

406772600 //本文来自安云网

423206472 //本文来自安云网

439968464

//内容来自AnYun.ORG


//安云网,anyun.org


//copyright AnYun.ORG

Step3:Line/167752

//安云网咨询系统

1   1*1-0 //安云网,anyun.org

3|||2*2-1

//安云网,anyun.org

8   3*3-1 //安云网,anyun.org

15  4*4-1

//ANYUN.ORG

24  5*5-1 //安云网,anyun.org

34  6*6-2

//安云网,anyun.org

47  7*7-2

//安云网咨询系统

62  8*8-2

//安云网,anyun.org

78  9*9-3

//内容来自AnYun.ORG

97  10*10-3

//内容来自AnYun.ORG

117 11*11-4

//安云网咨询系统

139 12*12-5

//安云网,anyun.org

163 13*13-6

//copyright AnYun.ORG

190 14*14-6

//安云网,anyun.org

218 15*15-7 //ANYUN.ORG

248 16*16-8 //安云网咨询系统

280 17*17-9

//安云网,anyun.org

314 18*18-10

//内容来自安云网

350 19*19-11 //本文来自安云网

388 20*20-12 //安云网咨询系统

427 21*21-14

//ANYUN.ORG

469 22*22-15 //内容来自AnYun.ORG

513 23*23-16 //ANYUN.ORG

558 24*24-18 //ANYUN.ORG

606 25*25-19 //ANYUN.ORG

655 26*26-21

//内容来自AnYun.ORG

707 27*27-22

//内容来自安云网

760 28*28-24 //本文来自安云网

815 29*29-26

//安云网,anyun.org

872 30*30-28

//内容来自AnYun.ORG

932 31*31-29

//内容来自安云网

993 32*32-31 //内容来自AnYun.ORG

1056 33*33-33

//安云网咨询系统

1121 34*34-35

//安云网,anyun.org

1188 35*35-37

//本文来自安云网

1257 36*36-39 //安云网咨询系统

1400 38*38-44

//内容来自AnYun.ORG

1475 39*39-46

//内容来自安云网

1551 40*40-49 //ANYUN.ORG

1630 41*41-51 //安云网,anyun.org

1710 42*42-54 //内容来自安云网

1793 43*43-56

//本文来自安云网

1877 44*44-59

//内容来自AnYun.ORG

1964 45*45-61

//安云网,anyun.org

2052 46*46-64 //copyright AnYun.ORG

2142 47*47-67

//copyright AnYun.ORG

2234 48*48-70

//内容来自安云网

2328 49*49-73

//内容来自AnYun.ORG

2424 50*50-76

//copyright AnYun.ORG

2522 51*51-79

//内容来自安云网

2622 52*52-82

//内容来自AnYun.ORG

 

//本文来自安云网

20#Viigoss | 2014-09-28 16:52 //内容来自安云网

求问:使用 .NET Reflector找到解密函数,怎么跟踪找到key。

//copyright AnYun.ORG

  //copyright AnYun.ORG

21#Vigoss_Z | 2014-09-28 17:41

//ANYUN.ORG

@Viigoss 有缘。 //本文来自安云网

找调用的函数,追,肯定能找到key。

//内容来自AnYun.ORG

  //本文来自安云网

22#Viigoss | 2014-09-29 10:59

//安云网咨询系统

@Vigoss_Z 一般都是DES的,找到key就能解密了。关键是追不到key。加密解密的函数是写在dll里的,但是key是不是也写在dll里的?知道不?。.net的不好找,java的好找。用Reflector能追么?求方法。 //安云网,anyun.org

 

//本文来自安云网

23#Vigoss_Z | 2014-09-29 11:20 //安云网咨询系统

@Viigoss Reflector可以追啊。DES对称加密。加密解密要用到同一个key,加解密函数都可以追到key。

//内容来自AnYun.ORG

细心点肯定能找到。

//copyright AnYun.ORG



//本文来自安云网

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
验证码: 点击我更换图片
相关内容
推荐内容