网络攻防与白帽渗透基础

白帽视角的渗透测试方法论:授权前提、信息收集、端口扫描、漏洞验证与修复闭环。

场景:安全测试 技术栈:Python / nmap / OWASP 来源:GitHub 参考
合规声明

本页面内容仅用于安全学习与合法授权测试(如 CTF、自建靶场、获得授权的渗透测试项目)。严禁用于未授权的系统入侵、数据窃取或任何违法活动。使用者须自行承担一切法律责任。

项目简介

渗透测试(Penetration Testing)是 “在授权范围内模拟攻击以发现漏洞” 的工程方法。流程:信息收集 → 资产测绘 → 漏洞扫描 → 利用验证 → 报告与修复。所有步骤都必须有书面授权,否则即为违法。

代码示例:端口扫描(合规环境内)

py
import socket

def scan_port(host: str, port: int, timeout: float = 0.8) -> bool:
    """仅用于你拥有授权的目标。对互联网随机扫描是违法的。"""
    try:
        with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
            s.settimeout(timeout)
            return s.connect_ex((host, port)) == 0
    except OSError:
        return False

if __name__ == "__main__":
    target = "127.0.0.1"   # 仅演示,必须是你的授权目标
    for port in [21, 22, 80, 443, 3306, 8080]:
        if scan_port(target, port):
            print(f"{port} open")

代码示例:信息收集与防御闭环

py
import requests

def recon(url: str):
    r = requests.get(url, timeout=8)
    print("Server:", r.headers.get("Server"))
    print("Security:", r.headers.get("Content-Security-Policy", "未配置"))
    robots = requests.get(url.rstrip("/") + "/robots.txt", timeout=8)
    if robots.status_code == 200:
        print(robots.text[:500])

FIXES = [
    "启用 CSP、HSTS、X-Frame-Options 响应头",
    "关闭非必要端口与默认口令",
    "及时升级依赖,消除已知 CVE",
    "对敏感接口做鉴权、限流与审计日志",
]
# recon("https://your-authorized-target.com")

操作步骤

  1. 准备授权书与测试范围文档,明确目标、时间窗口与允许的手段。
  2. 用 nmap 做资产测绘:nmap -sV -p- 授权目标,再按开放端口缩小攻击面。
  3. 漏洞验证必须在隔离靶场(DVWA / Metasploitable / Vulfocus)完成。
  4. 输出报告:漏洞描述、复现步骤、风险等级、修复建议,推动闭环。

来源参考

GitHub 关键词:pentest-methodologyowasp-top10-checkvulnerability-scanner-demo(链接可替换为实际仓库地址)。