瀧羽sec學習打卡-brupsuite7搭建IP炮臺

聲明
學習視頻來自B站UP主 瀧羽sec,如涉及侵權馬上刪除文章 筆記的只是方便各位師傅學習知識,以下網站只涉及學習內容,其他的都
與本人無關,切莫逾越法律紅線,否則后果自負


關于brupsuite的那些事兒-Brup-IP炮臺搭建

    • 搭建炮臺
    • 服務端安裝zmap
      • 1、更新系統和安裝基礎依賴:使?包管理?具(如apt-get)更新系統并安裝必要的基礎依賴。例如,在Ubuntu上
      • 2、安裝了一系列用于開發和構建軟件的工具和庫
      • 3、克隆zmap項目倉庫,從GitHub克隆ZMap項目的源代碼到本地。
      • 4、編譯和安裝ZMap,進?ZMap?錄后,執?以下命令來編譯和安裝Zmap。
      • 5、驗證zamp安裝是否成功
      • 6、使用zamp全網爬取ip地址
      • 7、對zmap下來的代理ip進行初次篩選
        • 初次篩選ip的腳本
      • 8、子彈有效化
    • 安裝Brup插件
      • 1、在burp中載入jython包
      • 2、添加自動化處理插件程序
      • 3、接下來就是和驗證碼爆破時同樣的操作了,也就沒啥好說的了
      • 4、同理,可以在攻擊列表中查看是否存在sql輸入,這個取決了字典的強大了
      • 5、本次的目的主要時代理ip池子,那么我們看看是不是每一個段都的請求都是用不同的ip地址發送的請求即可
    • 實踐是檢驗真理的唯一標準


搭建炮臺

首先這個有兩種方式可以進行實現Brip炮臺
這里我就用自己的云服務器進行實戰,沒有云服務器的哥們可以用kail安裝進行實驗,本質是一樣的

服務端安裝zmap

kail安裝

sudo apt update

在這里插入圖片描述

然后下載zamp

sudo apt install zmap

在這里插入圖片描述

我用的自己的云服務器,學習還是用kail好一些哈

1、更新系統和安裝基礎依賴:使?包管理?具(如apt-get)更新系統并安裝必要的基礎依賴。例如,在Ubuntu上

sudo apt-get update

在這里插入圖片描述

2、安裝了一系列用于開發和構建軟件的工具和庫

sudo apt-get install -y build-essential cmake libgmp3-dev gengetopt libpcap-dev flex byacc
libjson-c-dev pkg-config libunistring-dev

在這里插入圖片描述

3、克隆zmap項目倉庫,從GitHub克隆ZMap項目的源代碼到本地。

git clone https://github.com/zmap/zmap.git

4、編譯和安裝ZMap,進?ZMap?錄后,執?以下命令來編譯和安裝Zmap。

cd zmap
mkdir build
cd build
cmake ..這個命令用于生成構建系統。cmake 是一個工具,它根據項目中的 CMakeLists.txt 文件生成適合當前系統的構建配置文件(如 Makefile)。.. 表示在當前目錄的上一級目錄中查找CMakeLists.txt 文件。
make這個命令用于編譯項目。make 是一個工具,它根據上一步生成的 Makefile 文件來編譯源代碼,生成可執行文件或庫文件。sudo make install這個命令用于安裝編譯好的軟件。make install 是 make 的一個目標,它將編譯好的程序安裝到系統的標準目錄中,如 /usr/local/bin。sudo 是因為安裝軟件通常需要管理員權限,所以使用 sudo 來執行這個命令。

5、驗證zamp安裝是否成功

zmap --version

在這里插入圖片描述
在這里插入圖片描述
云服務的安裝就這里,這里我先聲明,本次學習用于實驗,出現問題,與本人無關。這里我還是建議大家用kail,虛擬環境練練手即可

6、使用zamp全網爬取ip地址

這里可以掃描幾十萬條數據
如果你想要掃描多個不連續的端口,你需要為每個端口或每個端口范圍分別指定 -p 參數。

zmap -p 80 -o raw_ips.txt

