python 掃瞄備份檔案以及原始碼洩露

2021-08-19 08:09:30 字數 1551 閱讀 2195

靈感來自於某個小哥在群裡閒聊的時候,談及自己一起提交過乙個知名**分站的原始碼洩露,並且收益不菲,我當時一愣,沒想到原始碼洩露這個漏洞還能賺不少積分,於是研究一番後,決定寫乙個專門掃瞄**重點敏感資訊洩漏的軟體,這個軟體的功能包括這三點。

掃瞄備份檔案

掃瞄svn/git原始碼洩漏

掃瞄webinfo頁面資訊洩漏

雖然只是三點簡單的功能,但是拆開後來說,涉及到的知識點有點雜。所以寫此文章,作為筆記,希望各位朋友指點一二。

先分析功能的第一點,掃瞄備份檔案。首先想到的是蒐集一些備份檔案的字典,然後拼接,最後訪問驗證。但是根據我的經驗,有很多很多**的備份檔案命名方式都是以該**的網域名稱作為檔名。舉個例子,wwwlangzi.fun這個**,根目錄下有個備份檔案,備份檔案的名稱是langzi.rar,這樣的話字典沒辦法掃瞄到,所以需要在程式中實現,比如先切割網域名稱,然後加上.bak,.rar,.zip,.tar.gz等等組合成新的備份檔案路徑,舉個現實中的例子。

這樣會大大的增加掃瞄成功率,並且備份檔案的字典都是我精心挑選出來的,掃瞄率也是非常高的,舉個例子。

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-c8fbgqgt-1614078776250)(

關於svn,git原始碼洩漏的危害都是比較大的,提交上去平台不會不管,所以還是有掃瞄的價值,至於webinfo我個人覺得無關緊要,不過為了不錯過,於是順手加上去了。

為什麼不用多執行緒呢?答案是慢,由於gil的存在,每次只能存在乙個執行緒,多執行緒的原理是某個執行緒在等待的時候,另乙個執行緒啟動。對於哪些存在網路等待或者延遲等待的軟體來說使用多執行緒可以,但是這個掃瞄器追求的是最高的速度。在傳送大量的網路請求前提下,使用程序池往往速度優於多執行緒。

乙個兩個**請求或許會很快,但是如果大量的**請求的時候可能就會網路堵塞了,因為要掃瞄備份檔案,總所周知備份檔案基本上都大於1m,所以我們可以使用head頭部請求方式來驗證備份檔案是否存在並且判斷備份檔案的大小。head請求方式速度遠遠快於get請求方式,並且還可以根據返回的頭部資訊判斷大小。

返回的頭部資訊裡content-length對應的是**的內容大小,所以基於這一點掃瞄備份檔案的速度就大大提高了。至於切割網域名稱作為字典名很好理解,只要在**上 + 『/』 + urlx.split(".",2)[1]然後再去拼接常見字尾即可。

作為乙個主動化的掃瞄工具,需要主動採集幾百幾千幾萬個**,儲存在當前目錄下的url.txt文字當中,然後啟動程式,設定程序數量。程式開始啟動掃瞄,成功的結果自動儲存在當前目錄。

首先用採集器隨機採集一批**,然後開始掃瞄。

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-gxa2msdx-1614078776251)(

很快就掃瞄到了好幾個備份檔案和資訊洩露。

Python 備份檔案,以及備份大檔案

今天分享乙個很有用的小 就是關於檔案的備份 import os 匯入os模組 ori file name r e python mayday.輸入檔案路徑 if os.path.isfile ori file name 判斷該路徑的是否是檔案 擷取檔名,重組檔名 seek num ori file ...

python 備份檔案指令碼

usr bin env python filename backup ver1.pyimport os import time source r d python test r d python test1 target dir d python test2 remember to change t...

Python實現備份檔案例項

該例項主要實現讀取乙個任務檔案,根據指定的任務引數自動備份.任務檔案的格式 注意,分號後面注釋是不支援的 task 一項任務開始 dir h project 指定備份的目錄 recusive 1 是否遞迴子目錄 suffix h cpp hpp c user filters vcxproj sln ...