使用BP拦截请求包与响应包以及HTML协议和CSS

时间:2019-09-23
本文章向大家介绍使用BP拦截请求包与响应包以及HTML协议和CSS,主要包括使用BP拦截请求包与响应包以及HTML协议和CSS使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

http协议基础

一、工具介绍

JDKjava的软件开发工具包,方便我们本地运行java开发工具

G:\LAVA\JDK1.8.8_191

验证java -version

Set查看环境变量,path所有变量

Burpsuite

爬虫,扫描(dashboard)、拦包(proxy)、重放repeater、爆破inturder、加码编码decoder、比较comparer

双击打开burpsuite_pro_v2.1_BurpHelper.jar可以使用

或者在终端java -jar burpsuite_pro_v2.1_BurpHelper.jar也可以打开

二、http协议特点

简单快速,请求方式有get post head等八种

无连接无状态

支持模式有B/S(基于浏览器) C/S(编程实现通信)(websocket)

URL,统一资源定位符,在网络中用来标识某处的资源

http(协议)://www.baidu.com(域名):8080(端口)/news(虚拟目录)/index.php(文件名部分)Parameter=deal&id=35&do=add(三个参数)#name(锚部分)

请求包:request=请求行+请求头+空行+请求数据

 请求数据放在尾部是post,放在url里是get

请求方式http1.1  get post head options put delete trace connect

拦截访问百度:

 GET(请求类型) /success.txt HTTP/1.1(协议版本)-------请求行

Host: detectportal.firefox.com

User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0

