知识

WEB应用常见漏洞

时间:2010-12-5 17:23:32  作者:娱乐   来源:焦点  查看:  评论:0
内容摘要:SQL注入这事儿,老生常谈,但真没几个团队扛得住。去年我帮朋友排查一个电商后台,登录框输个`' or 1=1 --`,直接进了管理员页面,订单、用户表全裸奔。那系统还是外包花了大几十万做的,安全测试报

SQL注入这事儿,应用常老生常谈,见漏但真没几个团队扛得住。应用常去年我帮朋友排查一个电商后台,见漏登录框输个`' or 应用常1=1 --`,直接进了管理员页面,见漏订单、应用常用户表全裸奔。见漏那系统还是应用常外包花了大几十万做的,安全测试报告上赫然写着“高危”。见漏你猜怎么着?应用常验收时没人看那条。

XSS更隐蔽。见漏攻击者不直接打你,应用常而是见漏打你的用户。一个论坛帖子,应用常评论区塞段脚本,管理员一审核,cookie就被偷了。更骚的是存储型XSS,脚本躺在数据库里,每次有人访问都执行一次。我见过一个案例,攻击者往在线文档的标题里埋了payload,结果整个公司的内部系统全被钓走。你以为只是弹个窗?人家能改写页面,伪造登录框,你输的密码直接进他邮箱。

文件上传漏洞,听着土,杀伤力大。某招聘网站允许上传简历附件,有人传了个`.php`后缀的“简历”,服务器没校验内容,直接当脚本执行了。拿到webshell后,整个服务器成了肉鸡。更常见的是图片马——把恶意代码塞进PNG的EXIF里,配合解析漏洞,照样执行。这类漏洞的根子在于:信任了文件名和Content-Type,却没验证文件真实内容。

越权访问,分水平垂直两种。水平越权——你登录自己的账户,改一下URL里的订单ID,看到别人订单。垂直越权——普通用户把请求里的`role=user`改成`role=admin`,接口没校验角色,直接放行。我见过最离谱的,某SaaS系统用`user_id`做文件下载路径参数,循环遍历1到10000,所有客户的合同全下载下来了。开发说“接口做了鉴权”,但鉴的是“是否登录”,不是“是否有权访问该资源”。

还有CSRF,这玩意儿现在少了,但老系统里一堆。你登录着银行网站,再打开个恶意页面,那个页面偷偷发起转账请求——因为浏览器自动带上了你的cookie。防御方式简单粗暴:加随机token,或者校验Referer。但很多团队嫌麻烦,觉得“内部系统没人攻击”。直到某天员工在钉钉里点了钓鱼链接,内部OA被发了无数垃圾消息。

别以为修了这几样就完事。逻辑漏洞才是高手玩的。密码重置接口,验证码不失效,暴力枚举6位数字,几分钟破解。支付流程,改个负数金额,或者把数量改成0.01,订单状态还没校验,白嫖成功。这类漏洞没法用扫描器发现,只能靠人肉测。我认识个白帽,专门挖逻辑洞,一个月赚了别人一年工资——因为企业根本不重视这块。

说句难听的,大部分漏洞不是技术问题,是态度问题。开发赶进度,测试没时间,安全评审走过场。等被人打了才补,补完又出新的。你去看那些被通报的漏洞,八成是两年前的代码没修。安全这行,永远在补昨天的洞,而攻击者已经在看明天的代码了。

真想防,先把“输入校验”刻在脑子里——所有外部数据都不可信,所有接口都要做权限校验,所有上传文件都要白名单验证。再配个Web应用防火墙,加上日志监控。但最重要的,是让写代码的人意识到:他写的每一行,都可能成为别人进你系统的钥匙。

最近更新
热门排行
copyright © 2026 powered by 力不从心网   sitemap