1. XSS(Cross Site Script,跨站脚本攻击)

是向网页中注入恶意脚本在用户浏览网页时在用户浏览器中执行恶意脚本的攻击方式。

1.1跨站脚本攻击分有两种形式:

反射型攻击(诱使用户点击一个嵌入恶意脚本的链接以达到攻击的目标,目前有很多攻击者利用论坛、微博发布含有恶意脚本的URL就属于这种方式)

持久型攻击(将恶意脚本提交到被攻击网站的数据库中,用户浏览网页时,恶意脚本从数据库中被加载到页面执行,QQ邮箱的早期版本就曾经被利用作为持久型跨站脚本攻击的平台)。

1.2防范XSS主要有两方面

消毒(对危险字符进行转义)和HttpOnly(js无法获取Cookie数据)

2.SQL注入攻击

当服务器使用请求参数构造SQL语句时,恶意的SQL被嵌入到SQL中交给数据库执行。SQL注入攻击需要攻击者对数据库结构有所了解才能进行,攻击者想要获得表结构有多种方式:

  • 如果使用开源系统搭建网站,数据库结构也是公开的(目前有很多现成的系统可以直接搭建论坛,电商网站,虽然方便快捷但是风险是必须要认真评估的)
  • 错误回显(如果将服务器的错误信息直接显示在页面上,攻击者可以通过非法参数引发页面错误从而通过错误信息了解数据库结构,Web应用应当设置友好的错误页,一方面符合最小惊讶原则,一方面屏蔽掉可能给系统带来危险的错误回显信息)
  • 盲注。防范SQL注入攻击也可以采用消毒的方式,通过正则表达式对请求参数进行验证,此外,参数绑定也是很好的手段,这样恶意的SQL会被当做SQL的参数而不是命令被执行,JDBC中的PreparedStatement就是支持参数绑定的语句对象,从性能和安全性上都明显优于Statement。

3.CSRF攻击(Cross Site Request Forgery,跨站请求伪造)

一.CSRF是什么?

  CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。

二.CSRF可以做什么?

  你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账......造成的问题包括:个人隐私泄露以及财产安全。

三.CSRF漏洞现状

  CSRF这种攻击方式在2000年已经被国外的安全人员提出,但在国内,直到06年才开始被关注,08年,国内外的多个大型社区和交互网站分别爆出CSRF漏洞,如:NYTimes.com(纽约时报)、Metafilter(一个大型的BLOG网站),YouTube和百度HI......而现在,互联网上的许多站点仍对此毫无防备,以至于安全业界称CSRF为“沉睡的巨人”。

四.CSRF的原理

  下图简单阐述了CSRF攻击的思想:

  

  从上图可以看出,要完成一次CSRF攻击,受害者必须依次完成两个步骤:

  1.登录受信任网站A,并在本地生成Cookie。

  2.在不登出A的情况下,访问危险网站B。

最新文章

  1. android 中获取视频文件的缩略图(非原创)
  2. [Linux] - Docker制作nginx+php
  3. python——请求服务器(http请求和https请求)
  4. python--同一mysql数据库下批量迁移数据
  5. 数据库Mark.2
  6. 软件包管理 之 Fedora/Redhat 在线安装更新软件包,yum 篇 ── 给新手指南
  7. dtd语法之定义属性
  8. Intent官方教程(3)各属性介绍
  9. 小型网站如何防范DDoS攻击
  10. UIPasteboard 粘贴板
  11. Retrofit2 上传图片等文件
  12. hdu 4737
  13. jq图片展示插件highslide.js简单dom
  14. Go开发之路 -- 指针类型
  15. 概念数据模型CDM基础
  16. 洛谷P1477 假面舞会
  17. git无法pull仓库refusing to merge unrelated histories (拒绝合并不相关仓库)
  18. create table test_create_table_CreateAs as select * from test_create_table; 表结构的破坏 复制字段结构 复制表结构 LIKE
  19. 1.4 Chrome浏览器
  20. VM虚拟机-Ubuntu server- 桥接模式网络配置

热门文章

  1. RIP2与OSPFv2 动态路由协议区别
  2. 跨域:The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed
  3. Struts拦截器设置完的值为什么在页面取不到
  4. 【进阶】uniapp复现微信相册功能之【图视频编辑 + 压缩】
  5. 【LeetCode】1120. Maximum Average Subtree 解题报告 (C++)
  6. 【LeetCode】971. Flip Binary Tree To Match Preorder Traversal 解题报告(C++)
  7. 【LeetCode】754. Reach a Number 解题报告(Python & C++)
  8. 【LeetCode】728. Self Dividing Numbers 解题报告(Python)
  9. 【LeetCode】657. Judge Route Circle 解题报告
  10. 【LeetCode】636. Exclusive Time of Functions 解题报告(Python)