热点

利用网页应用程序漏洞的攻击方式

时间:2010-12-5 17:23:32  作者:百科   来源:探索  查看:  评论:0
内容摘要:三年前,一家做跨境电商的创业公司被薅走了两百万的优惠券。技术复盘时发现,攻击者只是把浏览器开发者工具打开,修改了前端JavaScript里的一个变量——把“新用户立减100元”的判定条件从`if(is

三年前,利用漏洞一家做跨境电商的网页创业公司被薅走了两百万的优惠券。技术复盘时发现,应用攻击者只是程序把浏览器开发者工具打开,修改了前端JavaScript里的击方一个变量——把“新用户立减100元”的判定条件从`if(isNewUser)`改成了`if(true)`。后端居然没做二次校验。利用漏洞

这是网页网页漏洞里最粗野的一种:直接改前端逻辑。很多开发者默认用户不会动代码,应用于是程序把权限判断、价格计算全塞进浏览器脚本里。击方可浏览器是利用漏洞人家用户的浏览器,代码是网页人家的代码。你写在``,其他用户一打开页面,cookie就被悄悄传走了。更狠的是存储型XSS,脚本藏在数据库里,每次有人访问那个页面就执行一次——相当于在网站里埋了个永久后门。防XSS的核心是转义输出,把`<`变成`<`,但总有人嫌麻烦。

还有一种攻击专门针对“信任”。CSRF(跨站请求伪造)利用的是浏览器自动携带cookie的机制。攻击者构造一个恶意页面,里面藏着一个指向目标网站的请求——比如``。只要受害者登录着银行网站,浏览器就会自动带上cookie发起这个请求,钱就这么转走了。受害者毫不知情,因为图片加载失败只是显示个裂图。防御CSRF通常要加token校验,确保请求是从自家页面发出的。

再说说那些不写代码的漏洞——逻辑漏洞。比如支付流程里,下单时价格是100元,攻击者先拦截请求,把价格改成1分钱再放行。如果后端没有重新核对订单金额,这笔交易就成了。还有验证码绕过、越权访问、水平权限漏洞——你登录了A账号,却通过改URL里的ID参数看到B账号的订单。这类漏洞没有统一的攻击模板,全靠攻击者脑洞大开。前阵子有个共享单车平台,用户把请求里的`userId`改成别人的,就能免费骑别人的骑行套餐——后端压根没校验这个ID是不是当前登录用户的。

这些漏洞的共同点是什么?开发者默认“用户是善意的”。可互联网上没人知道你是谁,更没人保证你输入的是规矩的字符串。每个输入框、每个API参数、每个前端变量,都可能是攻击者的入口。别指望用户按你的剧本操作——他们手里握着开发者工具,脑子里装着坏点子。写代码时多问一句:如果这个参数被改成极端值会怎样?如果用户跳过这个步骤直接发请求会怎样?多这么想几次,漏洞就少一半。

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