精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

配置文件中的數據庫連接串加密了,你以為我就挖不出來嗎?

運維 數據庫運維
前幾天在調試物聯柜終端上的一個bug時發現 app.config 中的數據庫連接串是加密的,因為調試中要切換數據庫,我需要將密文放到專門的小工具上解密,改完連接串上的數據庫名,還得再加密貼到 app.config 中,煩的要死。

[[337741]]

一:背景

1. 講故事

前幾天在調試物聯柜終端上的一個bug時發現 app.config 中的數據庫連接串是加密的,因為調試中要切換數據庫,我需要將密文放到專門的小工具上解密,改完連接串上的數據庫名,還得再加密貼到 app.config 中,煩的要死,內容如下:

改完bug之后,我就想這玩意能防的了誰呢?私以為搞這么麻煩也就防防君子,像我這樣的 曉人,加不加密都是等于沒加密,照樣給你脫庫。。。😄😄😄

二:使用 ILSpy 去脫庫

1. 從DAL/Repository層去反編譯代碼

要想得到明文的數據庫連接串,可以從代碼中反推,比如從 DAL 或者 Repository 中找連接串字段 ConnectionString,我這邊的終端程序是用 wpf 寫的,采用的是經典的三層架構,所以在 bin 下可以輕松找到,如下圖:

 

接下來用 ILSPy 反編譯這個 dll。

 

從上圖中可以看出,連接串的明文是存放在: OleDbHelper.ConnectionString 中的,然后可以看到,程序中定義了一個 Decrypt 方法專門用來解密連接串,哈哈,有了這個算法,是不是就可以脫庫啦???如下代碼所示:

  1. class Program 
  2.     { 
  3.         static void Main(string[] args) 
  4.         { 
  5.             var str = "XfES27am6Muw48iB1GlMVqvUbq7/Pp9n4XbZJsDu19YDr/Zdb3m7KT6haD7f9HLj/ZEvIiZbmSU4O5L9g03Y5IUB6KLCZI7s3nDLwTIC+bXLf5quu/r8ZAI+rgNnsNZdwoDfquRLQy5Cf2X8/MFDOcMNaZYMpTYeHsZoEERU/TP9t3n5QllJTihrmDFbiGHLqe1kfN3uB3g1kgs0oobIEfNPr09kQ/pFgzZi/kZCrK10PLZZ0pFj1YU5ReFqBsdBlecV3D2Zl3lx1Ibls24t7w=="
  6.  
  7.             Console.WriteLine(Decrypt(str)); 
  8.         } 
  9.  
  10.         public static string Decrypt(string str) 
  11.         { 
  12.             if (!string.IsNullOrEmpty(str)) 
  13.             { 
  14.                 DESCryptoServiceProvider descsp = new DESCryptoServiceProvider(); 
  15.                 byte[] key = Encoding.Unicode.GetBytes("Oyea"); 
  16.                 byte[] data = Convert.FromBase64String(str); 
  17.                 MemoryStream MStream = new MemoryStream(); 
  18.                 CryptoStream CStream = new CryptoStream(MStream, descsp.CreateDecryptor(keykey), CryptoStreamMode.Write); 
  19.                 CStream.Write(data, 0, data.Length); 
  20.                 CStream.FlushFinalBlock(); 
  21.                 return Encoding.Unicode.GetString(MStream.ToArray()); 
  22.             } 
  23.             return ""
  24.         } 
  25.     } 

 

不過還好,數據庫也是在客戶那邊獨立部署的,不存在走外網的情況,不然就玩大了。。。接下來我們來看看如何去防范。

2. 加殼/混淆/加密狗

現在市面上商業版和免費版都提供了給C#代碼進行加密和混淆,不過我沒用過,我想最多在反編譯代碼后閱讀性上增加了一些障礙,這也不過是時間問題罷了,畢竟SqlConnection,SqlCommand 這些FCL的類你是沒法混淆的,我從這些類上反推可以很輕松的就能找到明文的 ConnectionString ,所以這條路我覺得是走不通的。

3. 將解密算法放在 server 端

既然 解密算法 埋在客戶端你都能挖出來,那把它放在 server 端不就可以啦?在程序啟動的時候,調用一下 webapi 進行解密,這樣你總沒轍了吧 ???哈哈,大家可以開動腦子想一想,這種方法可行不可行?誠然,解密算法搬走了,再用 ILSpy 去挖已經沒有任何意義了,但這里有一個重要突破點,不管是用什么形式解密的,最后的連接串明文都是存放在 OleDbHelper.ConnectionString 這個靜態變量中,對吧!接下來的問題就是有沒有辦法把進程中的這個靜態變量給挖出來?你說的對,就是抓程序的 dump文件 用 windbg 去挖。

