• 當前位置:首頁 > IT技術 > Web編程 > 正文

    web安全之自己寫一個掃描器
    2022-03-06 18:01:25

    web安全之自己寫一個掃描器

      自己來寫一個簡單的目錄掃描器,了解掃描器的運轉機制和原理,因為python寫腳本比較容易所以用python寫一個網站目錄掃描器。

    第一步:我們需要導入所需要的庫

    ?

    1 import threading
    2 import argparse
    3 import requests
    4 import linecache

    ?

    第二步:定義一些循環變量和字典,方便多進程使用

    number_c=0
    dir = open("dicc.txt", "r", encoding="UTF-8")
    len = len(dir.readlines())
    print("二十個線程--開始運行......")

    第三步:編寫class,導入網頁url和線程的

    1 class dirscan:
    2     def __init__(self,url):
    3         self.url = url

    第四步:請求,返回狀態嗎為200的打印出來

     1 def run(self):
     2     global number_c
     3     global len
     4     while number_c<len:
     5         number_c += 1
     6         i = linecache.getline(r'dicc.txt',number_c)
     7         self.lurl = self.url+i
     8         html_result = requests.get(self.lurl)
     9         if (html_result.status_code == 200):
    10             print("存在",self.lurl)

    第五步:使用命令行獲取網站url,并開始多線程掃描

     1 if __name__ == '__main__':
     2     parser = argparse.ArgumentParser()
     3     parser.add_argument('url')  # add_argument()指定程序可以接受的命令行選項
     4     args = parser.parse_args()  # parse_args()從指定的選項中返回一些數據
     5     vehicles = []
     6     for num in range(20):  # 設置線程
     7         scan = dirscan(args.url)
     8         vehicle = threading.Thread(target=scan.run,)  # 新建線程
     9         vehicles.append(vehicle)
    10     for vehicle in vehicles:
    11         vehicle.start()  # 分別啟動線程
    12     for vehicle in vehicles:
    13         vehicle.join()  # 分別檢查結束線程
    14     print("運行結束")

    ?

    成品展示

    ?

    ?

    ?

    第一次寫掃描器,技術很菜,還請師傅們多多指教

    ?

    本文摘自 :https://www.cnblogs.com/

    開通會員,享受整站包年服務
    国产呦精品一区二区三区网站|久久www免费人咸|精品无码人妻一区二区|久99久热只有精品国产15|中文字幕亚洲无线码