精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

久久综合狠狠| 99精品国产一区二区三区2021| 久久久久久久综合| 国产精品免费久久久久影院| 蜜桃av乱码一区二区三区| 欧美成人一二区| 亚洲综合一二三区| 欧美日韩电影一区二区三区| 在线免费av网| 国内激情久久| 亚洲视频欧美视频| 日本少妇一区二区三区| 一二三四视频在线中文| 国产精品国产成人国产三级| 成人动漫在线观看视频| 特级做a爱片免费69| 亚洲xxx拳头交| 日韩精品中文字幕在线观看| 一起操在线视频| 美女搞黄视频在线观看| 综合欧美亚洲日本| 热舞福利精品大尺度视频| 国产成人精品亚洲精品色欲| 玖玖视频精品| 久久久久久久亚洲精品| 99re6热在线精品视频| 欧美成人基地| 日韩一区和二区| 国产又大又黄又粗的视频| 国产www视频在线观看| 国产精品色噜噜| 欧美二区在线| 日韩中文字幕观看| 国产一区二区电影| 国产欧美韩国高清| 中文字幕精品视频在线观看| 极品av少妇一区二区| 两个人的视频www国产精品| 欧美成人午夜精品免费| 久久aimee| 日韩美女一区二区三区四区| 中文av一区二区三区| 久久毛片亚洲| 精品久久久久久久久久国产| 国产片侵犯亲女视频播放| 免费网站成人| 国产精品素人视频| 日本一区二区三区视频免费看| 五月婷婷在线播放| 91一区一区三区| 国产日韩二区| 人妻妺妺窝人体色www聚色窝 | 日日躁夜夜躁aaaabbbb| 色一区二区三区| 福利视频导航一区| 欧美亚洲一二三区| 中文在线8资源库| 欧美日韩一区二区免费视频| xxxx18hd亚洲hd捆绑| 国产在线xxx| 亚洲国产sm捆绑调教视频| 欧美大片免费播放| 伊人电影在线观看| 亚洲曰韩产成在线| 黄色一级视频在线播放| yellow字幕网在线| 亚洲成人777| www黄色日本| 国产伦精品一区二区三区视频金莲| 黑人巨大精品欧美一区二区| 情侣黄网站免费看| 日韩三区在线| 在线播放一区二区三区| 日本亚洲一区二区三区| 1204国产成人精品视频| 精品黑人一区二区三区久久| 精品熟女一区二区三区| 美女一区二区在线观看| 国产午夜精品麻豆| 免费成人深夜天涯网站| 国产二区精品| 欧美激情精品久久久久久免费印度| 久久中文字幕无码| 国产精品一级| 91精品久久久久久久久不口人| 国产男男gay网站| 国产不卡视频一区| 久久久久久艹| av大片在线播放| 一区二区三区色| 91免费视频网站在线观看| 日韩av首页| 欧美一二三区在线观看| 亚洲狠狠婷婷综合久久久久图片| 精品日韩一区| 欧美理论电影在线观看| 天天综合网入口| 美美哒免费高清在线观看视频一区二区 | 伊人久久大香线蕉综合热线| 91av在线免费观看| 自拍偷拍福利视频| 成人小视频在线| 日韩av电影免费在线观看| a在线免费观看| 色婷婷综合久色| 下面一进一出好爽视频| 免费看成人吃奶视频在线| 日韩三级影视基地| 久久国产视频播放| 国产精品白丝jk黑袜喷水| 欧美日韩另类综合| 青草av在线| 欧美影院午夜播放| 91丨porny丨对白| 亚洲乱码在线| 国产高清视频一区三区| 亚洲成人一二三区| 自拍偷自拍亚洲精品播放| 欧美三级一级片| 国产一区二区高清在线| 亚洲品质视频自拍网| 免费观看一级视频| 韩国成人精品a∨在线观看| 日本成人黄色免费看| 丁香花在线电影| 在线综合视频播放| 天堂资源在线视频| 奶水喷射视频一区| 国产精品国产三级国产专区53| 免费人成在线观看播放视频| 色悠悠久久综合| 亚洲av成人精品一区二区三区 | 亚洲午夜久久久久久久| 亚洲激情视频一区| 国产成人av电影在线| 亚洲欧洲免费无码| 成人国产一区| 国产亚洲精品一区二区| 一级片视频在线观看| a级高清视频欧美日韩| 91视频 - 88av| 国内精品视频| 久久精品国产亚洲精品| 中文字幕有码无码人妻av蜜桃| 26uuu久久综合| 波多野结衣乳巨码无在线| 97视频一区| 欧美精品激情在线观看| www精品国产| 樱花影视一区二区| 亚欧美一区二区三区| 欧美xxx在线观看| 91久久久一线二线三线品牌| 毛片在线不卡| 欧美高清激情brazzers| 秋霞欧美一区二区三区视频免费| 麻豆一区二区99久久久久| 视频一区不卡| 欧美黑粗硬大| 久久这里有精品| av男人天堂av| 亚洲精品v日韩精品| 亚洲精品乱码久久久久久9色| 综合激情一区| 国产成人精品免费视频大全最热| 欧美性受ⅹ╳╳╳黑人a性爽| 91精品国产欧美一区二区| 欧美成人综合色| 福利一区在线观看| 免费看国产曰批40分钟| 国产va免费精品观看精品视频| 日韩美女激情视频| 日本免费中文字幕在线| 欧美一区二区视频在线观看2020 | 天堂网在线中文| 精品色蜜蜜精品视频在线观看| 亚洲国产精品自拍视频| 日欧美一区二区| 亚洲人成网站在线播放2019| 日本免费一区二区三区视频| 欧美激情视频一区| 欧美色图另类| 欧美日韩国产美| 久久精品美女视频| 国产亚洲视频系列| 免费黄频在线观看| 99热精品在线观看| 天天久久人人| av综合网址| 国产ts一区二区| 黄色成人在线观看| 日韩av在线网页| 一个人看的www日本高清视频| 亚洲激情自拍偷拍| 波多野结衣av在线免费观看| 久久激情五月婷婷| 三上悠亚久久精品| 亚洲成人精品| 欧美日韩精品免费观看视一区二区 | 日本电影亚洲天堂| 韩国av网站在线| 日韩精品在线第一页| 国产精品久久久午夜夜伦鲁鲁| 亚洲国产视频a| www亚洲色图| 成人av网站在线观看| www.激情小说.com| 亚洲高清自拍| 中国成人在线视频| 一区二区美女| 99精品国产高清一区二区| 成人做爰视频www网站小优视频| 欧美精品做受xxx性少妇| 国产小视频在线| 欧美精品一区二区三区四区| 在线观看免费视频a| 精品久久久久久中文字幕大豆网| 日本天堂中文字幕| 亚洲国产精品二十页| xxxxxx黄色| 国产福利不卡视频| 182午夜在线观看| 久久亚洲不卡| 色综合久久久久无码专区| 亚洲激情中文| 尤物国产精品| 精品99久久| 久久久综合亚洲91久久98| 亚洲精品影片| 96精品久久久久中文字幕| 电影亚洲一区| 国产成人精品久久| 涩涩av在线| 性欧美在线看片a免费观看| 少妇视频在线| 欧美精品在线播放| 性欧美videoshd高清| 久久久av免费| 国产黄色在线免费观看| 日韩在线观看免费| 天堂资源在线中文| www亚洲欧美| 欧美激情午夜| 精品国产拍在线观看| 1769在线观看| 日韩中文字幕在线观看| h网站在线免费观看| 伊人亚洲福利一区二区三区| 国产经典自拍视频在线观看| 亚洲欧美日韩精品| 欧美日本韩国一区二区| 亚洲人成啪啪网站| 国产女主播在线写真| 亚洲午夜av久久乱码| 国产高清一区在线观看| 中文字幕不卡在线视频极品| sese一区| 北条麻妃99精品青青久久| 久草免费在线| 欧美成人中文字幕| 日韩伦理电影网站| 久久久中文字幕| 色偷偷偷在线视频播放 | 成人亚洲视频| 成人福利网站在线观看11| 伊人久久大香| 国产精品v欧美精品v日韩| 凹凸成人在线| 欧美三级华人主播| 欧美好骚综合网| 影音先锋男人的网站| 欧美va天堂在线| 无罩大乳的熟妇正在播放| 久久xxxx| 一女二男3p波多野结衣| 国产高清无密码一区二区三区| 女性生殖扒开酷刑vk| 久久综合成人精品亚洲另类欧美| 色哟哟精品观看| 亚洲欧洲制服丝袜| 日韩欧美亚洲一区二区三区| 91精品办公室少妇高潮对白| 亚洲一级在线播放| 精品国产乱码久久久久久久久| 午夜性色福利视频| 日韩在线视频网站| 国产精品一二三产区| 国产成人91久久精品| 亚洲18在线| 国产一区二区三区四区hd| 欧美伦理在线视频| 久久久久久av无码免费网站下载| 9色精品在线| 亚洲18在线看污www麻豆| 成人午夜电影久久影院| www亚洲色图| 亚洲一区在线播放| 免费av中文字幕| 日韩一区和二区| 国产中文在线视频| 欧美高清性猛交| 不卡亚洲精品| 国产欧美一区二区视频| 欧美www视频在线观看| 黄色成人在线看| 久久66热re国产| 人妻无码中文久久久久专区| 1024成人网| 欧美日韩一级黄色片| 日韩一区二区三区av| 国内av一区二区三区| 欧美精品videosex极品1| 亚洲爱爱视频| 精品国产日本| 伊人成综合网| 中文字幕日韩综合| 久久久99精品免费观看| 久久久久免费看| 欧美乱熟臀69xxxxxx| 精品美女视频在线观看免费软件| 欧美激情亚洲自拍| 24小时成人在线视频| 日本成人看片网址| 国产精品呻吟| 稀缺小u女呦精品呦| 一区二区三区中文在线| 超碰在线免费97| 精品在线观看国产| av中文资源在线资源免费观看| 亚洲综合一区二区不卡| 欧美gay男男猛男无套| 91n.com在线观看| 久久亚洲综合色一区二区三区| 精品99在线观看| 91精品国产麻豆| 国产网站在线免费观看 | 日韩精品一区二区三区中文字幕 | 超碰caoprom| 夜夜嗨av一区二区三区四季av | 亚洲黄色www| 啪啪免费视频一区| 99精品国产高清一区二区| 婷婷精品进入| 国产精品自在自线| 中文字幕欧美一区| 亚洲天堂手机版| www.xxxx精品| 色成人综合网| 强伦女教师2:伦理在线观看| 免费成人小视频| 日韩欧美在线视频播放| 欧美日韩视频第一区| avtt亚洲| 91在线视频精品| 欧美精品偷拍| 黄色性视频网站| 精品久久久久久久久久国产| 亚洲 欧美 激情 小说 另类| 全亚洲最色的网站在线观看| 美女久久久久| 五月婷婷六月合| 亚洲三级电影全部在线观看高清| 国产精品一区二区黑人巨大| 久久国产精品99国产精| 日本免费精品| 亚洲熟妇无码一区二区三区导航| www.66久久| 无码人妻精品一区二区50| 伊人亚洲福利一区二区三区| 成人51免费| 人妻夜夜添夜夜无码av| 久久久噜噜噜久噜久久综合| 中文字幕乱码人妻二区三区| xxx一区二区| 99ri日韩精品视频| av观看免费在线| 国产精品免费丝袜| 国产wwwxxx| 国产69久久精品成人| av一区二区高清| av地址在线观看| 狠狠躁夜夜躁人人躁婷婷91| 91在线视频免费看| 国产精品成人一区二区三区| 国产精品夜夜夜| a一级免费视频| 亚洲国产精品免费| 激情久久99| 欧美狂野激情性xxxx在线观| 久久九九99视频| 国产后入清纯学生妹| 欧美中文字幕在线| 久久视频精品| 免费a v网站| 欧美福利视频导航| 密臀av在线播放| 亚洲av首页在线| 久久女同性恋中文字幕| 国产精品一区二区三区在线免费观看| 97视频免费在线观看|