三:使用 windbg 去脫庫

1. 思路

要想挖出 OleDbHelper.ConnectionString,其實也很簡單,在 CLR via C# 第四章中關于對象類型和類型對象的解讀有這么一張圖,很經典。

 

從上圖中可以看到,靜態字段是在 Manager 類型對象 中,實例字段都是在 Manager 對象 中,對照這張圖,我只需要通過 windbg 找到 OleDbHelper 類型對象,也就是所謂的 EEClass。

2. windbg 挖礦實戰

使用 !name2ee 找到 Decrypt 方法描述符(MethodDesc)

  1. 0:000>  !name2ee xxx.Utilities.dll xxx.Utilities.Database.OleDbHelper.Decrypt 
  2. Module:      08ed7cdc 
  3. Assembly:    xxx.Utilities.dll 
  4. Token:       060002aa 
  5. MethodDesc:  08ed83b0 
  6. Name:        xxx.Utilities.Database.OleDbHelper.Decrypt(System.String) 
  7. JITTED Code Address: 048b6af0 

上面的 MethodDesc: 08ed83b0 就是方法描述符的地址。

使用 !dumpmd 導出方法描述符的詳細信息,找到 OleDbHelper類型對象 的 EEClass 地址

  1. 0:000> !dumpmd 08ed83b0 
  2. Method Name:  xxx.Utilities.Database.OleDbHelper.Decrypt(System.String) 
  3. Class:        08ecab30 
  4. MethodTable:  08ed8468 
  5. mdToken:      060002aa 
  6. Module:       08ed7cdc 
  7. IsJitted:     yes 
  8. CodeAddr:     048b6af0 
  9. Transparency: Critical 

上面的 Class: 08ecab30 就是 OleDbHelper類型對象 在堆上的內存地址。

使用 !dumpclass 導出 Class: 08ecab30 ,從而找到 OleDbHelper類的靜態字段

  1. 0:000> !dumpclass 08ecab30 
  2. Class Name:      xxx.Utilities.Database.OleDbHelper 
  3. mdToken:         02000033 
  4. File:            D:\code\A18001\Source\Main\TunnelClient\bin\Debug\xxx.Utilities.dll 
  5. Parent Class:    795115b0 
  6. Module:          08ed7cdc 
  7. Method Table:    08ed8468 
  8. Vtable Slots:    4 
  9. Total Method Slots:  6 
  10. Class Attributes:    100081  Abstract, 
  11. Transparency:        Critical 
  12. NumInstanceFields:   0 
  13. NumStaticFields:     2 
  14.       MT    Field   Offset                 Type VT     Attr    Value Name 
  15. 799bfd60  4000152       74        System.String  0   static 04c28270 ConnectionString 
  16. 799bfd60  4000153       78        System.String  0   static 04c299e8 SecurityConnectionString 

從上面導出信息中可以看到 OleDbHelper類中 有兩個靜態字段: ConnectionString 和 SecurityConnectionString。

使用 !do 打印出兩個靜態字段

 

看到沒有,上圖中的兩個紫色框框就是明文的 ConnectionString 哈,怎么樣?🐂不🐂。

四:總結

 

當認識到上面的兩種脫庫方式,你應該就能想到,其實你在程序中連接數據庫,這本身就是一種錯,操作系統都能給你盜版,何況你這區區一個小軟件?個人覺得完全杜絕的方式那應該就是:滅掉本地的sqlserver,讓所有的數據獲取都由遠端的 webapi 提供,當然這又是在脫離業務聊技術啦!

本文轉載自微信公眾號「一線碼農聊技術」,可以通過以下二維碼關注。轉載本文請聯系一線碼農聊技術公眾號。

 

責任編輯:武曉燕 來源: 一線碼農聊技術
相關推薦

2022-02-28 07:37:02

Java配置參數

2021-07-26 09:43:24

代碼MapStructs項目

2023-09-21 15:20:49

算法開發

2021-01-06 10:52:02

MySQL數據庫安全

2015-06-01 15:11:37

數據庫update

2023-02-07 13:51:11

SQLupdate語句

2020-05-29 10:18:58

python開發代碼

2011-03-28 13:25:27

MySQL數據庫哈希加密