如果你想要掃描一系列連續的端口,比如從80到443

這里注意哈,不能使用逗號,zmap沒有這個格式哈,-短橫線也沒有這個格式化,zmap只支持

7、對zmap下來的代理ip進行初次篩選

使?多線程優化了驗證效率,使?多個驗證URL提?可?性,兩種腳本進行篩選,首先是80端口進行添加端口,其次是存在80和443端口的進行添加,然后我們需要替換為:冒號
1、·一種就是只掃了80端口的,需要用add_port_to_ips函數添加端口
2、還有一種就是掃了80,443端口的有端口號但是中間是 , (逗號)需要用到replace_comma_with_colon函數進行替
換。

這里想必不用我多說了吧,都懂的,用kail哈

初次篩選ip的腳本
import requests
from concurrent.futures import ThreadPoolExecutor, as_completed
import threading
# 指定輸入和輸出文件路徑
raw_input_file = 'raw_ips.txt' # 原始包含逗號的IP文件
processed_output_file = 'ip.txt' # 字符處理后的IP文件
available_proxy_file_path = 'InProxyPool.txt' # 可用代理輸出文件
# 多個驗證URL,包含國內和國外常見網站,用于更嚴格地驗證代理IP是否可用
test_urls = [
'http://www.baidu.com',
'http://www.jd.com/',
'http://www.taobao.com/'
]
# 線程鎖
lock = threading.Lock()
# 標記是否是第一次寫入可用代理文件,初始化為True表示第一次
first_write = True
def replace_comma_with_colon(raw_input_file, output_file):
"""
替換文件中逗號為冒號,并保存到新文件。
"""
with open(raw_input_file, 'r') as file:
lines = file.readlines()
# 替換逗號為冒號
modified_lines = [line.replace(',', ':').strip() for line in lines]
# 寫入新的文件,'w'模式會自動清空原有內容再寫入
with open(output_file, 'w') as file:
for line in modified_lines:
file.write(line + '\n')
print(f"IP格式處理完成,結果已保存到 {output_file}")
# IP添加:端口號
def add_port_to_ips(input_file_path, output_file_path, port=80):
try:
with open(input_file_path, 'r') as infile, open(output_file_path, 'w') as outfile:
for line in infile:
ip = line.strip() # 去除每行的空白字符(如換行符等)
new_ip = f"{ip}:{port}"
outfile.write(new_ip + "\n")
except FileNotFoundError:
print(f"輸入文件 {input_file_path} 不存在,請檢查文件路徑。")
驗證之后形成第?代理池,但是?到?標?站還是會有許多其他的狀態碼,不能訪問的錯誤,所以我們針對
?標指定?站再進?篩選
def test_proxy(proxy):
"""
測試單個代理IP是否可用,通過多個URL驗證,只有全部驗證通過才認定可用,并實時寫入文件。
"""
global first_write
proxy = proxy.strip() # 移除行尾的換行符
if not proxy: # 跳過空行
return None
# 設置代理
proxies_dict = {
'http': f'http://{proxy}',
'https': f'https://{proxy}'
}
is_available = True
for url in test_urls:
try:
# 發送請求,設置超時時間為5秒
response = requests.get(url, proxies=proxies_dict, timeout=5)
if response.status_code!= 200:
is_available = False
break
except requests.RequestException as e:
is_available = False
break
if is_available:
print(f'代理IP {proxy} 可用')
with lock:
# 根據是否第一次寫入來決定文件打開模式
mode = 'w' if first_write else 'a'
with open(available_proxy_file_path, mode) as file:
file.write(f'{proxy}\n')
if first_write:
first_write = False # 第一次寫入后標記設為False
return proxy
else:
print(f'代理IP {proxy} 不可用')
return None
def main():
# 第一步:處理IP文件
# replace_comma_with_colon(raw_input_file, processed_output_file)
add_port_to_ips(raw_input_file,processed_output_file)
# 第二步:讀取替換后的IP文件,驗證代理IP
with open(processed_output_file, 'r') as file:
proxies = file.readlines()
# 使用ThreadPoolExecutor并發執行
with ThreadPoolExecutor(max_workers=20) as executor:
future_to_proxy = {executor.submit(test_proxy, proxy): proxy for proxy in proxies}
for future in as_completed(future_to_proxy):
proxy = future_to_proxy[future]
try:
future.result() # 觸發驗證邏輯
except Exception as e:
print(f'代理IP {proxy} 驗證過程中出現錯誤: {e}')
print(f"\n代理驗證完成,可用代理IP已寫入文件: {available_proxy_file_path}")
if __name__ == "__main__":
main()

