国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

利用python編寫簡易POC腳本

這篇具有很好參考價值的文章主要介紹了利用python編寫簡易POC腳本。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

POC:概念證明,即概念驗證(英語:Proof of concept,簡稱POC)是對某些想法的一個較短而不完整的實現(xiàn),以證明其可行性,示范其原理,其目的是為了驗證一些概念或理論。?

聲明:請勿利用文章內(nèi)的相關(guān)技術(shù)從事非法測試,如因此產(chǎn)生的一切不良后果與文章作者和本博客無關(guān)。

????????今天本來在手刷漏洞(太菜了,0day挖不出來,只能撿漏一下大佬挖過的),用Fofa?API調(diào)用的腳本搜集一下最近剛了解到的網(wǎng)絡(luò)設(shè)備漏洞的網(wǎng)站信息,導(dǎo)出后發(fā)現(xiàn)大概600多條。太多了,手刷有點慢,到網(wǎng)上找了一下也沒有發(fā)現(xiàn)此類POC利用的腳本,想了想不如自己寫一個簡易的方便以后操作,編寫完成后想著與大家分享一下編寫思路。(Fofa?API調(diào)用腳本網(wǎng)上有很多大佬寫好的,大家可以自行找一下)

編寫思路

第1步:找爬蟲代碼

隨便找了一個爬蟲代碼

import urllib.request
url = ""                               #請求的URL地址
user_agent = "Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0"
headers = {"User-Agent":user_agent}    #定義了一個名為"user_agent"的變量,其中存儲了一個用戶代理(User-Agent)字符串,用來偽裝成Mozilla Firefox瀏覽器
req = urllib.request.Request(url,headers = headers) #創(chuàng)建一個Request對象
response = urllib.request.urlopen(req)              #發(fā)送請求并獲得響應(yīng)
html = response.read()                              #讀取響應(yīng)內(nèi)容復(fù)制給html
print(html)                                         #打印html

第2步:更改輸出信息

改一下輸出,當成功訪問時,輸出網(wǎng)站地址;如果發(fā)生異常,則會打印異常信息

import urllib.request

url = ""                       #請求的URL地址
user_agent = "Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0"
headers = {"User-Agent": user_agent}
req = urllib.request.Request(url, headers=headers)

try:
    urllib.request.urlopen(req)
    print("成功訪問:"+url)    #訪問成功則打印 請求的URL
except Exception as e:
    print(e)                  #訪問失敗則打印 異常信息

第3步:SSL證書驗證報錯

?當訪問 https?協(xié)議網(wǎng)頁是發(fā)生了報錯:

<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate (_ssl.c:1002)>

這個錯誤是由于SSL證書驗證失敗引起的。在使用 urllib.request.urlopen() 函數(shù)發(fā)送HTTPS請求時,會對服務(wù)器的SSL證書進行驗證,以確保連接的安全性。

更改代碼直接忽略SSL證書驗證(這樣做會降低連接的安全性,需要謹慎使用)

import urllib.request
import ssl
url = ""                    #請求的URL地址
user_agent = "Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0"
headers = {"User-Agent":user_agent}
req = urllib.request.Request(url,headers = headers)
context = ssl._create_unverified_context()
try:
    urllib.request.urlopen(req, context=context)
    print("成功訪問:"+ url)
except Exception as e:
    print(e)

第4步:讀取文件中的URL

因為此時還是需要手動向代碼內(nèi)添加請求URL,所以我們利用循環(huán)語句讀取文件內(nèi)的URL來進行判斷(代碼中文件名為 urls.txt ,可以根據(jù)需要自己更改)

import urllib.request
import ssl

user_agent = "Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0"
headers = {"User-Agent": user_agent}
context = ssl._create_unverified_context()

# 從txt文件中讀取url列表
with open("urls.txt", "r") as file:
    urls = file.readlines()

# 使用for循環(huán)遍歷url列表
for url in urls:
    url = url.strip()  # 去除每行url中的換行符和空白字符
    req = urllib.request.Request(url, headers=headers)
    try:
        urllib.request.urlopen(req, context=context)
        print("成功訪問:" + url)
    except Exception as e:
        print(e)

第5步:文件目錄和參數(shù)信息可控

