安全必备基础知识
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安全必备基础知识相关的知识,希望对你有一定的参考价值。
一、安全测试基本方法及原理
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、有后验措施为什么还要先验?
先验的措施本身也是为了后验的一部分。
以上是关于安全必备基础知识的主要内容,如果未能解决你的问题,请参考以下文章