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协议基础的更多相关文章

  1. HTTP学习记录:一、协议基础

    学习资源主要为:@小坦克HTTP相关博客 1.HTTP简介: HTTP协议是Hyper Text Transfer Portocol(超文本传输协议)的缩写,它是一种通信协议,允许将超文本(即:htm ...

  2. 小白学习安全测试(四)——扫描工具-Vega

    WEB扫描工具-Vega 纯图形化界面,Java编写的开源web扫描器.两种工作模式:扫描模式和代理模式[主流扫描功能].用于爬站.处理表单,注入测试等.支持SSL:http://vega/ca.cr ...

  3. 小白学习安全测试(三)——扫描工具-Nikto使用

    扫描工具-Nikto #基于WEB的扫描工具,基本都支持两种扫描模式.代理截断模式,主动扫描模式 手动扫描:作为用户操作发现页面存在的问题,但可能会存在遗漏 自动扫描:基于字典,提高速度,但存在误报和 ...

  4. 小白学习安全测试(二)——httrack的安装和使用

    httrack是一款免费的网站镜像程序,简单理解就是可以在网站结构(网页及一些主要信息文件),下载到本地,可离线浏览,我是按照搭建成功后的console直译过来的 下面说下安装: 我都是在Linux环 ...

  5. Linux学习(1)- TCP/IP网络协议基础

    Linux学习(1)- TCP/IP网络协议基础 一.TCP/IP 简介 学习内容 TCP/IP(Transmission Control Protocol/Internet Protocol)是传输 ...

  6. 小白日记27:kali渗透测试之Web渗透-Http协议基础,WEB

    Http协议基础 Web技术发展[http://www.cnblogs.com/ProgrammerGE/articles/1824657.html] 静态WEB[网页] 动态WEB 属于一种应用程序 ...

  7. 电脑小白学习软件开发-C#语言基础之循环重点讲解,习题

    写代码也要读书,爱全栈,更爱生活.每日更新原创IT编程技术及日常实用视频. 我们的目标是:玩得转服务器Web开发,搞得懂移动端,电脑客户端更是不在话下. 本教程是基础教程,适合任何有志于学习软件开发的 ...

  8. 协议基础:SMTP:使用Telnet学习SMTP协议

    协议基础:SMTP:使用Telnet学习SMTP协议 2018-07-30 20:05:50 liumiaocn 阅读数 7479更多 分类专栏: 工具 Unix/Linux   版权声明:本文为博主 ...

  9. 零基础如何迅速学习HTML5?新手小白学习web前端H5自白!

    很多的人在毕业之后才发现原来学的专业不是自己想做的工作,或者专业对口的工作待遇让人觉得并不满意,于是很多人选择培训机构学新的一门技能转换行业.IT行业的web前端H5受到很多学员的青睐.那么学习web ...

随机推荐

  1. d3 选择器

    一.隔了一段时间没看D3了,好多api又陌生了.武林太大,唯有自强不息. D3 选择器算是学习D3的第一步吧. 跟 学习JQ一样.先熟悉下api,才能够如鱼得水,手到勤来. 二. 选择器 1.选择器 ...

  2. ecshop ueditor实现百度编辑器

    ecshop后台编辑器替换成ueditor编辑器 投稿:hebedich 字体:[增加 减小] 类型:转载   这篇文章主要介绍了ecshop后台编辑器替换成ueditor编辑器的详细过程,这里推荐给 ...

  3. Windows 下 Docker 的简单学习使用过程之二 Docker For windows

    1. Docker For windows 最新版也支持到了 docker ce 18.06 (这个博客的编写时间是 2018.8.17 当时是最新的) 2. 下载安装. 大概500m 左右的安装文件 ...

  4. linux 开机直接进入命令行

    一.图形界面和命令行切换 linux系统在启动图形化界面后,可以在图形界面和命令行之间来回切换,linux提供了6个命令行终端(terminal或Console),分别为tty1——tty6,使用Ct ...

  5. 使用spring单元调试出错initializationError

    1.引入spring jar包之后,单元测试一直出错,提示initializationError. 2.在网上看说是junit版本的问题,引入其他版本之后,还是不对. 3.最后发现是需要引入 这两个j ...

  6. Java之HashMap用法

    源码: package test_demo; import java.util.HashMap; import java.util.Iterator; import java.util.Map; im ...

  7. shell之三大文本处理工具grep、sed及awk

    grep.sed和awk都是文本处理工具,虽然都是文本处理工具单却都有各自的优缺点,一种文本处理命令是不能被另一个完全替换的,否则也不会出现三个文本处理命令了.只不过,相比较而言,sed和awk功能更 ...

  8. Play with Floor and Ceil UVA - 10673(拓展欧几里得)

    因为我现在还不会用这个...emm...蒟蒻...只看了 从来没用过....所以切一道水题...练一下... 人家讲的很好  https://blog.csdn.net/u012860428/arti ...

  9. linux下转换windows文件格式为unix sed -i 's/\r//' <filename> 转化为unix格式

    sed -i 's/\r//' <filename> 转化为unix格式

  10. Eclipse配置Maven的一些问题

    问题1:连接私服 build项目非常缓慢 配置好本地的setting文件后,发现build非常缓慢,照显示的进度,可能要一天才会build后一个项目,同事指导解决方法如下: MyEclipse2017 ...