安云网 - 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、记事本、任意浏览器…… 

//本文来自安云网

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

0x02 

//本文来自安云网


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

    方法二(适用于能读代码但不会写代码的童鞋) 
示例: 
//内容来自安云网

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

//安云网咨询系统


        } 
        catch (Exception) 
        { 
        } 
        int num6 = num5 ^ Convert.ToInt32(str2[num2]); 
        if (num6 <= num3) 
        { 
            num6 = (0xff + num6) - num3; 
        } 
        else  //内容来自安云网
        { 
            num6 -= num3; 
        } 
        str3 = str3 + Convert.ToChar(num6); 
        num3 = num5; 
        startIndex += 2; 
        if (num2 < length) 
        { 
            num2++; 
        }  //安云网咨询系统
        else 
        { 
            num2 = 1; 
        } 
        if (startIndex >= str.Length) 
        { 
            return str3; 
        } 
    } 

/=========================================================== 

//安云网咨询系统


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

浏览器访问,得到密码:***ccom102668 
2.jpg  //安云网,anyun.org

    方法三(适用于代码读不了更写不了的童鞋) 
示例:  //copyright AnYun.ORG
  .NET Reflector定位至解密函数,解密函数调用非常复杂,跟了几步思路也跟丢了…… 
3.jpg 
//copyright AnYun.ORG

对付这类的加密那就使用最简单的方法吧——直接调用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 = ""; 
  //下面是调用方法 
//安云网咨询系统

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

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

+sBAAAAECVqcj9oCEGaJ0mZSN5kGAQAAAACAAAAAAAQZgAAAAEAACAAAAAhqwK0FIppu3zaId41oqAahOfebXIgpn6Y

9wtCSh66xwAAAAAOgAAAAAIAACAAAAA9kwoU8mJNSwcoouLxVGh9PIU8RLsqFehwf0nmMVUeamAAAABdTYklOfQhsR4

l8obq/PAZfLp12Ff1GvHiJBK1C7lJzi8d0dgs51TZvp5fOc0C2Ok6qqtXXcx07i9KlMGr1ETF23vFi0oE5wHy36bjGu

0OvTo9psUMFia7wVLkchDkDoRAAAAAULGxt/L13wLHBMpv85P+ruAczDqo5NG8ufk 

//本文来自安云网



+F3VVaEdPr7PvFK3OeHYtMOlLRSTBZk6sKilhsQRuNNM4z0GouA==")); 
%>


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

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

//安云网咨询系统

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

不顶没天理 //安云网咨询系统

 

//安云网,anyun.org

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

//本文来自安云网

赞一个 //ANYUN.ORG

 

//安云网,anyun.org

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

//本文来自安云网

好帖!顶。

//内容来自AnYun.ORG

 

//copyright AnYun.ORG

4#c4bbage | 2014-09-12 13:06 //安云网咨询系统

赞一个

//copyright AnYun.ORG

  //内容来自AnYun.ORG

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

//copyright AnYun.ORG

我来添一个吧。 //安云网咨询系统

还有一种情况是使用.NET自带的加密方法加密链接字符串 //本文来自安云网

解密:

//内容来自AnYun.ORG

aspnet_regiis.exe -pd "connectionStrings" -app "/SampleWebSite" //本文来自安云网

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

//copyright AnYun.ORG

第二种方法: //copyright AnYun.ORG

代码: //copyright AnYun.ORG

using System; //copyright AnYun.ORG

using System.Configuration;

//内容来自AnYun.ORG

using System.Web.Configuration;

//安云网咨询系统


//安云网,anyun.org


//安云网咨询系统

string provider = "RSAProtectedConfigurationProvider";

//本文来自安云网

string section = "connectionStrings";

//内容来自安云网

protected void btnDecrypt_Click(object sender, EventArgs e)

//本文来自安云网

{ //内容来自AnYun.ORG

   Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath); //内容来自安云网

   ConfigurationSection configSect = config.GetSection(section);

//安云网,anyun.org

   if (configSect.SectionInformation.IsProtected)

//内容来自安云网

   {

//本文来自安云网

      configSect.SectionInformation.UnprotectSection(); //本文来自安云网

      config.Save(); //内容来自安云网

   } //安云网咨询系统

} //copyright AnYun.ORG

web.config被解密。

//copyright AnYun.ORG

 

//安云网咨询系统

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

//内容来自AnYun.ORG

神贴刘明!

//安云网咨询系统

  //copyright AnYun.ORG

7#Nc4 | 2014-09-12 16:46

