2019-9-23:渗透测试,基础学习,http协议数据包的认识,html css的认识,笔记
Burp suite功能模块
Dashboard:扫描
Proxy:拦截包,代理
drop:放弃
Intruder:爆破
Decoder:编码,解码
repeater:重放
comparer:比较
BP,proxy项目,拦截响应包,BP要勾选intercept responses based on the following rules:
intercept client requests,拦截请求
intercept clent responses,拦截响应
HHTP协议基础
HTTP特点
简单快捷,请求方式get,post,head等
无连接无状态,请求完就断开
支持模式B/S C/S
URL组成,协议:域名:端口/虚拟目录/文件名?参数#锚点部分
get和post请求方式比较
相同点:
1,get和post都可以创建数组,array,其包含了键值对(key=value),其中的键(key)是表单控件的名称,值是用户输入的数据
2,get和post被视为$_GET和$_POST,是超全局变量
不同点:
1,GET方式将用户发送的数据拼接到URL上,发送的数据量较小,有限,不安全
2,POST方式参数放在请求包的请求数据中,必须使用工具才能查看,发送的数据量较大,安全性较高
请求包:request=请求行+请求头+空行+请求数据
请求包的每个请求头的含义:
Host:表示请求的服务器ip
User-Agent:表示用户本地系统浏览器环境
Accept:表示浏览器可解析的应用环境
Accept-Language:表示浏览器可解析的语言类型
Accept-Encoding:表示浏览器可解析的编码方式
Referer:表示请求页面是从哪里来的
Cookie:表示服务器和浏览器之间的会话状态,该会话状态可以表示用户是否登录过,一般都是服务器给配置的,具有时效性,只要失效就需要用户重新登录,会得到一个新的cookie值,只要登录成功之后,浏览器就会保存cookie,每次去服务器请求都会带上cookie,并且该cookie是需要在服务器中验证的
X-forwarded-for:表示用户真实ip
content-type:表示该请求数据的类型
响应包,Response
用户发送的请求包到达服务器,服务器处理该请求,处理之后返回发送给用户浏览器,将该结果成为相应包
响应包=状态行+响应报头+空行+响应正文(也叫响应内容)
状态码的分类,由3位数字组成:
第一位数字表示响应的类型,共有5种类型
1xx,表示服务器已接收到请求,并需要继续处理
2xx,表示服务器已成功接收到请求,并处理了请求
3xx,表示重定向,URL要跳转到其他页面去请求
4xx,表示用户请求客户端有问题
5xx,表示服务器端内部错误
常见状态码,200 302 304 400 403 404 500 *自行查找学习
200,表示请求已成功,请求所希望的响应头或数据将响应返回
203,表示服务器已成功处理了请求,但返回的实体头部元信息不是在原始服务器上有效的确定集合,而是来自本地或者第三方的拷贝。
302,表示请求的资源现在临时从不同的URL响应请求,由于这一的重定向是临时的,客户端应继续向原有地址发送以后的请求
304,表示如果客户端发送了一个带条件的GET请求且请求已被允许,而文档的内容并没有改变
400,表示语义有误,当前请求无法被服务器理解,或者请求的参数有误
401,表示当前请求需要用户验证,该响应必须包含一个适用于被请求资源的www-authenticate信息头用以询问用户信息
403,表示服务已经理解请求,但是拒绝执行,与401不同的是,身份验证并不能提供任何帮助,而这个请求也不应该被重复提交
404,请求失败,请求所希望得到的资源未被在服务器上发现
500,服务器遇到一个未曾预料的状况,导致了它无法完成对请求的处理,一般是服务器的程序码出错时出现
响应报头参数含义:
data:响应时间
server: 服务器环境
content-length:响应数据包长度
connection:连接状态
content-type:返回响应数据类型,告诉浏览器该使用哪种方式去解析或打开该响应数据的内容
location:表示要跳转到的页面
set-cookie:表示服务器给浏览器设置的cookie值
Firefox工具插件:F12 打开Firebug
<form action=”xx“></form>表单,action:表示提交到哪里,空表示提交给自己
Html元素分类:块级元素和内联元素
块级元素,标签元素会以新行开始或结束,标签<h1><p><talble>等,当前元素标签独占一行
内联元素,显示数据时候不会以新行开始,标签<a><img><td>等,内容都堆积在一起
html的布局,设计网页时,考虑到页面的美观情况会设置页面的局部或整体布局
<div>快级元素,用于组合其他元素,方便同意设置属性或者样式
html的事件,需要出发某些动作的发生,需要事件的支持
CSS(层叠样式表),决定页面怎么显示元素
css引入方式:
引入文件,外链式:通过L<ink>标签引入外部css文件;使用@import在<head>中的<style>标签下用
行内样式:在当前html元素标签中直接写style:""属性;
使用内嵌方式,在<head>下写样式
css执行优先级:行内模式>内嵌方式>外链式
不需要但是不想删除的话,使用 /*内容*/注释掉
css语法:
选择器{属性1:value1;属性2:value2;}
选择器有:
内嵌式
1,标签的名字,影响其他同类型的标签,及所有相同标签都会使用这个样式,例子 div {color:red;}
2,id选择器,例子: <div id="xxx"> ,css写法: #选择器id{color:red;}
3,通过class类方式,可以在不同的元素中使用,例子<h1 class="class"><p="class"> css写法:.class类名{clor:red;},如果需要单独修改样式, p标签.class{color:red;}
文件导入的方式
4,link方式,需要创建一个xx.css文件,html文件中的<head>标签下,使用<link rel="stylesheet" type="text/css" href="css/xx.css">标签
5,@import方式,需要xx.css文件,html文件中<head>标签的<style>标签里,@import url(css/xx.css);
常用样式属性:
background-后背景:background-color背景颜色,background-image背景图片
字体:color字体颜色,size字体大小,text-align字体对齐方式,text-indet字体缩进
盒子模式:margin外边框,border边框,padding内边框,content数据内容