Accept: */*

Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3

Accept-Encoding: gzip, deflate

Cache-Control: no-cache

Pragma: no-cache

DNT: 1

Connection: close(上述蓝色字体都是请求头,请求形式都是key=value)

空行

请求数据(此处为空,因为当前的请求包的请求方式是get)

 拦截post类型

POST /wordpress/wp-login.php HTTP/1.1

Host: localhost

User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3

Accept-Encoding: gzip, deflate

Referer: http://localhost/wordpress/wp-login

Cookie: wp-settings-time-1=1569116293; wordpress_test_cookie=WP+Cookie+check

DNT: 1

Connection: close

Upgrade-Insecure-Requests: 1

Content-Type: application/x-www-form-urlencoded

Content-Length: 128

 

log=admin&pwd=admin123456&wp-submit=%E7%99%BB%E5%BD%95&redirect_to=http%3A%2F%2Flocalhost%2Fwordpress%2Fwp-admin%2F&testcookie=1

 Getpost请求的比较

相同点

1、getpost都可出啊u你创建数组,array,其包含了键值对(key=value),其中的键就是表单控件的名称,值是用户输入的数据。

2、getpost可视为$_get$_post,是超全局变量

不同点:

1、get型方式将用户发送的数据坪街道url中,发送的数据量较小,不安全

2、post型方式参数放在请求包中的请求数据中,必须使用工具查看,发送的数据量较大,安全性较高。

请求包中的每个请求头的参数意义

Host表示请求的服务器ip

User-agent 表示用户本地环境

Accept 浏览器可以接收解析的应用环境

Accept-language 浏览器可解析的语言类型

Accept-Encoding 浏览器可解析的编码方式

Referer 表示请求页面是从哪里来的

 Action=“”表示提供给自己)

Cookie 表示服务器和浏览器之间的会话状态,该会话状态可以表示用户是否登录过,一般都是服务器给配置,具有时效性。只要失效,就需要用户重新登陆,只有登录成功后,浏览器就会保存cookie,每次去服务器请求都会带上cookie,并在该cookie是需要在服务器中验证

x-forwarded-for127.0.0.1 表示用户的真实ip

http的响应包:

用户发送的请求包到达服务器后,服务器要处理该请求,处理之后的结果发送给用户的浏览器,我们将该结果称为响应包Response

Response=状态行+消息报头+空行+响应正文

使用bp拦截响应包:

先设置浏览器代理,再去设置bp中的代理监听器,同时注意勾选intercept client requests

在拦截到数据包之后点击forward,就能看到响应包

 状态码

状态码游三位数字组成,第一位数字表示了响应的类型,共有五种:

1xx表示服务器已经接收到请求,并且需要继续处理

2xx表示服务器已经成功接收并处理了该请求

3xx表示重定向,url要跳转到其他界面去请求

4xx表示用户请求有问题,

5xx表示服务器内部出错

常见状态码200  成功处理了请求,一般情况下都是返回此状态码

302(临时移动)  服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。

304(未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容

400  服务器不理解请求的语法

403 服务器拒绝请求

404  服务器找不到请求的网页

500(服务器内部错误)  服务器遇到错误,无法完成请求。 

响应头中每个参数的意义:

location表示跳转页面

 x-power-by用于告知网站是用何种语言或框架编写

例如:
PHP标准输出是:X-Powered-By: PHP/5.2.1

HTML元素分类:

  块级元素和内联元素

块级元素:标签元素会以新行开始或结束。<h1><p><table>当前元素标签要独占一行

内联元素:显示数据不会以新行开始。<a><img><td>会堆积在一起

<div>块级元素,用于组合其他元素,方便统一设置属性或者样式

 

布局:设计网页时考虑到页面美观,会设置页面的局部或者整体的布局

<table><div>

 

html事件

需要触发某些动作的发生,需要事件的支持

 

Css(层叠式样式表)决定页面怎么显示元素

引入方式:

1、引入文件。例如style.css在当前元素中直接写。例如:style:””

2、外链式,<link>引入外部css文件;导入外部样式;

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" type="text/css" href="first.css">
</head>
<body>
<div id="hacker">this is first title</div>
<p class="china">this is second title</p>
</body>
</html>

Css文件内容如下

 3内嵌方式,在<head>中写样式,使用@import<head></head>之间应用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css"   >
        @import url(second.css);
    </style>
</head>
<body>
<div id="p">this is first title</div>
</body>
</html>

Css如下

 优先级:行内模式>内嵌模式>外链式(后两种需要xx.css文件)

Css语法:

选择器{属性一:value1;属性2value2}

选择器

第一种情况:标签名 影响其他同类型标签

第二种情况:id

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">行内模式
    #hacker{
        color:green;
        text-align: center;
    }
        #china{
            color: red;
            text-align: center;
        }
    </style>

</head>
<body>
<div id="hacker">i am hacker</div>
<div id="china">i am chinese</div>
</body>
</html>

第三种情况:class,可以在不同元素中使用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
    .test{
        color: red;
        text-align: center;
    }
    </style>


</head>
<body>
<h1 class="test">this is first title</h1>
<p class="test">this is second title</p>
</body>
</html>

常用样式:

后背景:background-color/background-image

字体:color size text-align/text-indet

盒子模式:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css" >
        #p{
            background-color: gray;
            width: 300px;
            border: 25px solid pink;
            padding: 10px;
            margin: 10px;
        }
    </style>
</head>
<body>
<div id="p">this is first title</div>
</body>
</html>

http协议基础

工具介绍

JDKjava的软件开发工具包,方便我们本地运行java开发工具

G:\LAVA\JDK1.8.8_191

验证java -version

Set查看环境变量,path所有变量

 

Burpsuite

爬虫,扫描(dashboard)、拦包(proxy)、重放repeater、爆破inturder、加码编码decoder、比较comparer

双击打开burpsuite_pro_v2.1_BurpHelper.jar可以使用

或者在终端java -jar burpsuite_pro_v2.1_BurpHelper.jar也可以打开

 

http协议特点

见到那快速,请求方式有get post head等八种

无连接无状态

支持模式有B/S(基于浏览器) C/S(编程实现通信)(websocket)

URL,统一资源定位符,在网络中用来标识某处的资源

http(协议)://www.baidu.com(域名):8080(端口)/news(虚拟目录)/index.php(文件名部分)Parameter=deal&id=35&do=add(三个参数)#name(锚部分)

请求包:request=请求行+请求头+空行+请求数据

 

请求数据放在尾部是post,放在url里是get

请求方式http1.1  get post head options put delete trace connect

拦截访问百度:

 

GET(请求类型) /success.txt HTTP/1.1(协议版本)-------请求行

Host: detectportal.firefox.com

User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0

Accept: */*

Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3

Accept-Encoding: gzip, deflate

Cache-Control: no-cache

Pragma: no-cache

DNT: 1