//安云网,anyun.org

神贴

//内容来自AnYun.ORG

 

//内容来自安云网

8#Sunshine | 2014-09-13 09:59 //内容来自安云网

嗯嗯 //安云网,anyun.org

赞一个,平时用Reflector看看函数 //内容来自安云网

  //内容来自安云网

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

//本文来自安云网

good jb~ //copyright AnYun.ORG

 

//内容来自安云网

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

赞~老师好 //安云网咨询系统

 

//ANYUN.ORG

11#Mody | 2014-09-13 21:02

//安云网,anyun.org

@Vigoss_Z 不错

//安云网咨询系统

 

//安云网咨询系统

12#ヤ深蓝T透 | 2014-09-14 18:45 //内容来自AnYun.ORG

赞~老师好  //内容来自AnYun.ORG

 

//安云网,anyun.org

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

//ANYUN.ORG

终于有人分享了~~~

//ANYUN.ORG

 

//内容来自安云网

14#逝情 | 2014-09-22 23:58

//安云网咨询系统

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

//本文来自安云网

 

//ANYUN.ORG

15#大漠長河 | 2014-09-24 06:13 //本文来自安云网

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

 

//安云网咨询系统

16#Coody | 2014-09-24 08:39

//内容来自AnYun.ORG

随然不是太懂,但是先收藏了。。。

//copyright AnYun.ORG

 

//ANYUN.ORG

17#蒙塔基的钢弹 | 2014-09-27 12:24 //内容来自安云网

大赞啊,大牛!~

//安云网咨询系统

  //内容来自安云网

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 //安云网,anyun.org

@qing  //内容来自AnYun.ORG

MTY3NzUyTzY1NDU3Nk8xNDY4NjM2TzI2MDU4MjRPNDA3Mjg0OE81ODYxMDI0Tzc5Nzg0NjRPMTA0MTk0NDhPMTMxODMzMDBPMTYyNzM0NTJPMTk2OTE3MjRPMjM0MzYwODhPMjc1MDE2MDRPMzE4OTY0MzZPMzY2MTE4NDhPNDE2NTYwMDRPNDcwMjcyOTJPNTI3MjE5MTZPNTg3NDIwNjBPNjUwODg2MDhPNzE3NTgxODBPNzg3NTYzNDBPODYwNzY1ODhPOTM3MjU5NDRPMTAxNjk3NTk2TzEwOTk5NTE4NE8xMTg2MjAzNzJPMTI3NTY4ODQ0TzEzNjg0MjYyOE8xNDY0NDA5NDRPMTU2MzY2NjUyTzE2NjYxOTE4ME8xNzcxOTMxMjBPMTg4MDk1OTA4TzE5OTMyMDIxMk8yMTA4NzU3MDRPMjIyNzUyNDAwTzIzNDk1Mjk1Mk8yNDc0ODE3ODBPMjYwMzM4ODg0TzI3MzUxNjc3Nk8yODcwMjI1ODBPMzAwODQ5NTg4TzMxNTAwNTE4NE8zMjk0ODc3NTZPMzQ0Mjk0NDk2TzM1OTQyNjYwME8zNzQ4ODUzMTZPMzkwNjY2NTM2TzQwNjc3MjYwME80MjMyMDY0NzJPNDM5OTY4NDY0Tw== //安云网咨询系统


//安云网咨询系统


//本文来自安云网

Setp1: Base64_Decode //内容来自AnYun.ORG

167752O654576O1468636O2605824O4072848O5861024O7978464O10419448O13183300O16273452O19691724O23436088O27501604O31896436O36611848O41656004O47027292O52721916O58742060O65088608O71758180O78756340O86076588O93725944O101697596O109995184O118620372O127568844O136842628O146440944O156366652O166619180O177193120O188095908O199320212O210875704O222752400O234952952O247481780O260338884O273516776O287022580O300849588O315005184O329487756O344294496O359426600O374885316O390666536O406772600O423206472O439968464O

//ANYUN.ORG


//copyright AnYun.ORG


//本文来自安云网

Setp2:Split by O //安云网,anyun.org

167752 //本文来自安云网

654576 //安云网,anyun.org

1468636

//ANYUN.ORG

2605824

//ANYUN.ORG

4072848 //ANYUN.ORG

5861024

//安云网,anyun.org

7978464 //安云网咨询系统

10419448 //安云网咨询系统

13183300

//安云网咨询系统

16273452 //安云网咨询系统

19691724

//ANYUN.ORG

23436088

