上周帮朋友复盘一套CTF题,里面有一道“找出不安全的安全案加密实现”,他盯着代码看了半小时没头绪。考试我扫了一眼——md5($salt . $password),试题盐值硬编码在源码里,及答还用了MD5。网络这题放考试里就是安全案送分,实战中却有人年年踩坑。考试下面这几道题,试题是及答从近三年企业内训题库里筛出来的,覆盖了最常翻车的网络几个点。
选A的人不少。固定盐等于没盐——攻击者拿到源码,考试直接彩虹表跑一遍。试题bcrypt慢,及答正是它的优势。去年某电商泄露库,20万条MD5密码,三小时全破。我拿自己旧笔记本跑hashcat,8位以下纯数字,每秒十几亿次。密码学里“慢”才是朋友。
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,其中ECDHE的作用是?很多人背过这个缩写,但说不清为什么要有它。没有ECDHE,攻击者存下所有密文,等哪天拿到私钥,全部还原。前向保密就是让“存密文等私钥”这招失效。
SELECT * FROM users WHERE name = '$name',传入' OR '1'='1,这属于什么漏洞?如何修复?这题老掉牙,但每年OWASP Top 10它都在。我见过一个真实案例:某公司后台登录框,输入admin' --直接进管理页。开发觉得“前端已经校验了”。前端校验是给用户看的,攻击者用Burp一抓,改包就绕。
有人把两者混为一谈。简单记:XSS是“你的浏览器执行了我的代码”,CSRF是“你的浏览器替我发了请求”。前者偷东西,后者借刀杀人。
在公共WiFi下,ARP欺骗至今有效。我曾在咖啡厅做过实验,用arpspoof加urlsnarf,十分钟抓到三个未加密的登录请求。别以为HTTPS就万事大吉,DNS欺骗配合SSL剥离,照样能钓到人。
去年某客户中勒索病毒,运维第一反应是重启。结果内存里的加密密钥没了,日志也被覆盖。正确做法:先断网,再dd内存,再查/var/log/secure和crontab。攻击者常留计划任务做持久化。
考试能背出答案,实战里手忙脚乱的人多了。这套题你拿去测团队,能全对的,要么真踩过坑,要么天天泡靶场。剩下的,建议把iptables和tcpdump再摸一遍。