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数据内容
2019-9-23:渗透测试,基础学习,http协议数据包的认识,html css的认识,笔记的更多相关文章
- 零基础到精通Web渗透测试的学习路线
小编相信很多新手都会遇到以下几个问题 1.零基础想学渗透怎么入手? 2.学习web渗透需要从哪里开始? 这让很多同学都处于迷茫状态而迟迟不下手,小编就在此贴给大家说一下web渗透的学习路线,希望对大家 ...
- WEB渗透测试基础工具
代理查询网站:hidemyass(隐藏我的屁股) HTTrack:HTTrack是一个免费和易用的离线浏览工具(浏览器),它可以允许你下载整个WWW网站至本地目录,并且通过遍历网站目录获取HTML,图 ...
- kali黑客渗透测试基础环境准备
1.apt-get install python-nmap 2.apt-get install python-setuptools 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 ...
- kali渗透测试基础
一侦查 研究如何收集有关目标的情报,比如开发那些端口用来通信,托管在哪里,提供给客户的服务类型等. 交付内容应该包括需要攻击的所有目标资产清单,与那些资产关联的应用,使用的服务以及可能的资产所有者. ...
- 安全测试-WEB安全渗透测试基础知识(四)
.4. HTTP标准 1.4.1. 报文格式 1.4.1.1. 请求报文格式 <method><request-URL><version> <headers& ...
- 基础学习day10--异常、包
一.异常 1.1.异常定义 异常:--不正常,程序在运行时出现不正常情况 异常由来:其实也是现实生活中一个具体的事物,马可以通过JAVA的类的形式表现描述,并封装成类. Java对不正常情况描述后的, ...
- C语言编程基础学习字符型数据的ASCII码值为何是负数?
C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...
- Unity3D基础学习之AssetBundle 资源包创建与加载
前几天做了AssentBundle的例子,遇到了问题,在论坛上问了三天都没人解答,最后在一个朋友的帮助下解决了.下面介绍AssentBundle. AssetBundles让你通过WWW类流式加载额外 ...
- 使用RStudio调试(debug)基础学习(二)和fGarch包中的garchFit函数估计GARCH模型的原理和源码
一.garchFit函数的参数--------------------------------------------- algorithm a string parameter that deter ...
随机推荐
- 面试 LockSupport.park()会释放锁资源吗?
(手机横屏看源码更方便) 引子 大家知道,我最近在招人,今天遇到个同学,他的源码看过一些,然后我就开始了AQS连环问. 我:说说AQS的大致流程? 他:AQS包含一个状态变量,一个同步队列--bala ...
- Flask解析(二):Flask-Sqlalchemy与多线程、多进程
Sqlalchemy flask-sqlalchemy的session是线程安全的,但在多进程环境下,要确保派生子进程时,父进程不存在任何的数据库连接,可以通过调用db.get_engine(app= ...
- kaldi中CD-DNN-HMM网络参数更新公式手写推导
在基于DNN-HMM的语音识别中,DNN的作用跟GMM是一样的,即它是取代GMM的,具体作用是算特征值对每个三音素状态的概率,算出来哪个最大这个特征值就对应哪个状态.只不过以前是用GMM算的,现在用D ...
- 数据文件包解析工具类 RandomAccessFile
public class ReadTextFile { public static void main(String[] args) { pic2txt(); parseFrmFile(); //ur ...
- 关于 mybatis 报invalid comparison: java.util.Arrays$ArrayList and java.lang.String异常
今天碰到个问题,来记录下,希望可以帮助到大家 贴错误源码: 这是一个根据list集合的查找数据的 sql,在接收list的时候加了判断 list != ‘ ’ “”,引起了集合与Stirng类型的比较 ...
- 安装实时查看日志工具 log.io
官网:http://logio.org/ 一.环境 [root@centos ~]# cat /etc/system-release CentOS release 6.5 (Final) [root@ ...
- CSPS模拟 69
$C_n^0=1$ $C_n^0=1$ $C_n^0=1$ 我怎么又双叒叕犯这种错误了啊 (咳檀) T1 WA0,大神题,不会做! T2 就是要找一个最长区间,满足左端点是区间最小值,右端点是区间最大 ...
- 面试精选:JVM垃圾回收
Tips:关注公众号:松花皮蛋的黑板报,领取程序员月薪25K+秘籍,进军BAT必备! Java堆中存放着大量的Java对象实例,在垃圾收集器回收内存前,第一件事情就是确定哪些对象是“活着的”,哪些是可 ...
- 【IOS开发学习—OC篇】
一.instancetype和id关键字的区别 1)instancetype表示方法的返回类型和调用方法的对象类型相同. 2)在Object-C引入instancetype之前,初始化方法的返回类型都 ...
- centos6的mysql安装
1.安装mysql服务端 yum install mysql-server yum install mysql-devel 2.下载mysql的压缩包 wget http://dev.m ...