//copyright AnYun.ORG

27501604

//安云网,anyun.org

31896436 //本文来自安云网

36611848

//安云网,anyun.org

41656004 //内容来自安云网

47027292 //安云网,anyun.org

52721916

//ANYUN.ORG

58742060 //内容来自安云网

65088608

//安云网,anyun.org

71758180 //内容来自AnYun.ORG

78756340 //本文来自安云网

86076588

//安云网,anyun.org

93725944

//本文来自安云网

101697596 //安云网咨询系统

109995184

//本文来自安云网

118620372

//本文来自安云网

127568844 //ANYUN.ORG

136842628 //本文来自安云网

146440944 //安云网,anyun.org

156366652 //本文来自安云网

166619180 //安云网咨询系统

177193120

//内容来自安云网

188095908 //本文来自安云网

199320212

//ANYUN.ORG

210875704 //安云网咨询系统

222752400

//安云网,anyun.org

234952952

//copyright AnYun.ORG

247481780

//内容来自AnYun.ORG

260338884

//内容来自AnYun.ORG

273516776 //内容来自AnYun.ORG

287022580

//内容来自安云网

300849588 //ANYUN.ORG

315005184 //安云网咨询系统

329487756 //内容来自AnYun.ORG

344294496

//ANYUN.ORG

359426600 //ANYUN.ORG

374885316

//本文来自安云网

390666536

//安云网咨询系统

406772600 //安云网,anyun.org

423206472 //安云网咨询系统

439968464

//ANYUN.ORG


//内容来自安云网


//本文来自安云网

Step3:Line/167752 //安云网,anyun.org

1   1*1-0 //内容来自AnYun.ORG

3|||2*2-1

//内容来自AnYun.ORG

8   3*3-1

//安云网,anyun.org

15  4*4-1

//安云网咨询系统

24  5*5-1 //内容来自AnYun.ORG

34  6*6-2

//内容来自安云网

47  7*7-2

//内容来自AnYun.ORG

62  8*8-2

//内容来自AnYun.ORG

78  9*9-3 //安云网咨询系统

97  10*10-3

//copyright AnYun.ORG

117 11*11-4 //安云网咨询系统

139 12*12-5

//copyright AnYun.ORG

163 13*13-6 //内容来自安云网

190 14*14-6

//内容来自安云网

218 15*15-7

//本文来自安云网

248 16*16-8

//安云网,anyun.org

280 17*17-9 //安云网咨询系统

314 18*18-10

//本文来自安云网

350 19*19-11 //ANYUN.ORG

388 20*20-12 //本文来自安云网

427 21*21-14 //内容来自安云网

469 22*22-15 //安云网,anyun.org

513 23*23-16 //内容来自AnYun.ORG

558 24*24-18 //安云网咨询系统

606 25*25-19

//本文来自安云网

655 26*26-21 //copyright AnYun.ORG

707 27*27-22

//copyright AnYun.ORG

760 28*28-24 //安云网咨询系统

815 29*29-26 //安云网咨询系统

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

//安云网,anyun.org

1257 36*36-39

//本文来自安云网

1400 38*38-44 //安云网咨询系统

1475 39*39-46 //安云网,anyun.org

1551 40*40-49 //内容来自安云网

1630 41*41-51 //copyright AnYun.ORG

1710 42*42-54 //copyright AnYun.ORG

1793 43*43-56

//copyright AnYun.ORG

1877 44*44-59 //copyright AnYun.ORG

1964 45*45-61

//本文来自安云网

2052 46*46-64 //内容来自AnYun.ORG

2142 47*47-67

//ANYUN.ORG

2234 48*48-70

//内容来自安云网

2328 49*49-73 //ANYUN.ORG

2424 50*50-76 //安云网咨询系统

2522 51*51-79 //内容来自AnYun.ORG

2622 52*52-82 //本文来自安云网

  //内容来自安云网

20#Viigoss | 2014-09-28 16:52

//本文来自安云网

求问:使用 .NET Reflector找到解密函数,怎么跟踪找到key。 //内容来自AnYun.ORG

 

//本文来自安云网

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

//ANYUN.ORG

@Viigoss 有缘。 //ANYUN.ORG

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

//ANYUN.ORG

  //内容来自安云网

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

//copyright AnYun.ORG

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

//内容来自安云网

 

//安云网,anyun.org

23#Vigoss_Z | 2014-09-29 11:20 //安云网,anyun.org

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

//本文来自安云网

细心点肯定能找到。

//本文来自安云网



//内容来自安云网

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