敏 感 信 息 掃 描 工 具 使 用 對 比

2021-09-13 19:44:10 字數 4006 閱讀 2309

滲 透 測 試 過 程 中 , 經 常 需 要 對 網 站 進 行 全 面 的 信 息 收 集 , 掃 描 網 站 是 否 存 在 敏 感 信 息 文 件 如 phpinfo 、 日 志 文 件 洩 漏 會 極 大的 方 便我 們 進 一 步 的 滲 透 測 試 , 特 別 是 對 於 一 些 403 網 站 , 通 過 爆 破 web 目 錄 和 文 件 的 方 式 , 對 於 測 試 網 站 有 極 大的 幫 助 。

近 期 在 使 用 敏 感 信 息 掃瞄 工 具 bbscan 、 dirsearch 、 opendoor 等 批 量 掃 描 網 站 時 遇 到 幾 個 問 題 , 在 此 記 錄 下 , 並 對 如 何 降 低 掃 描 工 具 的 誤 報 率 做 了 初 步 分 析 。

bbscan 是 一 個 迷 你 的 信 息 洩 漏 批 量 掃 描 腳 本 。 規 則 字 典 非 常 小 , 但 盡 量 保 證 準 確 和 可 利 用 性 。特 性

在 測 試 中 發 現 有 許 多 域 名 被 bbscan 判 斷 為 無 效 域 名 , 但 實 際 上 這 些 網 站 是 完 全 能 夠 ping通 並 訪 問 的 。

bbscan 中 引 入 了 dnspython 模 塊 , 用 於 域 名 的 dns 解 析 。 判 斷 域 名 無 效 的 函 數 如 下 。

進 一 步 測 試 發 現 是 由 dns 解 析 超 時 導 致的 。

考 慮 到 目 前 很 多 網 站 採 用 了 cdn 的 形 式 , bbscan 的 ip 掃 描 準 確 率 不 高 , 我 去 掉 了 domain_lookup 函 數 。

dirsearch 基 於 python3, 擁 有 可 保 持 連 接 、 啟 發 式 檢 測 無 效 的 網 頁 、 請 求 延 遲 、 遞 歸 的 暴 力 掃 描 等 特 點

批 量 掃 描 時 , 程 序 出 現 異 常 中 斷 。 問 題 出 現 在thirdparty/sqlmap/dynamiccontentparser.py文 件 removedynamiccontent 函 數 , 在 使 用 re.sub 正 則 表 達 式 處 理 時 出 現 問 題 , 詳 情 : 」typeerror: a bytes-like object is required,not 『str』 「 。 我 對 處 理 正 則 表 達 式 時 添 加 了 異 常 處 理 , 以 便 程 序 出 現 異 常 情 況 時 能 繼 續 完 成 批 量 掃 描 , 如 下 所 示 。

dirsearch 的 誤 報 率 較高 , 返 回 字 節 數 相 同 且 有 多 個 敏 感 文 件 的 都 是 為 誤 報 , 可 以 根 據 這 個 判 斷 條 件 降 低 誤 報 率 。

很 多 web 掃 描 器 的 開 始都 是 對 url 進 行 網 站 目 錄 和 文 件 掃 描 , 然 後 再 結 合 爬 蟲 一 起 爬 一 下 。 目 前 敏 感 信 息 掃 描 工 具 的 一 般 邏 輯 是 :

取乙個不可能存在的url,判斷是不是存在404的狀態碼。存在的404話,下面的判斷只要根據狀態碼來判斷是否存在就好了。不存在的話走下面2的邏輯。獲取該不存在url的相應內容,作為乙個404不存在的頁面標示,接下去的掃瞄如果獲取到頁面不和這個404表示一樣的就認為是200的存在頁面。
這 個思 路 在 大 部 分 情 況 下 面 用 。 但 是 有 些 站 點 , 你 會 發 現 掃 到 一 堆 200 的 誤 報 。 分 析 為 什 麼 : 在 邏 輯 1 中 , 404 的 判 斷 取 一 個 不 存 在 的 url 是 不夠 的 , 你 需 要 取 多 個 , 因 為 有 的 站 點 ***x.php 是 404 , 而 ***x.jsp 就 變 成 200 了 。 在 邏 輯 2 中 , 有 種 情 況 是 這 個 404 的 頁 面 是 會 不 斷 變 化的 , 比 如 淘 寶 的 404 頁 面 中 , 下 面 會 出 現 不 同 的 鏈 接 商 品 推 薦 。 這 樣 就 會 產 生 一 大 堆 的 誤 報 。

