常见的网站漏洞有哪些
2017年,网洞一家做在线教育的站漏公司被拖库了。攻击者没用什么高深技术,网洞就是站漏在一个查询接口的参数后面加了个单引号,数据库直接把所有用户信息吐了出来——包括手机号、网洞密码哈希、站漏甚至部分支付记录。网洞事后复盘,站漏漏洞就一行代码:字符串拼接SQL。网洞这种事到今天还在发生,站漏只不过换了个形式。网洞 SQL注入算是站漏最古老的漏洞之一,但它的网洞变种一直没断过。很多人以为用了ORM框架就安全了,站漏可一旦遇到需要动态拼接排序字段、网洞表名的场景,照样中招。我见过一个后台管理系统,排序参数直接拼进 比SQL注入更常见的是XSS。跨站脚本攻击,说白了就是往页面里塞JavaScript。反射型XSS需要骗你点链接,存储型XSS更狠——你发的一条评论、填的一个昵称,里面藏着脚本,所有访问该页面的人都会中招。2018年某知名社交平台就栽在这上面,攻击者通过一条带脚本的私信,批量盗取了大量账号的Cookie。防御手段是输出编码,但难点在于“所有输出点都要编码”,漏一个就前功尽弃。前端框架像React、Vue默认会转义,可一旦用了 CSRF经常被忽略,因为它不直接偷数据,而是借你的手干坏事。你登录了网银,然后打开一个恶意网站,那个网站自动向银行发了一笔转账请求——浏览器会自动带上你的Cookie。银行服务器分不清这是你本人操作还是被诱导的。防御靠CSRF Token,每个表单带一个随机值,服务器校验。但很多老系统懒得加,或者只在部分接口加了。我见过一个后台,改密码的接口没做CSRF防护,攻击者构造一个自动提交的表单,就能把管理员密码改掉。 文件上传漏洞的破坏力往往被低估。一个上传点如果只在前端用JS校验后缀,攻击者抓包改成 越权分两种:水平越权和垂直越权。水平越权是A用户能看B用户的订单,只要改一下URL里的订单ID。垂直越权是普通用户能访问管理员接口。很多系统只在前端隐藏了菜单,后端接口没做权限校验。我测试过一个电商App,普通用户抓包把 还有SSRF,服务端请求伪造。攻击者让服务器去访问内网地址,比如 这些漏洞没有一个是新东西,但每年OWASP Top 10里它们换着位置出现。写代码的人总觉得“我这里不会出问题”,可攻击者只找那一个疏忽的地方。安全不是加个WAF就完事了,WAF能挡脚本小子,挡不住真正盯着你业务逻辑的人。ORDER BY后面,攻击者用报错注入把管理员密码跑了出来。防御方法其实很笨:参数化查询,别拼字符串。可总有人图省事。dangerouslySetInnerHTML或v-html,防线就破了。.php就能传上去。更隐蔽的是解析漏洞:比如Apache的AddHandler配置不当,上传shell.php.jpg也能当PHP执行。前几年有个CMS爆过这个洞,攻击者传个图片马,然后用包含漏洞一起利用,直接拿webshell。防御要白名单校验后缀、重命名文件、把上传目录设成不可执行。user_id改成别人的,就能看到对方的收货地址和电话。这种漏洞不需要任何技术,纯粹是逻辑疏忽。http://169.254.169.254/latest/meta-data/,在云环境里能直接拿到临时凭证。2019年Capital One那起著名事件就是SSRF导致的,一亿用户数据泄露。防御要限制协议、限制IP、禁止跳转。
- 最近发表
- 随机阅读
- 搜索
-
- 友情链接
-