2024-05-27 09:52:00

Nacos加密配置

2022-11-21 10:49:29

Nacos配置加密

2017-12-13 14:41:45

2018-12-07 13:16:14

硬件元器件BOM

2022-06-01 11:52:42

網站客戶端網絡

2021-10-18 09:09:16

數據庫

2011-08-22 16:08:48

2020-04-09 10:49:19

VMware主機配置

2021-02-02 11:13:41

BigDecimal支付電商

2009-02-09 12:52:32

文件加密Oracle數據庫

2009-01-20 13:57:02

網絡硬盤Google云計算

2021-06-04 05:19:57

運營商用戶投訴
點贊
收藏

51CTO技術棧公眾號

你懂的在线看| 日本xxxxxxxxx18| 在线h片观看| 波波电影院一区二区三区| 97香蕉久久超级碰碰高清版| 瑟瑟视频在线观看| 亚洲一区av| 午夜亚洲福利老司机| 日产中文字幕在线精品一区| 国产免费av观看| 久久精品主播| 欧美福利视频在线观看| 一道本在线观看| 视频一区在线| 欧美日韩免费观看一区二区三区| 欧美大黑帍在线播放| 国产视频第一页在线观看| 国产精品亚洲成人| 国产精品777| 日本免费在线播放| 久久在线免费| 亚洲精品中文字幕有码专区| 久久精品一二三四| 成人在线黄色| 精品美女久久久久久免费| 亚洲成人午夜在线| 日韩三级电影网| 国产成人午夜精品影院观看视频| 国产成人亚洲综合| 男女视频免费看| 欧美日韩综合| 久久久国产91| 免费一级黄色录像| 亚洲人成网77777色在线播放| 日韩一区二区中文字幕| 国内自拍视频网| 自拍偷拍亚洲视频| 亚洲第一狼人社区| 日韩精品一区二区三区电影| av小片在线| 国产午夜精品一区二区三区嫩草 | 亚洲电影二区| 日本高清视频一区二区| 男女视频网站在线观看| 日本天码aⅴ片在线电影网站| 国产精品女上位| 色999日韩自偷自拍美女| 亚州av在线播放| zzijzzij亚洲日本少妇熟睡| 成人高清在线观看| 国产激情无套内精对白视频| 国产一区免费电影| 91久久精品国产| 国产精品国产三级国产普通话对白 | 无码人妻久久一区二区三区| 日韩午夜黄色| 91大神在线播放精品| 日本特黄一级片| 在线成人欧美| 韩国三级日本三级少妇99| 国产小视频在线观看免费| 中文在线播放一区二区| 美女av一区二区| 免费毛片在线播放免费| 欧美日韩网站| 国内精品视频一区| 成年人免费高清视频| 香蕉久久夜色精品国产| 日本一区二区在线播放| 无码人妻丰满熟妇精品区| 石原莉奈在线亚洲二区| 国产精品免费久久久久影院| 在线免费av片| 国产福利一区二区| 国产亚洲福利社区| 免费在线观看一区二区| 国产男人搡女人免费视频| 久久久久国内| 国产精品激情av电影在线观看| 天天干天天干天天操| 午夜在线一区| 国产精品久久久久久久av电影| 中文字幕在线日本| 日本午夜精品视频在线观看| 国产精品久久久久福利| 国产精品高潮呻吟久久久| 国产精品一区二区三区乱码| 国产精品免费一区二区三区观看| 少妇人妻精品一区二区三区| 久久久久久久国产精品影院| 一区二区三区四区不卡| 欧美wwww| 色噜噜狠狠成人中文综合| wwwwwxxxx日本| 91麻豆精品激情在线观看最新| 日韩成人在线视频观看| 国产精品1区2区3区4区| 欧美精品综合| 国产精品久久久久久亚洲影视| 国产露脸91国语对白| 成人国产电影网| 亚洲精品成人三区| 青草av在线| 欧美三级欧美一级| 一级黄色免费视频| 97视频在线观看免费高清完整版在线观看| 国产精品久久久久久久小唯西川 | 91国产在线播放| 熟妇人妻av无码一区二区三区| 国产欧美一区二区在线观看| 亚洲啊啊啊啊啊| 三上悠亚国产精品一区二区三区| 欧美一区二区三区免费大片| 精品人妻互换一区二区三区| 永久91嫩草亚洲精品人人| 8x拔播拔播x8国产精品| 国产乱淫av免费| 国产欧美日韩综合| 久久综合久久网| 国产色99精品9i| 最近2019好看的中文字幕免费| 色视频在线观看免费| 国产成人3p视频免费观看| 日韩中文第一页| 六月丁香激情综合| 国产风韵犹存在线视精品| 日韩黄色影视| 天堂中文最新版在线中文| 91精品婷婷国产综合久久| 99久久久无码国产精品性| 亚洲国产午夜| 99理论电影网| 日本亚洲精品| 欧美性videosxxxxx| 成人精品在线观看视频| 精品动漫3d一区二区三区免费版| 成人中心免费视频| 夜级特黄日本大片_在线| 色久综合一二码| 亚洲第一成人网站| 午夜一区不卡| 蜜桃免费一区二区三区| 波多野结衣在线高清| 日韩西西人体444www| 人人澡人人澡人人看| 蜜桃视频在线一区| 先锋影音日韩| 97欧美成人| 在线观看欧美www| 欧美日韩a v| 日本一区二区成人| 欧美第一页浮力影院| 欧美三级三级| 国产精品亚洲第一区| se在线电影| 欧美日韩一区二区在线观看| 成人性视频免费看| 久久福利资源站| 韩国黄色一级大片| 91综合精品国产丝袜长腿久久| 欧美精品videossex88| 免费av网站在线播放| 亚洲第一福利一区| 182在线视频| 亚洲欧美日韩精品一区二区| 欧美一级爱爱| 国产成人精品一区二区三区在线 | 在线成人亚洲| 久久久久久久免费| 美女18一级毛片一品久道久久综合| 精品一区二区三区四区在线| 亚洲 欧美 日韩 在线| 亚洲国产精品精华液2区45| 亚洲一区二区三区四区五区| 欧美成人日本| 久久草视频在线看| 日本欧美韩国| 美女福利精品视频| 蜜桃久久一区二区三区| 欧美午夜精品久久久久久浪潮 | 一区二区在线看| 亚洲一二三四五| 久久久久久久高潮| 一区二区三区欧美在线| 国产精品传媒| 国产精品久久久久久影视| 操你啦视频在线| 国产偷亚洲偷欧美偷精品| 中文字幕欧美在线观看| 亚洲一区二区中文在线| 一区二区三区伦理片| 国产一区亚洲一区| 免费欧美一级视频| 91精品秘密在线观看| 精品国产乱码久久久久久88av| www.国产福利| 99精品全国免费观看视频软件| 成人黄色片视频网站| 特黄毛片在线观看| www.欧美免费| 日韩av地址| 欧美一区二区三区免费大片 | av毛片在线看| 国产视频自拍一区| 国产伦精品一区二区三区四区| 无吗不卡中文字幕| 99久久久免费精品| 99精品久久免费看蜜臀剧情介绍| 亚洲精品性视频| 久久婷婷影院| 黄色激情在线视频| 欧美xxav| 精品国产一区二区三区四区精华| 先锋影音一区二区| 日本中文字幕成人| 丁香花在线影院| www国产精品com| 国产精品99999| 日韩成人在线视频观看| 精品人妻无码一区二区| 精品视频一区二区三区免费| 久草手机在线观看| 亚洲欧美经典视频| 欧美a在线播放| 久久九九全国免费| 给我免费观看片在线电影的| 国产xxx精品视频大全| 不卡的av中文字幕| 日韩国产欧美在线播放| 免费无遮挡无码永久视频| 欧美精品99| 日韩精品第1页| 国产精品成人a在线观看| 日本午夜一区二区三区| 蜜桃a∨噜噜一区二区三区| 国产伦精品一区二区三区在线 | 欧美一区二区日韩一区二区| 亚洲一区精品在线观看| 欧美怡红院视频| 日韩xxx视频| 在线观看视频一区二区欧美日韩| 亚洲第一在线播放| 香蕉成人伊视频在线观看| 久久国产一级片| 亚洲在线观看免费| 欧美日韩在线视频免费| 亚洲女与黑人做爰| 日韩va亚洲va欧美va清高| 中文字幕一区二区三区色视频| 精品无码在线观看| 亚洲国产精品成人久久综合一区| 日韩中文字幕有码| 国产丝袜欧美中文另类| 色婷婷在线影院| 国产欧美一区二区精品性| www久久久久久久| 中文字幕一区二区不卡| 小早川怜子一区二区的演员表| 中文字幕一区二区三区精华液| 卡通动漫亚洲综合| 一区二区三区精密机械公司| 国产一级一片免费播放| 天天色综合天天| 成人av网站在线播放| 欧美午夜一区二区三区| 91福利在线观看视频| 欧美一区二区三区视频在线 | 亚洲资源在线| 都市激情久久久久久久久久久| 国产精品久久久久av蜜臀| 精品一区二区三区自拍图片区| 久久不见久久见免费视频7| 日韩不卡av| 亚洲国产精品成人| 国产96在线 | 亚洲| 久热精品视频| 中文字幕第一页在线视频| 国产成人精品免费在线| 黄色片视频免费观看| 中文字幕不卡在线播放| 日本老熟俱乐部h0930| 日本一本二本在线观看| 亚洲一区欧美| 亚洲欧美国产va在线影院| 免费播放片a高清在线观看| 亚洲欧洲黄色网| 麻豆视频在线| 性色av一区二区三区在线观看| 日本综合字幕| 91午夜在线播放| 欧美福利在线播放网址导航| 日韩中文字幕一区二区| 欧美 日韩 国产精品免费观看| 欧美成人免费在线观看视频| 日本在线不卡视频一二三区| 欧美性猛交乱大交| 91丨九色丨蝌蚪富婆spa| 91免费在线看片| 午夜精品一区二区三区三上悠亚| 中国女人真人一级毛片| 日韩视频在线你懂得| 麻豆国产在线播放| 久久99久国产精品黄毛片入口| 中文字幕不卡三区视频| 亚洲最大成人网色| 免费久久精品| 青草青青在线视频| 久久99久久久欧美国产| 国产精品福利导航| 日韩久久一区二区| 五月天婷婷导航| 亚洲成人精品久久久| 亚洲欧美视频一区二区| 97热精品视频官网| 精品亚洲a∨一区二区三区18| 欧美精品一区二区三区在线四季| 国语对白精品一区二区| 午夜剧场在线免费观看| 久久久天堂av| 日韩久久久久久久久| 91精品一区二区三区久久久久久 | 日韩av中字| 国产传媒欧美日韩| 亚洲一区欧美| 欧美成人手机在线视频| 国产日韩欧美精品一区| 国产一级18片视频| 亚洲国产高清福利视频| av片在线观看网站| 91日韩在线播放| 围产精品久久久久久久| www.涩涩涩| 欧美国产激情一区二区三区蜜月| 久久久久久久久久影院| 亚洲国产高清福利视频| 菠萝蜜视频在线观看www入口| 超碰97在线资源| 欧美午夜电影在线观看| 免费人成视频在线播放| 亚洲你懂的在线视频| 国产精品久久久久久无人区| 色哟哟网站入口亚洲精品| 成人日韩在线| 天堂一区二区三区 | 懂色av影视一区二区三区| 三级视频在线看| 97在线视频免费| 欧美一区自拍| 日本成人在线免费视频| 国产97在线观看| 视频在线一区| 五月天激情图片| 国产成人精品午夜视频免费| 高h视频免费观看| 欧美一区二区三区视频免费| 国产在线1区| 91香蕉视频在线下载| 自拍偷拍欧美专区| 俄罗斯女人裸体性做爰| 亚洲黄色av一区| 韩国av免费在线观看| 高清一区二区三区四区五区| 欧美爱爱网站| 欧美日韩在线视频一区二区三区| www国产成人| 国产又粗又猛又黄视频| 最近2019年日本中文免费字幕 | 国产精品久久久久久| 色综合五月婷婷| 亚洲尤物在线视频观看| 天堂在线视频免费| 国产91色在线|| 99视频精品全部免费在线视频| 污污的视频免费观看| 亚洲一区在线视频| 日韩电影在线观看完整版| 国产精品观看在线亚洲人成网| 国产精品传媒精东影业在线| 精品人妻一区二区免费| 狠狠色狠狠色综合日日五| 成av人电影在线观看| 96国产粉嫩美女| 中文日韩在线| 韩国一级黄色录像| 亚洲国产精品va| 成人免费毛片嘿嘿连载视频…| 91精品一区二区三区四区| 99久久免费精品| 在线免费观看一区二区| 欧美激情成人在线视频| 久操精品在线| 色婷婷狠狠18禁久久| 日韩欧美视频一区二区三区| 日本不卡在线| 精品伊人久久大线蕉色首页| 蜜桃av噜噜一区二区三区小说| 国产主播在线观看| 色一情一乱一区二区| 国产在线播放精品| 日本中文字幕影院|