一篇补齐你的Web安全知识死角
网络层DDos防御
网络层的DDos攻击究其本质其实是无法防御的,我们能做得就是不断优化自身的网络架构,以及提升网络带宽。 应用层 DDoS 应用层 DDoS 攻击不是发生在网络层,是发生在 TCP 建立握手成功之后,应用程序处理请求的时候,现在很多常见的 DDoS 攻击都是应用层攻击。应用层攻击千变万化,目的就是在网络应用层耗尽你的带宽,下面列出集中典型的攻击类型。
应用层DDos防御
应用层的防御有时比网络层的更难,因为导致应用层被dos攻击的因素非常多,有时往往是因为程序员的失误,导致某个页面加载需要消耗大量资源,有时是因为中间件配置不当等等。而应用层DDos防御的核心就是区分人与机器(爬虫),因为大量的请求不可能是人为的,肯定是机器构造的。因此如果能有效的区分人与爬虫行为,则可以很好地防御此攻击。 05.目录遍历漏洞 目录遍历漏洞成因:服务器端,接收请求中传来的文件名称,在服务器端拼凑成文件的绝对路径,并且用输出流下载。 防御措施
06.业务安全 在Web系统中,除了常规的如SQL,XSS,CSRF、Ddos等web漏洞外,更重要的是其业务上的安全。 账户信息安全 账户是一个系统的入口,关系到用户最直接的利益,因而账户的安全在业务安全中占及其重要的地位。账户体系分多个层次,每个环节的漏洞,都将给用户带来极大的损失。 业务数据安全 金额数据篡改:抓包修改金额等字段,例如在支付页面抓取请求中商品的金额字段,修改成任意数额的金额并提交,查看能否以修改后的金额数据完成业务流程。 商品数量篡改:抓包修改商品数量等字段,将请求中的商品数量修改成任意数额,如负数并提交,查看能否以修改后的数量完成业务流程。 业务流程安全 顺序执行缺陷 部分网站逻辑可能是先A过程后B过程然后C过程最后D过程。 用户控制着他们给应用程序发送的每一个请求,因此能够按照任何顺序进行访问。于是,用户就从B直接进入了D过程,就绕过了C。如果C是支付过程,那么用户就绕过了支付过程而买到了一件商品。如果C是验证过程,就会绕过验证直接进入网站程序了。 最后提交新密码时修改用户ID为其他ID 跳过验证步骤、找回方式,直接到设置新密码页面 业务接口安全 在短信、邮件调用业务或生成业务数据环节中(类:短信验证码,邮件验证码,订单生成,评论提交等),对其业务环节进行调用(重放)测试。如果业务经过调用(重放)后被多次生成有效的业务或数据结果 07.编程规范 一切输入都是有害的!!!输出也不安全! 输入:传参,cookie、session、http header、数据库…… 输出:异常信息、敏感信息、xss 08.总结 程序猿们能够管理好代码隐私,注意代码安全问题,比如不要将产品的含有敏感信息的代码放到第三方外部站点或者暴露给外部用户,尤其是前端代码,私钥类似的保密性的东西不要直接输出在代码里或者页面中。也许还有很多值得注意的点,但是归根结底还是绷住安全那根弦,对待每一行代码都要多多推敲。 开发时要提防用户产生的内容,要对用户输入的信息进行层层检测 要注意对用户的输出内容进行过滤(进行转义等) 重要的内容记得要加密传输(无论是利用https也好,自己加密也好) get请求与post请求,要严格遵守规范,不要混用,不要将一些危险的提交使用jsonp完成。 对于URL上携带的信息,要谨慎使用。 心中时刻记着,自己的网站哪里可能有危险。 作者介绍 李伟山 江湖人称:山哥,85年生产,IT届的小学生。享米高级技术总监,曾经在华为、阿里巴巴任职。 座右铭:Fake it until you make it。
(编辑:青岛站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |