首页 > 作文

web攻击与防御技术实战(常见的web攻击方法)

更新时间:2023-04-05 04:59:23 阅读: 评论:0

一个网站建立以后,如果不注意安全方面的问题,很容易被人攻击,下面就讨论一下几种漏洞情况和防御的办法.

一.跨站脚本攻击(xss)

跨站脚本攻击(xss,cross-site scripting)是最常见和基本的攻击web网站的方法。攻击者在网页上发布包含攻击性代码的数据。当浏览者看到此网页时,特定的脚本就会以浏览者用户的身份和权限来执行。通过xss可以比较容易地修改用户数据、窃取用户信息,以及造成其它类型的攻击,例如csrf攻击

防御:

1、对于敏感的cookie信息,使用httponly,使document对象中找不到cookie。

2、对于用户输入的信息要进行转义。

二. 跨站请求伪造攻击(csrf)

跨站请求伪造(csrf,cross-site request forgery)是另一种常见的攻击。攻击者通过各种方法伪造一个请求,模仿用户提交表单的行为,从而达到修改用户的数据,或者执行特定任务的目的。为了假冒用户的身份,csrf攻击常常和xss攻击配合起来做,但也可以通过其它手段,例如诱使用户点击一个包含攻击的链接

防御:

1.采用post请求,增加攻击的难度.用户点击倒叙和插叙的区别一个链接就可以发起get类型的请求。而post请求相对比较难,攻击者往往需要借助javascript才能实现

2.对请求进行认证,确保该请求确实是用户本人填写表单并提交的,而不是第三者伪造的.具体可以在会话中增加token,确保看到信息和提交信息的是同一个人

三.http heads攻击

凡是用浏览器查看任何web网站,无论你的web网站采用何种技术和框架,都用到了http协议.http协议在respon header和content之间,有一个空行,即两组crlf(0x0d 0a)字符。这个空行标志着headers的结束和content的开始。“聪明”的攻击者可以利用这一点。只要攻击者有办法将任意字符“注入”到headers中,这种攻击就可以发生

以登陆为例:有这样一个url:

http://localhost/login?page=http%3a%2f%2flocalchaintechhost%2findex

当登录成功以后,需要重定向回page参数所指定的页面。下面是重定向发生时的respon headers.

http/1.1 302 moved temporarily

date: tue, 17 aug 2010 20:00:29 gmt

rver: apache mod_fcgid/2.3.5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 frontpage/5.0.2.2635

location: http://localhost/index

假如把url修改一下,变成这个样子:

http://localhost/login?page=http%3a%2f%2flocalhost%2吹面不寒杨柳风fcheckout%0d%0a%0d%0a%3cscript%3ealert%28%27hello%27%29%3c%2fscript%3e

那么重定向发生时的repon会变成下面的样子:

http/1.1 302 moved temporarily

date: tue, 17 aug 2010 20:00:29 gmt

rver: apache mod_fcgid/2.3.5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 frontpage/5.0.2.2635

location: http://localhost/checkout<crlf>

<crlf>

<script>alert(‘hello’)</script>

这个页面可能会意外地执行隐藏在url中的javascript。类似的情况不仅发生在重定向(location header)上,也有可能发生在其它headers中,如t-cookie header。这种攻击如果成功的话,可以做很多事,例如:执行脚本、设置额外的cookie(<crlf>t-运动会开幕式cookie: evil=value)等。

防御:

过滤所有的respon headers,除去header中出现的非法字符,尤其是crlf。

服务器一般会限制request headers的大小。例如apache rver默认限制request header为8k。如果超过8k,aapche rver将会返回400 bad request响应:

对于大多数情况,8k是足够大的。假设应用程序把用户输入的某内容保存在cookie中,就有可能超过8k.攻击者把超过8k的header链接发给受害者,就会被服务器拒绝访问.解决办法就是检查cookie的大小,限制新cookie的总大写,减少因header过大而产生的拒绝访问攻击

四. 身份认证和会话

黑客在浏览器中停用js,防止客户端校验,从而进行某些操作。

防御:

1、隐藏敏感信息。

2、对敏感信息进行加密。

3、ssion 定期失效

五.重定向攻击

一种常用的攻击手段是“钓鱼”。钓鱼攻击者,通常会发送给受害者一个合法链接,当链接被点击时,用户被导向一个似是而非的非法网站,从而达到骗取用户信任、窃取用户资料的目的。为防止这种行为,我们必须对所有的重定向操作进行审核,以避免重定向到一个危险的地方.

防御:

将合法的要重定向的url加到白名单中,非白名单上的域名重定向时拒之,第二种解决方案是重定向token,在合法的url上加上token,重定向时进行验证.

六.权限与访问控制

能通过url参数的修改达到访问他人页面,例如,黑客能够使用一下的链接去访问在某商城上自己的订单链接

https://***.***.com/normal/item.action?orderid=51338221644

这个时候如果网站没有相关权限验证,那么他也能通过下面的链接去访问其他人的订单。

https://***.***.com/normal/item.action?orderid=其他id

这样子就会造成商城其他人的隐私的泄露。

防御:

1、添加权限系统,访问的时候可以加上相应的校验。

七.不安全加密存储

防御:

1、加密存储敏感信息

2、不用md5加密

八.sql注入

最常见的攻击方式,所谓sql注入,就是通过把sql命令插入到web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的sql命令,比如先前的很多影视网站泄露vip会员密码大多就是通过web表单递交查询字符暴出的,这类表单特别容易受到sql注入式攻击.

防御:

1、表单过滤,验证表单提交的合法性,对一些特殊字符进行转义处理

2、数据库权限最小化

3、查询语句使用数据库提供的参数化查询接口,不要直接拼接sql

九.传输层未加密

防御:

1、使用安全puppy的复数的https版本

2、敏感信息使用https传输

3、非敏感信息使用http传输

以上就是“常见的web攻击和防御总结”的全部内容,如果什么需要欢迎登陆gdca数安时代官网咨询客服。

本文发布于:2023-04-05 04:59:10,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/76103b7a6cdec5d2fdae84b8ba3def23.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:web攻击与防御技术实战(常见的web攻击方法).doc

本文 PDF 下载地址:web攻击与防御技术实战(常见的web攻击方法).pdf

标签:重定向   用户   攻击者   表单
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图