當我們做多**的滲透測試時,會發現很多站點採用的都是同型別的cms框架,只要我們發現乙個漏洞,那麼我們可以批量處理這一類站點,高效測試,如果不知道該站點的框架時,也可以使用此指令碼盲測。
具體實現**如下
: #開啟檢測的檔案
with
open
(file_name ,status)
as f:
if status ==
"r":
url_list = f.
readlines()
return url_list
else
: f.
write
(url)
f.write
("\n"
(url_list)
def deal_url
(url_list)
: #拼接特定目錄
deal_url =
for url in url_list:
url = url.
strip()
url +=
"/www.rar" #輸入檢測的特定目錄
deal_url.
(url)
return deal_url
async def request_url
(url)
: #發起請求
as resp1: ###aiohttp模組中clientsession方法,這兩句方法最穩妥,也有session=aiohttp.
clientsession()
,resp=session.
get(item[
'image_url'])
,但是可能會報錯,如果不報錯,可以使用這種方法,報錯就使用上面的**
as resp2: ###aiohttp模組中clientsession方法,這兩句方法最穩妥,也有session=aiohttp.
clientsession()
,resp=session.
get(item[
'image_url'])
,但是可能會報錯,如果不報錯,可以使用這種方法,報錯就使用上面的**
if resp2.status ==
200:
open_file
("test_v.txt"
,"a"
, url)
except exception as e:
(e)def main()
: url_list =
open_file
("test.txt"
,"r"
) #待檢測的網域名稱檔案
tasks =
[asyncio.
ensure_future
(request_url
(url)
)for url in
deal_url
(url_list)
] # 開啟協程多工佇列,該語句是列表推導式,列表的簡寫,與上面兩句等效,但是該句是利用協程,多個佇列一起進行
loop = asyncio.
get_event_loop()
loop.
run_until_complete
(asyncio.
wait
(tasks)
) # 將任務註冊到事件迴圈,並啟動任務
if __name__ ==
'__main__'
: s = time.
time()
main()
(time.
time()
- s)小結:這個非同步執行,時間還不是很快,後期學習了其它方法,進一步完善。
python3 提取主網域名稱
一瓶水,兩包豆奶,乙個破站 一天。又是徘徊在 之間的一天。閒的很,這是我未完成的某個工具其中乙個函式。import re defgetwant url rewant re.compile a za z d rewant.findall url 這是阿里雲網域名稱字尾大全 我排除了一些太不常見的和中文...
python3實現DNS網域名稱輪循業務監控
大部分的dns解析都是乙個網域名稱對應乙個ip位址,但是通過dns輪循技術可以做到乙個網域名稱對應多個ip,從而實現最簡單且高效的負載平衡,不過此方案最大的弊端是目標主機不可用時無法被自動剔除,因此做好業務主機的服務可用監控至關重要。本示例通過分析當前網域名稱的解析ip,再結合服務埠探測來實現自動監...
python3 實現多執行緒ssh 批量遠端執行命令
需要模組 paramiko pip3 install paramikoimport paramiko import sys import getpass def rcmd host,password,cmd,port 22,username root ssh paramiko.sshclient s...