以下是通过Python代码快速理解常见黑客攻防技巧的实战指南,结合网络安全基础与代码实例,帮助新人快速建立攻防认知体系。所有示例均采用20行内代码实现核心功能,并标注防御方案(法律提示:本教程仅供学习使用,请遵守《网络安全法》)。
一、信息收集:子域名爆破(10行代码)
python
import requests
from concurrent.futures import ThreadPoolExecutor
def scan_subdomain(domain, sub):
url = f"http://{sub}.{domain}
try:
response = requests.get(url, timeout=3)
if response.status_code == 200:
print(f"[+] 发现有效子域名: {url}")
except: pass
target = "example.com
subdomains = ["www", "mail", "admin", "test"]
with ThreadPoolExecutor(10) as executor:
executor.map(lambda s: scan_subdomain(target, s), subdomains)
攻击原理:通过多线程暴力枚举常见子域名。
防御方案:配置服务器禁止目录遍历,设置无效请求频率限制。
二、SQL注入攻击检测(15行代码)
python
import sqlite3
def unsafe_login(username):
conn = sqlite3.connect('users.db')
cursor = conn.cursor
危险写法:直接拼接SQL语句
cursor.execute(f"SELECT FROM users WHERE name='{username}'")
return cursor.fetchone
def safe_login(username):
安全写法:参数化查询
cursor.execute("SELECT FROM users WHERE name=?", (username,))
攻击载荷:输入 `admin' OR 1=1--` 可绕过验证。
防御方案:必须使用参数化查询,禁用字符串拼接。
三、端口扫描器(20行代码)
python
import socket
from threading import Thread
def check_port(ip, port):
sock = socket.socket
sock.settimeout(1)
result = sock.connect_ex((ip, port))
sock.close
return "开放" if result == 0 else "关闭
target = "192.168.1.1
for port in [21,22,80,443,3306]:
t = Thread(target=lambda p: print(f"端口{p}: {check_port(target,p)}"), args=(port,))
t.start
攻击原理:通过TCP连接试探常见服务端口。
防御方案:配置防火墙规则,关闭非必要端口,使用端口敲击技术。
四、XSS漏洞检测(15行代码)
python
from flask import Flask, request
app = Flask(__name__)
@app.route("/search")
def search:
keyword = request.args.get('q', '')
危险写法:直接返回用户输入
return f"要求:{keyword}
if __name__ == "__main__":
app.run
攻击载荷:输入 `` 触发弹窗。
防御方案:使用HTML转义库(如Jinja2自动转义),设置CSP安全策略。
五、防御代码示例:输入过滤(10行)
python
import re
from html import escape
def sanitize_input(input_str):
过滤SQL特殊字符
cleaned = re.sub(r"[';-]", "", input_str)
转义HTML标签
return escape(cleaned)
user_input = "
print(sanitize_input(user_input)) 输出转义后内容
核心方法:正则过滤 + HTML转义。
学习路径建议
1. 基础必修:掌握Linux系统操作、HTTP协议、Python编程
2. 工具实践:学习BurpSuite、Nmap、SQLMap等工具链
3. 靶场演练:使用DVWA、OWASP Juice Shop等漏洞平台实战
4. 法律红线:仅限授权测试,禁止未经许可的渗透行为
> 完整学习路线可参考B站《零基础学黑客》系列课程,或通过NextCyber平台进行在线实验。网络安全的本质是攻防对抗的持续升级,建议通过CTF比赛深化技能。