在利用漏洞進行測試時,我們需要根據(jù)不同的漏洞自行輸入不同的 文件目錄?和?參數(shù)信息,所以我們需要可控的函數(shù)進行傳參(parsed_url[2]和parsed_url[4]分別為文件目錄和參數(shù)信息傳參位置

urlparse() 函數(shù)是Python標準庫中 urllib.parse 模塊提供的一個函數(shù),用于解析URL字符串并返回一個包含URL各個部分的命名元組。

????????URL(Uniform Resource Locator)是用于標識互聯(lián)網(wǎng)上資源位置的字符串。例如,https://example.com/index.html 就是一個URL。它由多個部分組成,包括協(xié)議(scheme)、網(wǎng)絡(luò)位置(netloc)、路徑(path)、查詢參數(shù)(query)、片段(fragment)等。

quote() 函數(shù)是Python標準庫中 urllib.parse 模塊提供的一個函數(shù),用于將字符串進行URL編碼。該函數(shù)將字符串中的特殊字符轉(zhuǎn)換為它們的十六進制表示,以便它們可以安全地在URL中傳輸。

import urllib.request
import ssl
from urllib.parse import urlparse, quote

user_agent = "Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0"
headers = {"User-Agent": user_agent}
context = ssl._create_unverified_context()

# 從txt文件中讀取url列表
with open("1.txt", "r") as file:
    urls = file.readlines()

# 使用for循環(huán)遍歷url列表
for url in urls:
    url = url.strip()  # 去除每行url中的換行符和空白字符
    parsed_url = list(urlparse(url))  # 將元組對象轉(zhuǎn)換成列表
    parsed_url[2] += ""  # 將字符串添加到path屬性上
    parsed_url[4] = ""  # 修改查詢參數(shù)部分的值
    encoded_path = quote(parsed_url[2])  # 對路徑部分進行編碼
    encoded_query = quote(parsed_url[4])  # 對查詢參數(shù)部分進行編碼
    final_url = f"{parsed_url[0]}://{parsed_url[1]}{encoded_path}?{encoded_query}"  # 拼接編碼后的URL
    req = urllib.request.Request(final_url, headers=headers)
    try:
        urllib.request.urlopen(req, context=context)
        print("成功訪問:" + final_url)
    except Exception as e:
        print(e)

第6步:自動添加協(xié)議頭

????????在運行過程中產(chǎn)生了報錯(因為報錯涉及隱私信息就不做展示了),此錯誤是因為在創(chuàng)建 urllib.request.Request 對象時,報告了一個位置的URL類型。通過對錯誤信息查看發(fā)現(xiàn)缺少了協(xié)議部分,這是由于URL字符串格式不正確導(dǎo)致的,查看后發(fā)現(xiàn)導(dǎo)出到?txt?文件中的網(wǎng)站信息存在部分沒有協(xié)議。

對url進行判斷,如果有用協(xié)議部分,自動添加http協(xié)議頭

import urllib.request
import ssl
from urllib.parse import urlparse, quote

user_agent = "Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0"
headers = {"User-Agent": user_agent}
context = ssl._create_unverified_context()

# 從txt文件中讀取url列表
with open("1.txt", "r") as file:
    urls = file.readlines()

# 使用for循環(huán)遍歷url列表
for url in urls:
    url = url.strip()  # 去除每行url中的換行符和空白字符
    parsed_url = list(urlparse(url))  # 將元組對象轉(zhuǎn)換成列表
    if not parsed_url[0]:  # 如果協(xié)議部分為空字符串,則手動添加默認協(xié)議
        parsed_url[0] = "http"
    parsed_url[2] += ""  # 將字符串添加到path屬性上
    parsed_url[4] = ""  # 修改查詢參數(shù)部分的值
    encoded_path = quote(parsed_url[2])  # 對路徑部分進行編碼
    encoded_query = quote(parsed_url[4])  # 對查詢參數(shù)部分進行編碼
    final_url = f"{parsed_url[0]}://{parsed_url[1]}{encoded_path}?{encoded_query}"  # 拼接編碼后的URL
    req = urllib.request.Request(final_url, headers=headers)
    try:
        urllib.request.urlopen(req, context=context)
        print("成功訪問:" + final_url)
    except Exception as e:
        print(e)

????????此時一個網(wǎng)絡(luò)設(shè)備漏洞利用的簡易POC就編寫完成了,parsed_url[2]和parsed_url[4]分別為文件目錄和參數(shù)信息傳參位置文章來源地址http://www.zghlxwxcb.cn/news/detail-831594.html

到了這里,關(guān)于利用python編寫簡易POC腳本的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • CVE-2022-30190分析以及復(fù)現(xiàn)和POC利用 //Microsoft Office MSDT 遠程代碼執(zhí)行漏洞

    CVE-2022-30190分析以及復(fù)現(xiàn)和POC利用 //Microsoft Office MSDT 遠程代碼執(zhí)行漏洞

    在微軟官方的介紹里,是從 Word 等調(diào)用應(yīng)用程序使用 URL 協(xié)議調(diào)用 MSDT 時存在遠程執(zhí)行代碼漏洞。成功利用此漏洞的攻擊者可以使用調(diào)用應(yīng)用程序的權(quán)限運行任意代碼。 意思是惡意 Word 文檔可以使用遠程模板功能從遠程服務(wù)器獲取 HTML 文件,并且 HTML 代碼可以使用 Microsoft 的

    2024年02月04日
    瀏覽(69)
  • Full-Scanner是一個多功能掃描工具,支持被動/主動信息收集,漏洞掃描工具聯(lián)動,可導(dǎo)入POC和EXP

    Full-Scanner是一個多功能掃描工具,支持被動/主動信息收集,漏洞掃描工具聯(lián)動,可導(dǎo)入POC和EXP

    github項目地址:https://github.com/Zhao-sai-sai/Full-Scanner gitee項目地址:https://gitee.com/wZass/Full-Scanner 做挖漏洞滲透測試有的時候要去用這個工具那個工具去找感覺麻煩我自己就寫了一個簡單的整合工具,有互聯(lián)網(wǎng)大佬不要噴我,我也是廢物 Full-Scanner是一個多功能掃描工具,支持被動

    2024年02月06日
    瀏覽(36)
  • 紅隊版goby-poc,包含447個自定義goby-poc

    紅隊版goby-poc,包含447個自定義goby-poc

    下載地址:https://github.com/MY0723/goby-poc 下載有用的話給GitHub點個關(guān)注?star謝謝嘍??!! 包含447個自定義goby-poc,可能會有個別重復(fù)自行判斷,來源于網(wǎng)絡(luò)收集的GobyPOC,實時更新。 如果無紅隊版,可直接poc管理處導(dǎo)入自定義poc即可,共計745個。 本程序僅供于學習交流,請使用者遵

    2024年02月11日
    瀏覽(15)
  • POC_Jenkins

    POC_Jenkins

    Jenkins是一個開源軟件項目,是基于Java開發(fā)的一種持續(xù)集成工具,用于監(jiān)控持續(xù)重復(fù)的工作,旨在提供一個開放易用的軟件平臺,使軟件項目可以進行持續(xù)集成,Jenkins用Java語言編寫,可在Tomcat等流行的servlet容器中運行,也可獨立運行。通常與版本管理工具(SCM)、構(gòu)建工具結(jié)合

    2024年02月06日
    瀏覽(14)
  • ChatGPT寫POC,拿下漏洞!

    ChatGPT寫POC,拿下漏洞!

    ChatGPT(Chat Generative Pre-trained Transformer)是當今備受矚目的智能AI聊天機器人之一。它不僅能夠?qū)崿F(xiàn)基本的語言交流,還具備許多強大的功能,例如文章撰寫、代碼腳本編寫、翻譯等等。那么我們是否可以利用 ChatGpt 去輔助我們完成一些工作呢?比如當一個產(chǎn)品存在安全風險需

    2023年04月22日
    瀏覽(21)
  • 漏洞檢測之POC的學習

    最近剛接觸POC,淺淺記錄一下吧(持續(xù)更新) 根據(jù)個人理解以及網(wǎng)上的相關(guān)資料整合,POC是一段不完整的、用于檢驗?zāi)繕酥鳈C是否存在相應(yīng)漏洞的代碼程序,它具備隨機性——參數(shù)隨機(有時候可以不隨機)、通用性——要對一樣組件的網(wǎng)站都成立,不能是針對個別網(wǎng)站、確定

    2024年02月11日
    瀏覽(15)
  • 利用Python編寫一個AI腳本自動控制2048網(wǎng)頁小游戲

    利用Python編寫一個AI腳本自動控制2048網(wǎng)頁小游戲

    本文將使用python+selenium自動控制游戲運行。當然采用的是偽隨機數(shù)進行鍵盤控制。只作為一個拋磚迎玉的參考,不涉及專業(yè)算法。 – pip install win32gui pip install PyUserInput pip install PyKeyboard pip install selenium(注意要配合相應(yīng)的webdriver驅(qū)動使用,webdriver的安裝下載請自行到網(wǎng)上搜索學

    2023年04月08日
    瀏覽(28)
  • Apache POC(對Excel文件操作)

    Apache POI 是一個處理Miscrosoft Office各種文件格式的開源項目,我們可以使用POI在java程序中對Miscrosoft Office各種文件進行讀寫操作 一般情況下,POI都是用于操作Excel文件。 Test讀取測試

    2024年02月07日
    瀏覽(21)
  • 致遠OA文件上傳漏洞(含批量檢測POC)

    致遠OA文件上傳漏洞(含批量檢測POC)

    文章內(nèi)容僅供學習參考請勿用于非法用途 漏洞描述 漏洞影響 致遠OA A6、A8、A8N (V8.0SP2,V8.1,V8.1SP1) 致遠OA G6、G6N (V8.1、V8.1SP1) 網(wǎng)絡(luò)測繪 app=“致遠互聯(lián)-OA” title=“V8.0SP2” 批量檢測POC 漏洞描述 致遠OA是一套辦公協(xié)同管理軟件。近日,奇安信CERT監(jiān)測到致遠OA的相關(guān)漏洞信息。由

    2024年02月08日
    瀏覽(21)
  • 2023-05-25 最近的一個客戶POC的反思

    最近在遇到一個客戶的POC的問題,其中經(jīng)歷諸多有意思的事情, 有必要記錄一下,以作為后續(xù)創(chuàng)業(yè)所要避免的地方。 查詢SQL中, 存在給查詢到的列屬性賦值的情況 給屬性的賦值的數(shù)據(jù)類型,和列屬性的數(shù)據(jù)類型,不匹配,比如給整形的屬性賦值字符串 在所做的項目中,數(shù)據(jù)庫

    2024年02月07日
    瀏覽(42)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包