Web安全

作者: BubbleM | 来源:发表于2017-05-31 18:03 被阅读66次

tooken http://www.cnblogs.com/bukudekong/p/3829875.html
所谓攻击,即黑客利用网站操作系统的漏洞和Web服务程序的SQL注入漏洞等得到Web服务器的控制权限,轻则篡改网页内容,重则窃取重要内部数据,更为严重的则是在网页中植入恶意代码,使得网站访问者受到侵害。

常见的Web攻击技术:

  1. XSS(Cross-Site Scripting,跨站脚本攻击):指通过在存在安全漏洞的Web网站注册用户的浏览器内运行非法的HTML标签或JavaScript进行的一种攻击.重点是跨域和客户端执行
  2. SQL注入攻击
  3. CSRF(Cross-Site Request Forgeries,跨站点请求伪造):指攻击者通过设置好的陷阱,强制对已完成的认证用户进行非预期的个人信息或设定信息等某些状态更新.
    CSRF的核心就是请求伪造,通过伪造身份提交POST和GET请求来进行跨域的攻击。完成CSRF需要两个步骤:
  • 登陆受信任的网站A,在本地生成cookie
  • 在不登出A的情况下,或者本地cookie没有过期的情况下,访问危险网站B

1. XSS的原理

XSS其实就是Html的注入问题,攻击者的输入没有经过严格的控制进入了数据库,最终显示给来访的用户,导致可以在来访用户的浏览器里以浏览用户的身份执行Html代码,数据流程如下:攻击者的Html输入—>web程序—>进入数据库—>web程序—>用户浏览器。

2. XSS的攻击方式

1.反射型 Reflected XSS
发出请求时,XSS代码出现在URL中,作为输入提交到服务器端,服务器端解析后响应,XSS代码随响应内容一起传回给浏览器,最后浏览器解析执行XSS代码。这个过程像一次反射,故叫反射型。

router.get('/', function(req, res, next) {
  res.set('X-XSS-Protection',0);//禁止浏览器对XSS进行拦截
  res.render('index', { title: 'Express',xss:req.query.xss});//获取url中的参数做解析xss
});
<body>
    <h1><%= title %></h1>
    <p>Welcome to <%= title %></p>
    <div class="">
        <%- xss %> <!--执行xss脚本-->
    </div>
  </body>

浏览器地址栏输入格式如http://localhost:3000/?xss=<img src="" onerror="alert(1)"/>

  • 输入xss等于一个<img>标签,图片会显示在页面中 弹出1


    img攻击.png
  • 如果xss脚本是一iframe,可以植入广告


    iframe.png

2.存储型 Stored XSS
存储型XSS和反射型XSS的差别仅在于,提交的代码会存储在服务器端(数据库、内存、文件系统等),下次请求目标页面时不用再次提交XSS代码。

  res.render('index', { title: 'Express',xss:sql()});//sql语句操作

3.基于DOM或本地的XSS攻击 DOM-based or local XSS
一般是提供一个免费的wifi,但是提供免费wifi的网关会往你访问的任何页面插入一段脚本或者直接返回一个钓鱼页面,从而植入恶意脚本。这种直接存在于页面,无须经过服务器返回就是基于本地的XSS攻击。

3. XSS的防御措施

  1. 编码
    对用户输入的数据进行HTML Entity编码
  2. 过滤
    移除用户上传的DOM属性,如onerror等,要过滤掉用户上传的事件
    移除用户上传的Style节点、Script节点、Iframe节点等。如用户上传body{displat:none;}这样我们的页面什么都不显示了。
  3. 校正
    避免直接对HTML Entity解码
    使用DOM Parse转换,校正不配对的DOM标签

4. 攻击目的和手段

攻击者使被攻击者在浏览器中执行脚本后,如果需要收集来自被攻击者的数据(如cookie或其他敏感信息),可以自行架设一个网站,让被攻击者通过JavaScript等方式把收集好的数据作为参数提交,随后以数据库等形式记录在攻击者自己的服务器上。

  1. 盗用 cookie ,获取敏感信息。
  2. 利用植入 Flash ,通过 crossdomain 权限设置进一步获取更高权限;或者利用Java等得到类似的操作。
  3. 利用 iframe、frame、XMLHttpRequest或上述Flash等方式,以(被攻击)用户的身份执行一些管理动作,或执行一些一般的如发微博、加好友、发私信等操作。
  4. 利用可被攻击的域受到其他域信任的特点,以受信任来源的身份请求一些平时不允许的操作,如进行不当的投票活动。
  5. 在访问量极大的一些页面上的XSS可以攻击一些小型网站,实现DDoS攻击的效果。
  6. 破坏页面正常结构,插入恶意内容.

5. 模仿XSS攻击

https://github.com/BubbleM/xss_demo

CSRF:http://blog.csdn.net/stpeace/article/details/53512283

相关文章

  • Web安全

    tooken http://www.cnblogs.com/bukudekong/p/3829875.html所...

  • Web程序开发应具备的知识体系

    姓名:房小慧 学号:17101223361 专业:软件工程 【嵌牛导读】:在IT行业中,Web前端和Web后台的开...

  • 论文笔记(4)

    《基于 Web的问答系统综述》李舟军 李水华(北京航空航天大学计算机学院 北京100191)2017年的论文 一、...

  • 沪江网校前端架构漫谈

    作者:易未来(沪江Web前端架构师)本文转自互联网技术联盟(ITA1024)技术分享实录,微信公众号:ita102...

  • 安全?安全!安全。

    清早上班,小尚摇晃着手里的一张纸,感慨万千:四个人啊,一下子四个人,这个事故可不算小,五轮车从后边戳上他们,这伤啊...

  • 安全,安全,安全!

    早上大雾,能见度30米左右。远点一看以为后红绿灯坏了,啥都看不见,一片雾茫茫。走近一看才发现,原来是自己眼神不好,...

  • 安全,安全,行车安全

    这段时间上海这边对从事网约配送的电动车必须挂电子牌照议论纷纷。 电子牌照是电子监管,对于各类违反交规的行为拍照,然...

  • 安全,安全

    今天老公回来了,他说最近因为疫情,很多同事都休息了,只有他和一个同事坚守,好累,现在回家休息的同事大都返岗了,他终...

  • 97

    没有安全感没有安全感没有安全感没有安全感没有安全感没有安全感没有安全感没有安全感没有安全感没有安全感没有安全感没有...

  • 洗心良言,

    任何时候都要注意环境安全,卫生安全,经济安全,政治安全,心理安全,行为安全,语言安全。 要学会审时度...

网友评论

    本文标题:Web安全

    本文链接:https://www.haomeiwen.com/subject/yvtdfxtx.html