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

跨站脚本攻击(XSS)

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

常见解决办法:确保输出到HTML页面的数据以HTML的方式被转义

出错的页面的漏洞也可能造成XSS攻击.比如页面/gift/giftList.htm?page=2找不到,出错页面直接把该url原样输出,如果攻击者在url后面加上攻击代码发给受害者,就有可能出现XSS攻击

跨站请求伪造攻击(CSRF)

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

解决的思路有:

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

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

Http Heads攻击

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

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

http://localhost/login?page=http%3A%2F%2Flocalhost%2Findex

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

HTTP/1.1 302 Moved Temporarily

Date: Tue, 17 Aug 2010 20:00:29 GMT

Server: 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%2Fcheckout%0D%0A%0D%0A%3Cscript%3Ealert%28%27hello%27%29%3C%2Fscript%3E

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

HTTP/1.1 302 Moved Temporarily

Date: Tue, 17 Aug 2010 20:00:29 GMT

Server: Apache mod_fcgid/2.3.5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635

Location: http://localhost/checkout

alert('hello')

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

避免这种攻击的方法,就是过滤所有的response headers,除去header中出现的非法字符,尤其是CRLF。

服务器一般会限制request headers的大小。例如Apache server默认限制request header为8K。如果超过8K,Aapche Server将会返回400 Bad Request响应:

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

Cookie攻击

通过Java Script非常容易访问到当前网站的cookie。你可以打开任何网站,然后在浏览器地址栏中输入:javascript:alert(doucment.cookie),立刻就可以看到当前站点的cookie(如果有的话)。攻击者可以利用这个特性来取得你的关键信息。例如,和XSS攻击相配合,攻击者在你的浏览器上执行特定的Java Script脚本,取得你的cookie。假设这个网站仅依赖cookie来验证用户身份,那么攻击者就可以假冒你的身份来做一些事情。

现在多数浏览器都支持在cookie上打上HttpOnly的标记,凡有这个标志的cookie就无法通过JavaScript来取得,如果能在关键cookie上打上这个标记,就会大大增强cookie的安全性

重定向攻击

一种常用的攻击手段是“钓鱼”。钓鱼攻击者,通常会发送给受害者一个合法链接,当链接被点击时,用户被导向一个似是而非的非法网站,从而达到骗取用户信任、窃取用户资料的目的。为防止这种行为,我们必须对所有的重定向操作进行审核,以避免重定向到一个危险的地方.常见解决方案是白名单,将合法的要重定向的url加到白名单中,非白名单上的域名重定向时拒之,第二种解决方案是重定向token,在合法的url上加上token,重定向时进行验证

上传文件攻击

1.文件名攻击,上传的文件采用上传之前的文件名,可能造成:客户端和服务端字符码不兼容,导致文件名乱码问题;文件名包含脚本,从而造成攻击.

2.文件后缀攻击.上传的文件的后缀可能是exe可执行程序,js脚本等文件,这些程序可能被执行于受害者的客户端,甚至可能执行于服务器上.因此我们必须过滤文件名后缀,排除那些不被许可的文件名后缀.

3.文件内容攻击.IE6有一个很严重的问题 , 它不信任服务器所发送的content type,而是自动根据文件内容来识别文件的类型,并根据所识别的类型来显示或执行文件.如果上传一个gif文件,在文件末尾放一段js攻击脚本,就有可能被执行.这种攻击,它的文件名和content type看起来都是合法的gif图片,然而其内容却包含脚本,这样的攻击无法用文件名过滤来排除,而是必须扫描其文件内容,才能识别。

