网络攻防与白帽渗透基础
白帽视角的渗透测试方法论:授权前提、信息收集、端口扫描、漏洞验证与修复闭环。
合规声明
本页面内容仅用于安全学习与合法授权测试(如 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")操作步骤
- 准备授权书与测试范围文档,明确目标、时间窗口与允许的手段。
- 用 nmap 做资产测绘:
nmap -sV -p- 授权目标,再按开放端口缩小攻击面。 - 漏洞验证必须在隔离靶场(DVWA / Metasploitable / Vulfocus)完成。
- 输出报告:漏洞描述、复现步骤、风险等级、修复建议,推动闭环。
来源参考
GitHub 关键词:pentest-methodology、owasp-top10-check、vulnerability-scanner-demo(链接可替换为实际仓库地址)。