驗證之后形成第?代理池,但是?到?標?站還是會有許多其他的狀態碼,不能訪問的錯誤,所以我們針對?標指定?站再進?篩選

8、子彈有效化

使?這個腳本指定?標?站為驗證?站,還可以指定Response數據包的?度,來決定確實是正常訪問。篩選有效和無效的ip

import requests
from concurrent.futures import ThreadPoolExecutor, as_completed
import threading
# 最小響應包長度
MIN_LENGTH = 100
# 最大線程數
MAX_WORKERS = 100
# 輸出文件路徑
OUTPUT_FILE_PATH = 'FProxies.txt'
# 輸入文件路徑
input_file_path = 'InProxyPool.txt'
def check_proxy(proxy):
"""驗證代理網址"""
test_url = "http://www.google.com"
proxies = {"http": f"http://{proxy}", "https": f"http://{proxy}"}
try:
response = requests.get(test_url, proxies=proxies, timeout=2)
if response.status_code == 200 and len(response.content) >= MIN_LENGTH:
return proxy # 返回可用代理
except Exception:
pass
return None # 無效代理
def validate_proxy(proxy, lock):
"""驗證單個代理并寫入文件"""
valid_proxy = check_proxy(proxy)
if valid_proxy:
with lock:
with open(OUTPUT_FILE_PATH, 'a') as outfile:
outfile.write(f"{valid_proxy}\n")
print(f"有效代理: {valid_proxy}")
else:
print(f"無效代理: {proxy}")
def validate_proxies_from_file(input_file_path):
"""從文件中讀取代理并驗證其有效性,同時將有效代理輸出到另一個文件"""
lock = threading.Lock()
with open(input_file_path, 'r') as infile:
proxies = [line.strip() for line in infile]
with ThreadPoolExecutor(max_workers=MAX_WORKERS) as executor:
futures = [executor.submit(validate_proxy, proxy, lock) for proxy in proxies]
for future in as_completed(futures):
future.result() # 等待所有任務完成
validate_proxies_from_file(input_file_path)

這里咱們的字典文件就篩選準備好了,下面開始bripsuite使用
在這里插入圖片描述
咱就是說這種腳本都讓gpt寫好吧
在這里插入圖片描述
主打一個不動手。

安裝Brup插件

1、在burp中載入jython包

在這里插入圖片描述

2、添加自動化處理插件程序

在這里插入圖片描述
之后會出現一個 Proxy Switcher 選項,那就是插件了
注意點:這里指定路徑記得時字典的txt的url路徑哈

先輸入路徑(主要文件中的數據需要是每行ip:port的形式否則解釋失敗),然后加載,最后啟用,在后面有每
次請求代理 1 就是請求一次換一個,后面還有HTTP、SOCKS5 協議

3、接下來就是和驗證碼爆破時同樣的操作了,也就沒啥好說的了

設置一個payloads,用來加載一些基本的sql注入測試字典即可

在這里插入圖片描述
在這里插入圖片描述

4、同理,可以在攻擊列表中查看是否存在sql輸入,這個取決了字典的強大了

在這里插入圖片描述

5、本次的目的主要時代理ip池子,那么我們看看是不是每一個段都的請求都是用不同的ip地址發送的請求即可

在這里插入圖片描述
這里因為用的zmap掃描的ip,其實很多zmap掃描的地址都是不能訪問國內的網站的哈,都懂,除非指定地區,那么掃描的ip就大部分應該可以通過py腳本檢測。總之,思路就是zmap獲取一些ip,使用兩次py或者多個腳本進行多次篩選,最終獲得可以用的ip字典(也就是IP代理池了),但是這個有局限性,真正的代理池是不端發生ip代理變化且全自動化獲取的哈
下期分析偽造ip,也就是假ip,但是呢,還是真實ip有用且必須自動變化