php网站实战,PHP实战之WEB网站常见受攻击方式及解决办法相关推荐

  1. WEB网站常见受攻击方式及解决办法

    一个网站建立以后,如果不注意安全方面的问题,很容易被人攻击,下面就讨论一下几种漏洞情况和防止攻击的办法. 一.SQL注入 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的 ...

  2. 浅谈常用的几种web攻击方式以及解决办法

    身在互联网的时候,web在给我们带来便利的同时,有些人也在盯着这些便利,因此出现了攻击网站的现象.所以我们在开发的时候,要注意这些容易被攻击的地方,以及做好防御的措施,下面将介绍一些这些 常见的攻击手 ...

  3. 前端 web端常见的攻击有那几种类型 网站瘫痪 崩溃的原因

    前端 web端常见的攻击有那几种类型 文章目录 前端 web端常见的攻击有那几种类型 dos攻击和ddos攻击 dos攻击的原理 ddos攻击 dos攻击的类型 CSRF攻击 CSRF防御 XXS攻击 ...

  4. 搭建网站服务器时报错url,服务器网站总报错“ERROR the requested URL could not be retrieved”解决办法...

    服务器网站总报错"ERROR the requested URL could not be retrieved" ERROR The requested URL could not ...

  5. web 常见的攻击方式

    文章目录 web常见的攻击方式有哪些?如何防御? web攻击是什么? XSS CSRF SQL注入 web常见的攻击方式有哪些?如何防御? web攻击是什么? Web攻击(WebAttack)是针对用 ...

  6. web常见的攻击方式(WebAttack)及如何防御

    web常见的攻击方式有哪些?如何防御? 面试官:web常见的攻击方式有哪些?如何防御? 一.是什么 Web攻击(WebAttack)是针对用户上网行为或网站服务器等设备进行攻击的行为 如植入恶意代码, ...

  7. web应用常见的攻击手段

    Web应用是由动态脚本.编译过的代码等组合而成. 它通常架设在Web服务器上,用户在Web浏览器上发送请求,这些请求使用HTTP协议,经过因特网和企业的Web应用交互,由Web应用和企业后台的数据库及 ...

  8. WEB站点使用企业库安全性异常解决办法

    WEB站点使用企业库安全性异常解决办法 我们在WEB站点使用企业库的时候,有时候会有如下的异常产生: 安全性异常     说明: 应用程序试图执行安全策略不允许的操作.要授予此应用程序所需的权限,请与 ...

  9. 网站服务器的解决方案有,Web网站服务器DDOS攻击的解决方案

    Web网站服务器DDOS攻击的解决方案,有需要了解的朋友可参考一下,这里我们只介绍免费的防ddos攻击的解决办法. 1.  服务器端分析方法 (1)SYNFlood攻击判定 A:网上邻居->右键 ...

最新文章

  1. AJAX GET的请求
  2. 8.1 matlab图形窗口与坐标轴(图形对象的句柄和属性、坐标轴的操作、图形窗口的操作)
  3. arcLength函数
  4. MPlayer在ARM上的移植(S5PV210开发板)
  5. python递归函数的思想_Python递归函数实例讲解
  6. 使用pdf.js在移动端预览pdf文档
  7. AltiumDesigner画图不求人12 AD库转换为PADS库
  8. FL Studio使用外部音源播放导入的MIDI文件
  9. python Excel xlsx file; not supported
  10. [转载]美国名校的与机器视觉相关的研发中心网址
  11. python新闻爬虫系统的功能_基于Scrapy框架的Python新闻爬虫
  12. SaaS鉴证实录:网络营销企业的自我营销之道
  13. 网站改版注意事项—北京高端网站制作
  14. 西工大2021夏信息技术基础认知与实践Python方向作业day0102
  15. 专注应用链孵化|章鱼加速器2022冬季 Web3 创业营团队全球招募中
  16. 数据库课程设计个人总结报告
  17. hpe 3par命令行查看状况脚本
  18. revit机电软件 辅助工具介绍
  19. detectron2系列:checkpoint软件包
  20. java排队算法_贪心算法-排队问题-JAVA

热门文章

  1. 【保护盖】钢筋套筒保护盖A钢筋套筒内螺纹塑料保护盖作用及使用方法
  2. python代码调试-ipdb
  3. 准确率超90%、1秒发出报警,人工智能助国网山东实现无人巡检(人工智能应用案例)
  4. python如何使板子移动_python实现移动木板小游戏
  5. Lenovo G480笔记本安装OS X Mavericks 10.9,升级10.9.1,驱动安装,DSDT修改全过程
  6. [C++11]左值、右值、左值引用、右值引用小结
  7. 常用计算机铭牌,开关铭牌常用的符号表示是什么意思?
  8. 栈的概念以及栈入与栈出
  9. UG\NX二次开发 获取所有子部件 UF_ASSEM_ask_all_part_occ_children
  10. 多品种、小批量生产计划的编制方法与质量控制措施