安全必备基础知识

一、安全测试基本方法及原理

 a、绕过客户端控件

b、攻击验证机制

c、攻击会话管理

d、攻击数据存储

Web基础概念

1、HTTP协议请求方法

GET方法:

  • GET请求可能会被网络蜘蛛随意访问;
  • GET方法中如果有隐私、关键信息那就是不安全;
  • 登录中用GET方法请求是不安全的,容易让网络蜘蛛抓取到;
  • 例如:Get/home/view.jsp?Uid123,unamejack

POST方法

提交数据进行处理【表单、数据】POST请求是带参数的

例如:POST/home/requst.jsp/usname=jack & pasword=123456  转成 GET请求 就是安全漏洞

 2、HTTP状态码(常见)

状态码          状态码英文名称                      中文描述

200                 OK                                   请求成功,一般用于GET和POST方法请求

202                 Accepted                         已接收请求,但未处理

301                 Moved Permanently         永久移动,请求资源永久被移动;【登录成功--->返回200提示登录成功--->很快跳转到302 让你回到首页或者【/home】--->302后面在发请求还跟着以前走】

302                  Fonund                             临时重定向,访问资源临时移动;

400                   Bad Request                    客户端请求语法错误,服务器无法理解;

401                   Unauthorized                   请求要求用户的身份认证

404                   Not  Found                       服务器无法根据客户端请求找到资源;

500                   Internal  Server Error         服务器内部错误,无法完成请求

502                   Bad  Gateway                     充当网关或代理的服务器,从远程服务器接受到了一个无效请求 ( 网断了 、网坏了;)

404 和 500 区别

404:指请求正确,

  a、请求的参数错误,请求本身正确但是参数错误(例如:文件名、页面名)错误;

    b、请求没有错,但是服务器上面的资源不正确;404指请求没有错误,资源不存在(不存在的原因:文件名错误,想要的文件错误的消失了);

500:指发出一个正确或者错误的请求,该请求对服务器而言接受不了(有可能是服务器挂掉了,或者有可能是服务器根本就没有办法去承接该请求);

安全测试实施:

3、编码方式(URL编码、HTML编码、BASE64编码)

二、安全测试基础知识

1、 什么时候开始做安全测试?

先做完: 功能测试---->性能测试---->自动化测试---->安全测试

2、  安全测试方法:

    解析应用程序:

     a、把应用程序分成片例如:【登录】【注册】【购物车】【首页】【个人信息】-->每个模块包含那些请求、那些URL;

   b、基于每个模块所包含页面和URL来【制定安全策略】

   c、使用Burp Suite工具解析应用程序:

   要进行spider ----->打开proxy----->访问www.besttest.cn  ---->在sitemap里面--->右键besttest.cn 选择--->spider this site------>等待和填充表单;

3、收集分析关键信息

利用搜索引擎:

搜索引擎中具有强大的爬虫,能发现几乎所有内容的详细记录,并将这些内容保存在缓存中;

   site  命令:   例如:site:www.baidu.com

Stie  命令对搜索的网站进行限制,表示搜索结果局限于具体网站;

  inurl:  搜索关键字包含在URL链接中

灭绝师太 inurl:www.baidu.com

4、安全测试流程

解析、分析web应用

测试验证机制

      测试会话管理

        测试访问控制

       测试基于输入的各种漏洞(SQL注入、XSS等)

       会员管理机制

      安全漏洞管理

三、安全测试基础知识总结

a 、HTTP(http请求、响应、消息头、状态码等)

b、会话管理机制 :

        Session上的破解   cookie session对应上的漏洞;

Session  cookie共同作用?又是在什么时间生成?什么时间注销? 会话超时又是什么状况? Cookie里都存什么?怎样作用?

核心防御机制

WEB应用程序采用的防御机制主要由几个核心因素组成:

       a、处理用户访问应用程序的数据和功能,防止用户获得未授权访问相关权限?

        b、处理用户对应用程序的输入,防止错误输入造成的不良行为?

输入指:修改request请求、包括改变请求(数据、参数、主体)

c、防范攻击者,确保应用程序在成为攻击目标是能正常运转,并采取适当的防御与攻击措施挫败攻击者。

d、有后验措施为什么还要先验?

先验的措施本身也是为了后验的一部分。

时间: 2025-01-15 18:32:56

安全必备基础知识的相关文章

Oracle的DML语言必备基础知识

