小白学习安全测试(一)——Http协议基础
Http协议基础
Web技术发展【http://www.cnblogs.com/ProgrammerGE/articles/1824657.html】
静态WEB【网页】
动态WEB
- 属于一种应用程序
- 基于数据库
- 每个人看到的内容不同
- 根据用户输入,返回不同结果
WEB攻击类型有数百种
WEB攻击面
1、Network
2、OS
3、WEB Server
4、APP Server
5、Web Application
6、Database
7、Browser
HTTP协议基础【http://www.cnblogs.com/ksxs/articles/772140.html】
明文协议,无机密安全机制
无内建的机密性安全机制
嗅探或代理截断可查看全部明文信息
https只能提高传输层安全【依然可以做中间人攻击】
中间人攻击(伪造证书)【http://www.cnblogs.com/LittleHann/p/3735602.html】
无状态
每一次客户端和服务器段的通信都是独立的过程
WEB应用需要跟踪客户端会话(多步通信)
不适用cookie的应用,客户端每次请求都要重新身份验证【http://www.cnblogs.com/fish-li/archive/2011/07/03/2096903.html】
##cookie等同与session ID
Session用于在用户身份验证后跟踪用户行为轨迹【session会定时失效】
·提高用户体验,但增加了攻击向量
Cycle
请求/响应:
重要的header
Set-Cookie:服务器发给客户端的SessionID (存在被窃取的风险,可冒充别人身份)
Content-Length:响应body部分的字节长度【用于模糊测试】
Location:重定向用户到另一个页面,可识别身份认证后允许访问的页面
Cookie:客户端发回给服务器证明用户状态的信息(头:值成对出现)
Referrer:发起新请求之前用户位于哪个页面,服务器基于此头的安全限制很容易被修改绕过
Host:基于host头进行安全限制很容易被修改绕过
状态码
服务器端响应的状态码白鸥时响应的结果类型(5大类50多个具体状态码)
查看状态码:http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
100s:服务器响应的信息,通常表示服务器还有后续处理,很少出现
200s:请求被服务器成功接受并处理后返回的响应结果
300s:重定向,通常在身份认证成功后重定向到一个安全页面(301/302)
400s:表示客户端请求错误
1、401:需要身份验证
2、403:拒绝访问
3、404:目标未发现
500s:服务器内部错误(503:服务不可用)
小白学习安全测试(一)——Http协议基础的更多相关文章
- HTTP学习记录:一、协议基础
学习资源主要为:@小坦克HTTP相关博客 1.HTTP简介: HTTP协议是Hyper Text Transfer Portocol(超文本传输协议)的缩写,它是一种通信协议,允许将超文本(即:htm ...
- 小白学习安全测试(四)——扫描工具-Vega
WEB扫描工具-Vega 纯图形化界面,Java编写的开源web扫描器.两种工作模式:扫描模式和代理模式[主流扫描功能].用于爬站.处理表单,注入测试等.支持SSL:http://vega/ca.cr ...
- 小白学习安全测试(三)——扫描工具-Nikto使用
扫描工具-Nikto #基于WEB的扫描工具,基本都支持两种扫描模式.代理截断模式,主动扫描模式 手动扫描:作为用户操作发现页面存在的问题,但可能会存在遗漏 自动扫描:基于字典,提高速度,但存在误报和 ...
- 小白学习安全测试(二)——httrack的安装和使用
httrack是一款免费的网站镜像程序,简单理解就是可以在网站结构(网页及一些主要信息文件),下载到本地,可离线浏览,我是按照搭建成功后的console直译过来的 下面说下安装: 我都是在Linux环 ...
- Linux学习(1)- TCP/IP网络协议基础
Linux学习(1)- TCP/IP网络协议基础 一.TCP/IP 简介 学习内容 TCP/IP(Transmission Control Protocol/Internet Protocol)是传输 ...
- 小白日记27:kali渗透测试之Web渗透-Http协议基础,WEB
Http协议基础 Web技术发展[http://www.cnblogs.com/ProgrammerGE/articles/1824657.html] 静态WEB[网页] 动态WEB 属于一种应用程序 ...
- 电脑小白学习软件开发-C#语言基础之循环重点讲解,习题
写代码也要读书,爱全栈,更爱生活.每日更新原创IT编程技术及日常实用视频. 我们的目标是:玩得转服务器Web开发,搞得懂移动端,电脑客户端更是不在话下. 本教程是基础教程,适合任何有志于学习软件开发的 ...
- 协议基础:SMTP:使用Telnet学习SMTP协议
协议基础:SMTP:使用Telnet学习SMTP协议 2018-07-30 20:05:50 liumiaocn 阅读数 7479更多 分类专栏: 工具 Unix/Linux 版权声明:本文为博主 ...
- 零基础如何迅速学习HTML5?新手小白学习web前端H5自白!
很多的人在毕业之后才发现原来学的专业不是自己想做的工作,或者专业对口的工作待遇让人觉得并不满意,于是很多人选择培训机构学新的一门技能转换行业.IT行业的web前端H5受到很多学员的青睐.那么学习web ...
随机推荐
- d3 选择器
一.隔了一段时间没看D3了,好多api又陌生了.武林太大,唯有自强不息. D3 选择器算是学习D3的第一步吧. 跟 学习JQ一样.先熟悉下api,才能够如鱼得水,手到勤来. 二. 选择器 1.选择器 ...
- ecshop ueditor实现百度编辑器
ecshop后台编辑器替换成ueditor编辑器 投稿:hebedich 字体:[增加 减小] 类型:转载 这篇文章主要介绍了ecshop后台编辑器替换成ueditor编辑器的详细过程,这里推荐给 ...
- Windows 下 Docker 的简单学习使用过程之二 Docker For windows
1. Docker For windows 最新版也支持到了 docker ce 18.06 (这个博客的编写时间是 2018.8.17 当时是最新的) 2. 下载安装. 大概500m 左右的安装文件 ...
- linux 开机直接进入命令行
一.图形界面和命令行切换 linux系统在启动图形化界面后,可以在图形界面和命令行之间来回切换,linux提供了6个命令行终端(terminal或Console),分别为tty1——tty6,使用Ct ...
- 使用spring单元调试出错initializationError
1.引入spring jar包之后,单元测试一直出错,提示initializationError. 2.在网上看说是junit版本的问题,引入其他版本之后,还是不对. 3.最后发现是需要引入 这两个j ...
- Java之HashMap用法
源码: package test_demo; import java.util.HashMap; import java.util.Iterator; import java.util.Map; im ...
- shell之三大文本处理工具grep、sed及awk
grep.sed和awk都是文本处理工具,虽然都是文本处理工具单却都有各自的优缺点,一种文本处理命令是不能被另一个完全替换的,否则也不会出现三个文本处理命令了.只不过,相比较而言,sed和awk功能更 ...
- Play with Floor and Ceil UVA - 10673(拓展欧几里得)
因为我现在还不会用这个...emm...蒟蒻...只看了 从来没用过....所以切一道水题...练一下... 人家讲的很好 https://blog.csdn.net/u012860428/arti ...
- linux下转换windows文件格式为unix sed -i 's/\r//' <filename> 转化为unix格式
sed -i 's/\r//' <filename> 转化为unix格式
- Eclipse配置Maven的一些问题
问题1:连接私服 build项目非常缓慢 配置好本地的setting文件后,发现build非常缓慢,照显示的进度,可能要一天才会build后一个项目,同事指导解决方法如下: MyEclipse2017 ...