游客发表
去年秋天,网站一个做电商的安全朋友找我帮忙看服务器。他网站被挂马了,测试首页跳转到博彩页面,网站搜索引擎标记为"危险站点"。安全我问他最近装了什么新插件,测试他说了一个名字——"SEO Booster Pro",网站从一个小论坛下载的安全破解版。这就是测试典型的入口漏洞:第三方组件带后门,攻击者拿到webshell,网站然后提权、安全横向移动。测试整个过程不到48小时。网站
网站安全测试不是安全买套工具扫一扫就完事。很多人以为跑个AWVS或者Xray,测试出份报告就交差。实际上自动化扫描器只能发现30%左右的问题,剩下70%靠手工。比如逻辑漏洞——支付时修改金额参数、越权查看他人订单、验证码可爆破。这些扫描器根本看不懂业务逻辑。
我习惯从信息收集开始。先看HTTP响应头,Server字段暴露版本号没有,X-Powered-By有没有泄露框架信息。然后爬目录,/admin/、/backup/、/.git/这些路径经常有惊喜。有次在一个政府网站找到/.svn/目录,直接下载了完整源码,数据库密码明文写在config文件里。
SQL注入现在少了,但没绝迹。上个月帮一个客户测站,登录框输入' or 1=1--直接进后台。开发用了拼接SQL,连预处理都没做。这种低级错误在中小型项目里依然常见。XSS更普遍,评论区、用户昵称、搜索回显,只要没过滤就中招。存储型XSS最危险,打管理员Cookie直接接管后台。
文件上传是重灾区。前端校验改个包就绕过,后端只检查Content-Type,把PHP文件改成image/jpeg照样传上去。有的站连后缀都不改,直接传.php,返回路径还告诉你文件在哪。我见过最离谱的,上传目录有执行权限,传个.htaccess把jpg当php解析。
CSRF经常被忽略。管理员后台加个用户,请求里没token,攻击者构造页面诱导管理员点击,悄无声息加个管理员账号。修复也简单,加token或者验证Referer,但很多老系统就是没有。
测试完要写报告。别堆砌漏洞名称,按风险等级排,每个漏洞写清楚:位置、复现步骤、危害、修复建议。修复建议要具体,别说"加强输入验证",要说"使用PDO预处理,参数化查询"。开发能看懂,才改得动。
最后说一句,安全测试要授权。没授权就是入侵,违法。自己搭靶场练,DVWA、SQLi-Labs、Pikachu,够用了。真实环境测试前,书面授权拿到手,测试范围写清楚,别碰生产数据。
友情链接