Connection: close(上述蓝色字体都是请求头,请求形式都是key=value

空行

请求数据(此处为空,因为当前的请求包的请求方式是get

 

拦截post类型

POST /wordpress/wp-login.php HTTP/1.1

Host: localhost

User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3

Accept-Encoding: gzip, deflate

Referer: http://localhost/wordpress/wp-login

Cookie: wp-settings-time-1=1569116293; wordpress_test_cookie=WP+Cookie+check

DNT: 1

Connection: close

Upgrade-Insecure-Requests: 1

Content-Type: application/x-www-form-urlencoded

Content-Length: 128

 

log=admin&pwd=admin123456&wp-submit=%E7%99%BB%E5%BD%95&redirect_to=http%3A%2F%2Flocalhost%2Fwordpress%2Fwp-admin%2F&testcookie=1

 

Getpost请求的比较

相同点:

1、getpost都可出啊u你创建数组,array,其包含了键值对(key=value),其中的键就是表单控件的名称,值是用户输入的数据。

2、getpost可视为$_get$_post,是超全局变量

不同点

1、get型方式将用户发送的数据坪街道url中,发送的数据量较小,不安全

2、post型方式参数放在请求包中的请求数据中,必须使用工具查看,发送的数据量较大,安全性较高。

 

请求包中的每个请求头的参数意义

Host表示请求的服务器ip

User-agent 表示用户本地环境

Accept 浏览器可以接收解析的应用环境

Accept-language 浏览器可解析的语言类型

Accept-Encoding 浏览器可解析的编码方式

Referer 表示请求页面是从哪里来的

Action=“”表示提供给自己)

Cookie 表示服务器和浏览器之间的会话状态,该会话状态可以表示用户是否登录过,一般都是服务器给配置,具有时效性。只要失效,就需要用户重新登陆,只有登录成功后,浏览器就会保存cookie,每次去服务器请求都会带上cookie,并在该cookie是需要在服务器中验证

x-forwarded-for127.0.0.1 表示用户的真实ip

DNT

 

 

http的响应包:用户发送的请求包到达服务器后,服务器要处理该请求,处理之后的结果发送给用户的浏览器,我们将该结果称为响应包Response

Response=状态行+消息报头+空行+响应正文

 

使用bp拦截响应包

 

先设置浏览器代理,再去设置bp中的代理监听器,同时注意勾选intercept client requests

在拦截到数据包之后点击forward,就能看到响应包

 

 

状态码游三位数字组成,第一位数字表示了响应的类型,共有五种:

1xx表示服务器已经接收到请求,并且需要继续处理

2xx表示服务器已经成功接收并处理了该请求

3xx表示重定向,url要跳转到其他界面去请求

4xx表示用户请求有问题,

5xx表示服务器内部出错

常见状态码:200  成功处理了请求,一般情况下都是返回此状态码

302(临时移动)  服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。

304(未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容

400  服务器不理解请求的语法

403 服务器拒绝请求

 404  服务器找不到请求的网页

500(服务器内部错误)  服务器遇到错误,无法完成请求。 

 

响应头中每个参数的意义:

location表示跳转页面

 

x-power-by用于告知网站是用何种语言或框架编写

例如:
PHP标准输出是:X-Powered-By: PHP/5.2.1

 

 

 

HTML元素分类:块级元素和内联元素

块级元素:标签元素会以新行开始或结束。<h1><p><table>当前元素标签要独占一行

内联元素:显示数据不会以新行开始。<a><img><td>会堆积在一起

<div>块级元素,用于组合其他元素,方便统一设置属性或者样式

 

布局:设计网页时考虑到页面美观,会设置页面的局部或者整体的布局

<table><div>

 

html事件

需要触发某些动作的发生,需要事件的支持

 

Css(层叠式样式表)决定页面怎么显示元素

引入方式:

1、引入文件。例如style.css在当前元素中直接写。例如:style:””

2、外链式,<link>引入外部css文件;导入外部样式;

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" type="text/css" href="first.css">
</head>
<body>
<div id="hacker">this is first title</div>
<p class="china">this is second title</p>
</body>
</html>

Css文件内容如下

 

3、内嵌方式,在<head>中写样式,使用@import<head></head>之间应用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css"   >
        @import url(second.css);
    </style>
</head>
<body>
<div id="p">this is first title</div>
</body>
</html>

Css如下

 

优先级:行内模式>内嵌模式>外链式(后两种需要xx.css文件)

Css语法:

选择器{属性一:value1;属性2value2}

选择器

第一种情况:标签名 影响其他同类型标签

第二种情况:id

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">模式
    #hacker{
        color:green;
        text-align: center;
    }
        #china{
            color: red;
            text-align: center;
        }
    </style>

</head>
<body>
<div id="hacker">i am hacker</div>
<div id="china">i am chinese</div>
</body>
</html>

第三种情况:class,可以在不同元素中使用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
    .test{
        color: red;
        text-align: center;
    }
    </style>


</head>
<body>
<h1 class="test">this is first title</h1>
<p class="test">this is second title</p>
</body>
</html>

 

常用样式:

后背景:background-color/background-image

字体:color size text-align/text-indet

盒子模式:

 

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css" >
        #p{
            background-color: gray;
            width: 300px;
            border: 25px solid pink;
            padding: 10px;
            margin: 10px;
        }
    </style>
</head>
<body>
<div id="p">this is first title</div>
</body>
</html>

原文地址:https://www.cnblogs.com/wasabiblog/p/11575639.html