bbscan 提 供 了 「-nn, –no-check404 no http 404 existence check」 不 檢 測 網 站 404 頁 面 選 項 , 默 認 是 會 先 檢 測 404 頁 面 的 , 正 如 上 面 所 說 , 訪 問 一 個 不 存 在 的 鏈 接 「bbscan-404-existence-check」。

不 檢 測 404 頁 面 時 , 通 過 返 回 狀 態 碼 404 作 為 404 頁 面 判 斷 。

awvs 的 網 站 目 錄 和 文 件 掃 描 思 路 awvs 的 目 錄 和 文 件 掃 描 姿 勢 : ( backup_file.script, sensitive_files.script, possible_sensitive_directories,possible_sensitive_files )

在 backup_file 和 sensitive_files 中 看到 能 用 正 則 匹 配 的 , 先 用 規 則 來 匹 配 , 這 個 比 較 準 確 , 誤 報 低 。 backup_file 中 我 們 發 現 , awvs 的 再 解 決 邏 輯 2 中 出 現 的 問 題 時 候 , 用 了一 個 小 的 tip: 在 發 現 頁 面 內 容 和 404 標 示 不 一 樣 的 時 候 , 再 去取 了 一 個 不 存 在 的 url2 獲 取 新 的 404 標 示 , 然 後 判 斷 兩 個 標 示 是 不 是 一 樣 ,一 樣 的 話 說 明 這 個 200 掃 描 沒 用 問 題 , 從 而 去 掉 這 個 誤 報 。 在 possible_sensitive_directories ,possible_sensitive_files 中 , 我 們 發現 awvs 去 掉 了 邏 輯 2 。 只 對 存 在 404 的 url 進 行 目 錄 和 文 件 掃 描 。 而 目 錄 掃 描 和 文 件 掃 描 的 邏 輯 不 一 樣 的 , 我 們 發 現 當 一 個 文 件 存 在 時 候返 回 時 200 , 但 是 當 一 個 目 錄 存 在 的 時 候 確 是 302 跳 轉 , 我 們 需 要 匹 配 http 頭 的 location 進 行 判 斷 。 開 源 掃 描 工 具 大 多 數 使 用 了 python的 requests 庫 , 這 個 庫 默 認 是 會 進 行 url 跟 隨 跳 轉 的 。 所 以 他 們 沒 有 必 要 區 分 掃 描 目 錄 和 文 件 掃 描 。 如 果 你 把 requests 中 設 置 了 allow_redirects =false , 那 你 就 要 去 自 己 匹 配 http 頭 的 location 關 鍵 字 。
1.對 多 個 返 回 數 據 包 大 小 一 樣 的 並 超 過 一定 數 量 , 舍 棄 這 些 數 據;

2.當 命 中 規 則 時 會 再 一 次 進 行 返 回 包 長 度 的 檢 驗。

工具類 敏感資訊掩碼規則

類名稱 displayutil 類描述 敏感資訊掩碼規則 public class displayutil return wordmask mobile,3,4,號碼顯示區號及末4位,中間用 號隱藏代替,如 010 4213 param telephone return public static ...

呼叫pcre庫實現掃瞄檔案敏感資訊實現多次匹配

本文主要實現多次匹配,來掃瞄檔案內的敏感資訊 正則匹配 並算出掃瞄所需要的時間。新手,可能有些地方有錯誤。define pcre static 靜態庫編譯選項 include include include pcre.h include include using namespace std def...

nmap掃瞄工具簡單使用教程

nmap 一款強大的掃瞄工具 kali自帶的工具 nmap 掃瞄型別 tcp半開掃瞄 tcp全開掃瞄 udp掃瞄 icmp掃瞄 常見的掃瞄 nmap sp 192.168.31.0 24 掃瞄該網段的主機 nmap ss 192.168.31.0 24 掃瞄該網段的主機和開放埠 nmap o 192...