實踐是檢驗真理的唯一標準

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/63258.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/63258.shtml
英文地址,請注明出處:http://en.pswp.cn/web/63258.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

赫布定律 | 機器學習 / 反向傳播 / 經驗 / 習慣

注:本文為 “赫布定律” 相關文章合輯。 未整理。 赫布定律 Hebb‘s law 馥墨軒 2021 年 03 月 13 日 00:03 1 赫布集合的基本定義 唐納德?赫布(Donald Hebb)在 1949 年出版了《行為的組織》(The Organization of Behavior&a…

各個數據庫優劣勢對比

1.關系型數據庫(RDBMS) 優勢: ? 數據一致性:通過嚴格的事務處理和ACID(原子性、一致性、隔離性、持久性)特性,確保數據的一致性和完整性。 ? 易于理解和使用:關系型數據庫的表結構…

Excel中如何消除“長短款”

函數微調可以可以實施,簡單且易于操作的氣球🎈漲縮更妙。 (筆記模板由python腳本于2024年12月17日 06:19:13創建,本篇筆記適合用Excel操作數據的coder翻閱) 【學習的細節是歡悅的歷程】 Python 官網:https://www.python.org/ Fre…

Jdk1.7到Jdk1.8 HashMap 發生了什么變化(底層)

從JDK 1.7到JDK 1.8,HashMap在底層實現上發生了顯著的變化, 主要體現在數據結構、鏈表插入方式、哈希算法、擴容機制以及并發性方面。 以下是具體的變化點: 1. 數據結構的變化 JDK 1.7:HashMap的底層數據結構是數組單向鏈表。…

RJ45 網線線序、E1線線序、2B+d線序

1、RJ45 網線線序 線序排列如下: T568A線序:綠白—1,綠—2,橙白—3,藍—4,藍白—5, 橙—6,棕白—7,棕—8 T568B線序:橙白—1,橙—2&#xff0c…

FreeBSD安裝教程

FreeBSD 是一個功能強大且可靠的開源 UNIX 操作系統,適合服務器和桌面環境。本文將介紹如何安裝 FreeBSD,從系統準備到基礎設置,為你快速上手提供幫助。 一、準備工作 1. 硬件要求 CPU:支持 x86 或 AMD64 架構的處理器。 內存&a…

Fortify_SCA_v24.2.0

前言 Fortify SCA 支持豐富的開發環境、語言、平臺和框架,可對開發與生產混合環境進行安全檢查。25 種編程語言 超過 911,000 個組件級 API 可檢測超過 961 個漏洞類別 支持所有主流平臺、構建環境和 IDE。 Fortify SCA是一款商業軟件,價格較為昂貴&am…

MyBatis框架的入門

目錄 MyBatis第一章:框架的概述1. MyBatis框架的概述 第二章:MyBatis的入門程序1. 創建數據庫和表結構2. MyBatis的入門步驟 MyBatis 第一章:框架的概述 1. MyBatis框架的概述 MyBatis是一個優秀的基于Java的持久層框架,內部對…

rust的axux框架開啟負載均衡和重啟自身的方法-會議簽到的調優

開啟負載均衡和重啟自身 更換axum后臺的意外解決的嘗試在caddy反代,使用負載均衡,加多一個節點axum主程序 ip映射信息做全局共享axum重啟自身刷新全局共享配置 前期剛實現了rust的后臺關鍵業務.結果出現了兩類大問題停止服務.在正用著的時候,出現很多意外,真是刺激… 更換axum…

深入理解數據庫索引:原理、分類與優化

目錄 1. 索引基礎1.1 索引的工作原理 2. 最左匹配原則2.1 什么是最左匹配原則?2.2 示例說明2.3 最左匹配原則的圖示 3. 索引分類3.1 按數據結構分類3.2 按索引列數分類3.3 按唯一性分類3.4 按存儲方式分類 4. 聚集索引與非聚集索引的區別4.1 聚集索引4.2 非聚集索引…

Three.js相機Camera控件知識梳理

原文:https://juejin.cn/post/7231089453695238204?searchId20241217193043D32C9115C2057FE3AD64 1. 相機類型 Three.js 主要提供了兩種類型的相機:正交相機(OrthographicCamera)和透視相機(PerspectiveCamera&…

Bernstein-type inequality (BTI)

參見論文: Dual-Functional Artificial Noise (DFAN) Aided Robust Covert Communications in Integrated Sensing and Communications 理論 \boxed{} ?用于加框 Lemma 2. (BTI): For any A ∈ C N N \mathbf{A} \in\mathbb{C}^{N\times N} A∈CNN, b ∈ C N …

一條線上的點

給你一個數組 points &#xff0c;其中 points[i] [xi, yi] 表示 X-Y 平面上的一個點。求最多有多少個點在同一條直線上。 提示&#xff1a; 1 < points.length < 300points[i].length 2-104 < xi, yi < 104points 中的所有點 互不相同 解析&#xff1a;使用斜…

XX服務器上的npm不知道咋突然壞了

收到同事的V&#xff0c;說是&#xff1a;182上的npm不知道咋突然壞了&#xff0c;查到這里了&#xff0c;不敢動了。 咱一定要抓重點&#xff1a;突然壞了。這里的突然肯定不是瞬間&#xff08;大概率是上次可用&#xff0c;這次不可用&#xff0c;中間間隔了多長時間&#x…

GNSS定位局限性與綜合PNT及5G定位技術研究

摘要 本文主要介紹了GNSS定位技術的系統組成與原理、發展歷程、應用領域及現狀&#xff0c;并分析了其存在的局限性&#xff0c;如信號遮擋、多路徑效應、大氣層干擾等。文章還探討了綜合PNT技術的體系架構、多源信息融合方法以及智能化算法在PNT中的應用&#xff0c;強調了綜…

/hbase/oldWALs 文件

/hbase/oldWALs 是 HBase 中的一個目錄&#xff0c;用于存儲那些不再需要用于恢復目的的 WAL&#xff08;Write-Ahead Log&#xff09;文件。這些文件在 HBase 確認所有的數據都已經從 MemStore 持久化到 HFile 之后&#xff0c;會被移動到這個目錄。 /hbase/oldWALs 目錄中的…

HALCON 算子 之 形態學操作算子

文章目錄 什么是形態學操作&#xff1f;為什么要形態學操作&#xff1f;怎么形態學操作&#xff1f;腐蝕 —— Erosionerosion1erosion_circle&#xff1a;erosion_rectangle1&#xff1a; 膨脹 —— Dilationdilation1dilation_circledilation_rectangle1 打開 —— Openingop…

[金盾杯 2024] PWN 復現

好長時間不作題了&#xff0c;在復現平臺上看到這個比賽&#xff0c;作了一下&#xff0c;題過于簡單了。不過密碼一言難盡。 Orange 要說libc-2.23有多老&#xff0c;我一開始學PWN的時候還有不少&#xff0c;這兩年幾乎不見了。一些比賽估計是拿的舊題。 遠看像個堆題&…

pytest入門九:feature

fixture是pytest特有的功能&#xff0c;用以在測試執行前和執行后進行必要的準備和清理工作。使用pytest.fixture標識&#xff0c;定義在函數前面。在你編寫測試函數的時候&#xff0c;你可以將此函數名稱做為傳入參數&#xff0c;pytest將會以依賴注入方式&#xff0c;將該函數…

uniapp Vue3 語法實現瀏覽器中音頻錄制、停止、保存、播放、轉碼、實時音頻輸出

一、引言 在現代 Web 應用開發中,音頻處理功能變得越來越重要。本文將詳細介紹如何使用 uniapp 結合 Vue3 語法在瀏覽器環境中實現音頻錄制、停止、保存、播放、轉碼以及實時音頻輸出等一系列功能。通過深入剖析代碼結構和功能實現細節,幫助讀者全面理解和掌握相關技術,以便…