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 ...
随机推荐
- Java多线程编程(四)Lock的使用
一.使用ReentrantLock类 在Java多线程中,可以使用synchronized关键字来实现线程之间的同步互斥,但ReentrantLock类也能达到同样的效果,并且在扩展功能上也更加强大, ...
- 谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信
前言 之前发过一篇文章,用 Python 制作的给父母天气预报提醒的小工具天气变冷了,给父母制作一个天气提醒小助手,这篇文章我同步到博客上之后,有读者在评论区留言,对于部分微信没有网页版接口,导致无法 ...
- UIScrollView的contentView 助于理解
- javadoc的使用
在进行项目开发过程中,项目接口文档是很重要的一块内容,在java项目中我们可以用swagger,asciidoc,javadoc等方式来生产文档,而其中最基本的文档生成方式就是javadoc,它一般用 ...
- 【MySQL】MySQL Workbench快捷键小结
执行当前行,ctrl+enter 执行整篇sql脚本: ctrl+shift+enter 格式化sql语句(美化sql语句):ctrl+b 自动补全:ctrl+space(似乎win10中这个快捷键失 ...
- Spring Boot (日志篇):Log4j2整合ELK,搭建实时日志平台
一.安装JDK1.8以上版本 1.从Oracle官网上下载Linux x64版本的 下载地址: http://www.oracle.com/technetwork/java/javase/downlo ...
- Ubuntu18.04 安装MySQL(Linux)解决登陆权限问题及Navicat for mysql 中文乱码问题
一.MySQL(Linux)解决登陆权限问题 Ubuntu18.04 安装mysql或者mariadb之后,发现普通用户和远程都没有权限连接. ERROR 1045: Access denied fo ...
- python经典面试算法题1.3:如何计算两个单链表所代表的数之和
本题目摘自<Python程序员面试算法宝典>,我会每天做一道这本书上的题目,并分享出来,统一放在我博客内,收集在一个分类中. 1.2 如何实现链表的逆序 [华为笔试题] 难度系数:⭐⭐⭐ ...
- python——字符串操作函数
字符串 join() map() split() rsplit() splitlines() partiton() rpartition() upper() lower() swapcase() ca ...
- 从 DevOps 到 Serverless:通过“不用做”的方式解决“如何更高效做”的问题
作者 | 徐进茂(罗离) JAVA 开发工程师 导读:近年来,Serverless 一词越来越热,它已经逐渐成为了一种新型的软件设计架构.和 DevOps 概念提倡的是通过一系列工具和自动化的技术来 ...