Web安全基础
关键字:计算机的互联依赖于网络,服务都是运行在操作系统上
摘要:
LAMP>>
linux+apache+mysql+php
操作系统+Web 容器+数据库服务+中间件
metinfo 5.0.4 版本
CMS 网站内容管理系统
安全问题>> 系统 /apache /数据库 /php
整个安全是有安全基线
一、web工作机制
概述>>
用户发出请求,服务器根据请求的URL的地址链接,找到对应的网页文件发送给客户(在用户浏览器中有个解释器,把这些文本描述的页面恢复成图文并茂的可视页面)
.html 静态网页 >>通过页面上的URL地址在网站页面之间跳转>>单向流动
动态网页>>(中间件服务器)利用flash、PHP、asp、Java等技术在网页中嵌入可运行脚本,用户浏览器在解释页面时,遇到脚本就启动>>双向流动,产生交互
数据库>>当用户请求页面是,脚本根据用户请求的页面,涉及到动态数据的地方,利用SQL数据库语言,从数据读取自信的数据,生成完整页面,最后送给用户
Web 工作机制
静态页面 .html
动态页面 .php/.asp/.jsp/.aspx....
数据库 mysql/mssql/orcale/access....
Web 容器 处理客户端请求
工作模式: 请求与响应
二、HTTP协议
HTTP设计用来将超文本标记语言(HTML)文档从Web服务器传送到Web浏览器
是一个请求和响应协议:客户机发送请求,服务器对请求给出回应
特点:
简单快速,客户向服务器请求是,只需要传送请求方法和路径
灵活;允许传输任意类型的数据对象,正在传输的类型由Conten-type加以标记
HTTP协议是无状态协议,无状态是指对于事物处理没有记忆能力
URL:
其他字符均会被百分号编码(URL 编码)>>空格%20 #%23
HTTP协议结构>>客户端请求与服务器回应
HTTP报文分析>>请求与响应
REQUEST(请求)>>由请求行、请求头、请求正文三个部分组成
请求行>>里面有 方法、资源路径、协议版本
F12控制台
当刷新页面时会进行请求,请求格式是原始请求信息
请求正文
请求方法
GET方法 是访问网站的一般方式
post 与GET方法类似,请求的参数在请求正文
HEAD 与GET方法类似,不返回响应正文>>目录扫描的时候
PUT 向服务器系写文件
delete 删除服务器文件
TRACE 回显服务器收到的请求
options 测试服务器所支持的方法
一个安全浏览器必须禁用put和delete方法
一般服务器不会让测试服务器所支持的方法>>
通过模拟HTTP请求 用options 测试 服务器所支持的http 方法 利用telnet
RESPONSE(请求响应)
响应包含三个部分:响应行、响应头、响应正文(服务器返回的资源内容)
HTTP-Version 表示服务器HTTP协议的版本;
Sataus-Code 表示服务器返回的响应状态码
Reason-Phrase 表示状态码的文本描述
响应行>>有协议版本、状态码
常见响应码;
响应头>>
常用截取HTTP报文的工具
firebug 火狐浏览器的插件
burp suite 神器 kali 自带
Fiddler
Tamper Data 火狐的插件
WireShark 抓五层数据都可以
二、Cookie和session机制
1.Cookie机制
(1.为什么要用cookie机制
HTTP协议本身是无状态协议,Http不会记录前一次传输的数据信息
希望能在客户端和服务器这个交互的会话期间内,服务器能够保持对客户端会话的识别,也就是保持http的状态性 >>没有改变只是弥补了
(2.怎么做到的
cookie>>类似于超市的会员卡,可能会遇到窃取和欺骗
(3.规范
cookie 随着http请求一起发送到服务器,这个过程是自动的
预定义超全局数组变量 $_COOKIE
TIPS: $_GET/$_POST/$_COOKIE 合称 GPC
2.Session机制