欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python腳本實(shí)現(xiàn)查找webshell的方法

 更新時(shí)間:2014年07月31日 17:04:35   投稿:shichen2014  
這篇文章主要介紹了python腳本實(shí)現(xiàn)查找webshell的方法,是很實(shí)用的一個(gè)功能,需要的朋友可以參考下

本文講述了一個(gè)python查找 webshell腳本的代碼,除了查找webshell功能之外還具有白名單功能,以及發(fā)現(xiàn)惡意代碼發(fā)送郵件報(bào)警等功能,感興趣的朋友可以自己測(cè)試一下看看效果。

具體的功能代碼如下:

#!/usr/bin/env python
#-*- coding: utf-8 -*-

import os
import sys
import re
import smtplib

#設(shè)定郵件
fromaddr = "smtp.qq.com"
toaddrs = ["voilet@qq.com"]
username = "voilet"
password = "xxxxxx"


#設(shè)置白名單
pass_file = ["api_ucenter.php"]

#定義發(fā)送郵件函數(shù)
def sendmail(toaddrs,sub,content):
  '發(fā)送郵件模塊'
  # Add the From: and To: headers at the start!
  msg = ("From: %s\r\nTo: %s\r\nSubject: %s\r\n\r\n"
      % (fromaddr, ", ".join(toaddrs), sub))
  msg += content
  server = smtplib.SMTP('mail.funshion.com', 25,)
  server.login(username, password)
  server.sendmail(fromaddr, toaddrs, msg)
  server.quit()

#設(shè)置搜索特征碼
rulelist = [
  '(\$_(GET|POST|REQUEST)\[.{0,15}\]\(\$_(GET|POST|REQUEST)\[.{0,15}\]\))',
  '(base64_decode\([\'"][\w\+/=]{200,}[\'"]\))',
  'eval\(base64_decode\(',
  '(eval\(\$_(POST|GET|REQUEST)\[.{0,15}\]\))',
  '(assert\(\$_(POST|GET|REQUEST)\[.{0,15}\]\))',
  '(\$[\w_]{0,15}\(\$_(POST|GET|REQUEST)\[.{0,15}\]\))',
  '(wscript\.shell)',
  '(gethostbyname\()',
  '(cmd\.exe)',
  '(shell\.application)',
  '(documents\s+and\s+settings)',
  '(system32)',
  '(serv-u)',
  '(提權(quán))',
  '(phpspy)',
  '(后門)',
  '(webshell)',
  '(Program\s+Files)',
  'www.phpdp.com',
  'phpdp',
  'PHP神盾',
  'decryption',
  'Ca3tie1',
  'GIF89a',
  'IKFBILUvM0VCJD\/APDolOjtW0tgeKAwA',
  '\'e\'\.\'v\'\.\'a\'\.\'l\'',
]

def Scan(path):
  for root,dirs,files in os.walk(path):
    for filespath in files:
      isover = False
      if '.' in filespath:
        ext = filespath[(filespath.rindex('.')+1):]
        if ext=='php' and filespath not in pass_file:
          file= open(os.path.join(root,filespath))
          filestr = file.read()
          file.close()
          for rule in rulelist:
            result = re.compile(rule).findall(filestr)
            if result:
              print '文件:'+os.path.join(root,filespath)
              print '惡意代碼:'+str(result[0])
              print '\n\n'
              sendmail(toaddrs,"增值發(fā)現(xiàn)惡意代碼",'文件:'+os.path.join(root,filespath)+"\n" + '惡意代碼:'+str(result[0]))
              break

try:
  if os.path.lexists("/home/web_root/"):
    print('\n\n開始掃描:'+ "/home/web_root/")
    print('        可疑文件         ')
    print('########################################')
    Scan("/home/web_root/")
    print('提示:掃描完成--~')
  else:
    print '提示:指定的掃描目錄不存在--- '
except IndexError:
  print "請(qǐng)指定掃描文件目錄" 

相關(guān)文章

  • python計(jì)算RPKM操作示例詳解

    python計(jì)算RPKM操作示例詳解

    這篇文章主要為大家介紹了python計(jì)算RPKM操作示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • Python驗(yàn)證的50個(gè)常見正則表達(dá)式

    Python驗(yàn)證的50個(gè)常見正則表達(dá)式

    這篇文章主要給大家介紹了關(guān)于利用Python驗(yàn)證的50個(gè)常見正則表達(dá)式的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • python使用xslt提取網(wǎng)頁(yè)數(shù)據(jù)的方法

    python使用xslt提取網(wǎng)頁(yè)數(shù)據(jù)的方法

    這篇文章主要為大家詳細(xì)介紹了Python使用xslt提取網(wǎng)頁(yè)數(shù)據(jù)的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • python神經(jīng)網(wǎng)絡(luò)Densenet模型復(fù)現(xiàn)詳解

    python神經(jīng)網(wǎng)絡(luò)Densenet模型復(fù)現(xiàn)詳解

    這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)Densenet模型復(fù)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Python 實(shí)現(xiàn)一個(gè)計(jì)時(shí)器

    Python 實(shí)現(xiàn)一個(gè)計(jì)時(shí)器

    這篇文章主要介紹了Python 實(shí)現(xiàn)一個(gè)計(jì)時(shí)器的方法,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • python matplotlib餅狀圖參數(shù)及用法解析

    python matplotlib餅狀圖參數(shù)及用法解析

    這篇文章主要介紹了python matplotlib餅狀圖參數(shù)及用法解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • pycharm如何使用anaconda中的各種包(操作步驟)

    pycharm如何使用anaconda中的各種包(操作步驟)

    這篇文章主要介紹了pycharm如何使用anaconda中的各種包,本文通過操作步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • pytest接口測(cè)試之fixture傳參數(shù)request的使用

    pytest接口測(cè)試之fixture傳參數(shù)request的使用

    本文主要介紹了pytest接口測(cè)試之fixture傳參數(shù)request的使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • pandas or sql計(jì)算前后兩行數(shù)據(jù)間的增值方法

    pandas or sql計(jì)算前后兩行數(shù)據(jù)間的增值方法

    下面小編就為大家分享一篇pandas or sql計(jì)算前后兩行數(shù)據(jù)間的增值方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Pycharm 如何連接遠(yuǎn)程服務(wù)器并debug調(diào)試

    Pycharm 如何連接遠(yuǎn)程服務(wù)器并debug調(diào)試

    本文主要介紹了Pycharm 如何連接遠(yuǎn)程服務(wù)器并debug調(diào)試,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06

最新評(píng)論