对.net基本不了解,成功解密了一个经过DES加密的web.config是通过2天的时间查找各种资料与问朋友实现的,记录一下过程。

首先这是一个游戏私服,支付平台用aspx写的。获得一个webshell后经过尝试无法提权,想掌握到管理员的常用密码结果发现web.config connectionStrings数据库连接的地方被加密了。如下


  
    
    
  
  
    
  

字符串加密成了16进制 。经过网上查找资料和咨询朋友得知是使用的DES加密算法 密钥很可能写在封装的.dll里 反正有webshell 进入bin目录下载了system.dll回来,可是DLL文件可能采用了混淆方式,好在强大的Reflector最新7.0版本可以强X 。马上打开载入system.dll 找到如下位置

涂 掉的地方就是DES密钥,找到一个DES加密解密工具很强大,http://www.cnblogs.com/erwin/archive/2009 /04/14/1435288.html支持字符串及文件加密,支持3重DES down回来填入加密后的字符串以及密钥, 成功爆出菊花,如下图

OK 通过webshell连上数据库就可以做一些邪恶的事情了

写 的很简单,过程却很曲折,主要因为对aspx知识太少 另外如果web.config采用.net自带的aspnet_regiis加密工具加密可以采用另外一种方式,地址为 http://hi.baidu.com/%C9%C1%B5%E7%D0%A1%D7%D3_tysan/blog/item/bb4662fbbc56ba1ad9f9fd52.html 有写好的工具 一句话只要得到dll文件 一切就好办了。

在诸多web应用中数据库信息泄露是一个需要重点关注的地方,因为web程序大 多要通过各种接口访问数据库,储存数据库密码的地方一旦泄露数据基本就无秘密可言了。aspx中采用加密web.config数据库连接信息的方法不错, 但是还需要综合设置好服务器权限,避免因为其他例如文件权限等问题让***者有机可乘,因为就如大坝,一旦出现了一个小口子,千里之堤便毁于蚁穴.