原文:Oracle的DML语言必备基础知识 前提是咱们都已经对常用的数据操纵语言非常熟悉了,对标准SQL: SELECT子句                --指定查询结果集的列 DROM子句                 --指定查询来自哪个表或者试图 [WHERE 子句]              --指定查询的条件 [GROUP BY 子句]           --指定查询结果集的分组的条件 [HAVING 子句]             --指定分组或者集合的查询条件 [ORDERB

.net学习必备基础知识

进入21世纪,开发Windows程序已经成为以Dll为基础,而.NET  Framwork也日益成为我们开发软件的有利工具,下边我们就来先看一下,学习.net的一些必备基础知识. 一,首先.net是由公共语言执行时期(CLR)与基底类别库(BCL)组成.这两个东西是什么呢?我们先来看一下: 1,CLR是公共语言运行时,Common language Runtime 和Java虚拟机一样也是一个运行时环境,他负责资源管理(内存分配和垃圾收集),并保证应用和底层操作系统之间必要的分离.也就是给了我们

SQL点滴17—使用数据库引擎存储过程,系统视图查询,DBA,BI开发人员必备基础知识

原文:SQL点滴17-使用数据库引擎存储过程,系统视图查询,DBA,BI开发人员必备基础知识 在开发过程中会遇到需要弄清楚这个数据库什么时候建的,这个数据库中有多少表,这个存储过程长的什么样子等等信息,今天把自己工作过程中经常用到的一些数据库引擎存储过程,系统视图等等总结一下以备不时之用.下面的知识多是自己总结,有一些参考了MSDN. sp_help 有时候想尽快查出数据库对象的相关信息,这个存储过程就很有用了.使用它可以查询出整个数据库中所有对象的相关信息.直接运行sp_help结果如下图1,

快速掌握Docker必备基础知识

快速掌握Docker必备基础知识 Docker是时下热门的容器技术,相信作为一名开发人员,你一定听说过或者使用过,很多人会把Docker理解为一个轻量级虚拟机,但其实Docker与虚拟机(VM)是两种不同的计算机虚拟化技术,也有很多人会觉得,有了虚拟机,那为什么还要使用Docker呢? 带着心里的一点点疑问,让我们一起来学习Docker吧. 没有虚拟化技术的原始年代 我们仔细想想,在没有计算虚拟化技术的“远古”年代,如果我们要部署一个应用程序(Application),一般的步骤是怎么样的? 第

编程必备基础知识|计算机组成原理篇(06):计算机的字符与编码集

计算机基础方面的知识,对于一些非科班出身的同学来讲,一直是他们心中的痛,而对于科班出身的同学,很多同学在工作之后,也意识到自身所学知识的不足与欠缺,想回头补补基础知识.关于计算机基础的课程很多,内容繁杂,但无论是相关书籍还是大学课程,都有点脱离工作.特别地,计算机基础知识体系庞杂,想要从零学习或者复习都耗时耗力. 有鉴于此,本系列文章将带你更快的补足编程必备基础知识,涵盖计算机领域三大基础知识:计算机组成原理.操作系统.计算机网络,这些都是大学计算机课程里面最重要的内容.文章对这些内容做了提炼和

编程必备基础知识|计算机组成原理篇(07):计算机的总线

计算机基础方面的知识,对于一些非科班出身的同学来讲,一直是他们心中的痛,而对于科班出身的同学,很多同学在工作之后,也意识到自身所学知识的不足与欠缺,想回头补补基础知识.关于计算机基础的课程很多,内容繁杂,但无论是相关书籍还是大学课程,都有点脱离工作.特别地,计算机基础知识体系庞杂,想要从零学习或者复习都耗时耗力. 有鉴于此,本系列文章将带你更快的补足编程必备基础知识,涵盖计算机领域三大基础知识:计算机组成原理.操作系统.计算机网络,这些都是大学计算机课程里面最重要的内容.文章对这些内容做了提炼和

编程必备基础知识|计算机组成原理篇(09):CPU的控制器和运算器

计算机基础方面的知识,对于一些非科班出身的同学来讲,一直是他们心中的痛,而对于科班出身的同学,很多同学在工作之后,也意识到自身所学知识的不足与欠缺,想回头补补基础知识.关于计算机基础的课程很多,内容繁杂,但无论是相关书籍还是大学课程,都有点脱离工作.特别地,计算机基础知识体系庞杂,想要从零学习或者复习都耗时耗力. 有鉴于此,本系列文章将带你更快的补足编程必备基础知识,涵盖计算机领域三大基础知识:计算机组成原理.操作系统.计算机网络,这些都是大学计算机课程里面最重要的内容.文章对这些内容做了提炼和

php基础教程-必备基础知识

PHP 脚本在服务器上执行. 您应当具备的基础知识 在继续学习之前,您需要对下面的知识有基本的了解: HTML CSS JavaScript 如果您希望首先学习这些项目,请在我们的 首页 访问这些教程. 什么是 PHP? PHP 是 "PHP Hypertext Preprocessor" 的首字母缩略词 PHP 是一种被广泛使用的开源脚本语言 PHP 脚本在服务器上执行 PHP 没有成本,可供免费下载和使用 PHP 是一门令人惊叹的流行语言! 它强大到足以成为在网络上最大的博客系统的

测试小白必备基础知识总结

什么是软件测试 软件测试是使用人工操作或者软件自动运行的方式来检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别的过程. 本质:软件测试是为发现软件错误而执行程序的过程. 例如场景:淘宝网用户登陆 大家都有在淘宝购物的经历吧,如果想要在淘宝进行购物,就必须登陆后才能进行. 那么能够登陆的前提是什么呢?必须是淘宝网的注册用户. 登陆的步骤是什么呢?在下图1中输入已经注册的用户名>输入已设定的密码>点击“登陆”按钮,步骤非常简单. 大家也一定会遇到过用户名和密码输入错误而无法登陆的情况,此