发帖
 找回密码
 立即注册
搜索
0 0

分享 20250303Web渗透系统班 第八课 樊子健

技术分享 1044 0 2025-3-21 16:11:25
本帖最后由 forlife 于 2025-3-24 16:04 编辑

抓包&HTTP协议


01抓包工具安装和使用




burp

1. 安装 burp 激活 burp
2. 浏览器下载和安装代理插件SwitchyOmega
3. 配置SwitchyOmega,设置代理端⼝和代理地址
4. burp 下载证书,将证书导⼊浏览器的受信任颁发机构
5. 开启浏览器插件,就可以正常获取浏览器数据


参考示例:https://blog.csdn.net/qq_74263993/article/details/140277607




yakit

官网安装,下载证书,导入证书
相关连接

字典:https://www.123865.com/s/YZfgjv-T4dxH提取码:HHvW
集成⼯具箱:https://www.123865.com/s/YZfgjv-h4dxH提取码:Ahni
yakit:https://yaklang.com/products/intro/





HTTP协议讲解
http(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,HTTP1.1版本中给出一种持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。
1、支持客户/服务器模式  基于请求与响应的
2、无连接:限制每次连接只处理一一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间
3、无状态:指协议对事务处理没有记忆能力,缺少状态一位着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一个方面 ,在服务器不需要先前的信息时它的应答就比较快。

HTTP-URL
URL,统一资源定位符。
是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源 的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
常见的基本URL语法:
协议://服务器IP(:端口)/路径/文件(?查询)
例如:http://www.xxx.com/aa.php?id=bb

HTTP-请求与响应详解
请求报文构成
请求行:方法 url 协议版本
请求头Host: www.test.com/  //请求的目标域名和端口号
                  Origin: http://localhost:8081/  //请求的来源域名和端口号 (跨域请求时,浏览器会自动带上这个头信息)
                  Referer: https:/localhost:8081/link?query=xxxxx  //请求资源的完整URI(代表你从 哪里来)
                  User-Agent //浏览器信息
                  Cookie: //代表了我的身份
                  Accept: text/html,image/apng  //代表客户端希望接受的数据类型是html或者是png图片类型
                  Accept-Encoding: gzip, deflate  //代表客户端能支持gzipdeflate格式的压缩
                  Accept-Language: zh-CN,zh;q=0.9  //代表客户端可以支持语言zh-CN或者zh(值得一提的是q(0~1)是优先级权重的意思,不写默认为1,这里zh-CN1zh0.9)
                  Connection: keep-alive  //告诉服务器,客户端需要的tcp连接是一个长连接
                  If-None-Match  //如果内容未改变返回304代码,对应Etag
                  If-Modified-Since //对应last-midified,未被修改则返回304代码
     If-Modified-Since是标准的HTTP请求头标签,在发送HTTP请求时,把浏览器端缓存页面的最后修改时间一起发到服务器去,服务器会把这个时间与服务器上实际文件的最后修改时间进行比较。
        如果时间一致,那么返回HTTP状态码304(不返回文件内容),客户端接到之后,就直接把本地缓存文件显示到浏览器中。
请求行
请求数据

请求方法
Get
Post
Head:与服务器get请求一样的回应,响应体不会返回
Put:向指定资源位置上传最新内容
Trace:回显服务器收到的请求
Delete:请求服务器删除url所标识的资源
Option:返回服务器特定资源所支持的HTML请求方法
Connect:http1.1协议能够将连接改为管道方式的代理服务器
Get和post的一些区别:
从功能上来讲:Get用来获取资源  post用来更新资源
从请求参数来讲:GET请求的数据会附加在url之后 post请求会把提交的数据放到http请求报文的请求体中
从安全性上来讲:POST比GET 更安全,因为GET请求会把提交的数据明文放在url栏,而POST 被包装在了请求体里面
从请求大小看:GET请求会受到限制,POST是没有限制的

响应头响应报文的构成

状态行(协议版本    状态码    状态短语)
响应头部
响应包体


Date: //服务端发送资源时的服务器时间
Expires: //缓存过期时间
Cache-Control:  no-cache  // 缓存方式
Etag  // 文件内容hash
Last-Modified  //最近一次文件修改时间
Content-Type: text/html; charset=utf-8  //编码格式
Content-Encoding: gzip  //采用gzip对资源进行解码
Connection: keep-alive  //tcp是长连接
Set-Cookie //设置Http Cookie


HTTP常见状态码:
HTTP状态码是用以表示网页服务器HTTP响应状态的3位数字代码。
所有状态码的第一个数字代表了响应的五种状态之一。
当用户试图通过HTTP或FTP协议访问一台运行主机上的内容时,Web服务器返回一个表示该请求的状态的数字代码。
该状态代码记录在服务器日志中,同时也可能在 Web 浏览器或 FTP客户端显示。
也就是我们打开页面发生错误时,浏览器显示的错误信息代码。状态代码可以指明具体请求是否已成功,还可以揭示请求失败的确切原因。
HTTP协议状态码表示的意思主要分为五类,大体是:
1××:保留
2××:表示请求成功地接收
3××:为完成请求客户需进一步细化请求
4××:客户错误
5××:服务器错误


500 内部服务器错误
HTTP 500错误的定义已经充分证明了这是一个最常见的HTTP错误。 一般来说,HTTP 500 错误会在服务器的程序码出错时出现,或者web服务器发生内部错误时返回的信息。 例如,web服务器过载时将无法正确处理访问请求。
404 文件未找到
大多数人都知道这个错误。 当用户试图访问Web服务器(通常是一个网页)上某个实际不存在的资源时,就会发生404错误。404错误可能是由无效的链接引起,也可能是URL拼写错误,还可能是因为虚拟主机将所请求页面移到其他地方(或删除所请求页面)。 一些网站设置了自定义页面以防止坏链接所产生的不良影响。
403 禁止访问
403错误类似于401错误,不同之处在于401错误是未经授权,而403错误是禁止访问。 任何登录对403错误都不起作用。 尝试访问(被禁止的)网站目录时,就会发生403错误。
400 错误请求
Web服务器通过返回HTTP 400错误告诉访问者,访问者用来访问网站的程序出错,或访问请求途中遭到破坏。
401 未经授权
访问者试图访问受限页面但未经授权时,网站返回HTTP 401错误。错误登录尝试是导致这一错误的主因。
200 请求成功
请求已成功,请求所希望的响应头或数据体将随此响应返回。
206 部分内容
服务器已经成功处理了部分GET请求。类似于FlashGet或者迅雷这类的HTTP 下载工具,都是使用此类响应实现断点续传,或者将一个大文档分解为多个下载段同时下载。
301 永久重定向
被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一。
302 临时重定向
请求的资源现在临时从不同的URI响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。
502 无效网关
作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。

第8节课作业

一、什么是url?
URL,统一资定位符。
是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源 的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
二、常见的基本url语法是什么?
协议://服务器IP(:端口)/路径/文件(?查询)
例如:http://www.xxx.com/aa.php?id=bb
三、GET请求和POST请求的区别有哪些?
从功能上来讲:Get用来获取资源 post用来更新资源
从请求参数来讲:GET请求的数据会附加在url之后 post请求会把提交的数据放到http请求报文的请求体中
从安全性上来讲:POST比GET 更安全,因为GET请求会把提交的数据明文放在url栏,而POST 被包装在了请求体里面
从请求大小看:GET请求会受到限制,POST是没有限制的
四、常见的响应码有哪些?说明它们的含义。
500 内部服务器错误
HTTP 500错误的定义已经充分证明了这是一个最常见的HTTP错误。 一般来说,HTTP 500 错误会在服务器的程序码出错时出现,或者web服务器发生内部错误时返回的信息。 例如,web服务器过载时将无法正确处理访问请求。
404 文件未找到
大多数人都知道这个错误。 当用户试图访问Web服务器(通常是一个网页)上某个实际不存在的资源时,就会发生404错误。404错误可能是由无效的链接引起,也可能是URL拼写错误,还可能是因为虚拟主机将所请求页面移到其他地方(或删除所请求页面)。 一些网站设置了自定义页面以防止坏链接所产生的不良影响。
403 禁止访问
403错误类似于401错误,不同之处在于401错误是未经授权,而403错误是禁止访问。 任何登录对403错误都不起作用。 尝试访问(被禁止的)网站目录时,就会发生403错误。
400 错误请求
Web服务器通过返回HTTP 400错误告诉访问者,访问者用来访问网站的程序出错,或访问请求途中遭到破坏。
401 未经授权
访问者试图访问受限页面但未经授权时,网站返回HTTP 401错误。错误登录尝试是导致这一错误的主因。
200 请求成功
请求已成功,请求所希望的响应头或数据体将随此响应返回。
206 部分内容
服务器已经成功处理了部分GET请求。类似于FlashGet或者迅雷这类的HTTP 下载工具,都是使用此类响应实现断点续传,或者将一个大文档分解为多个下载段同时下载。
301 永久重定向
被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一。
302 临时重定向
请求的资源现在临时从不同的URI响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。
502 无效网关
作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。
五、详细说明下列请求和响应数据包中每个字段的含义


请求文
请求方法POST,   URL地址zb_system/login.php   协议HTTP/1.1
HOST:IP地址192.168.10.181
User-Agent: 浏览器信息:Mozilla/5.0(Windows NT 10.0:WOW64: rv:46.0)Gecko/20100101Firefox/46.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
DNT:1表示用户不希望被网站追踪
Referer: http://192.168.10.181/zb system/login.php  完整的URL代表我从这里发起的请求
Connection:close  表示客户端希望完成当前请求后关闭连接,不在保持与服务器的持久连接。
Content-Type:application/x-www-form-urlencoded  告诉客户端或服务器如何处理传输的数据
Content-Length:96      指示消息实体的传输长度,以字节为单位,主要作用是让服务器知道需要接受的数据量,确保数据传输的完整性和准确性。

用户名admin  密码admin123


响应文
协议HTTP/1.1         200 ok 状态码表示成功
Date:发送数据的时间是2023年8月9日6点28分32秒
Server:Apache/2.4.39(Win64)0penSSL/1.1.1bmod fcgid/2.3.9a mod log_rotate/1.02  表示服务器使用的是Apache的2.4.39版本运行在Windows系统上
X-Powered-ByHP/7.3.4 服务器使用的是PHP7.4.16版本
Product:Z-BlogPHP 1.7.2  框架标识信息
Connection: close 不保持连接
Content-Type:text/html;charset=utf-8 编码格式
Content-Length:5143 数据长度5143字节


六、(扩展知识学习-不硬性要求完成)
了解并学习课件内的《扩展知识材料-HTTP协议详解》



──── 0人觉得很赞 ────

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
免责声明:
1、本论坛中所有用户发布的内容仅代表作者个人观点,与本网站立场无关,本站不对其真实性、完整性或观点承担任何责任。
2、本论坛所提供的全部信息与内容,不保证其准确性、完整性或时效性。因阅读或使用本站内容而产生的任何误导、损失或风险,本站概不承担任何连带或法律责任。
3、当国家司法、行政机关依照法定程序要求本论坛披露用户信息时,本站予以配合并因此免责。
4、因网络线路故障、技术问题、不可抗力或本站无法控制的其他原因导致的服务中断或暂停,本站不承担由此造成的任何直接或间接损失。
5、对于任何通过技术手段破坏、攻击本论坛系统或扰乱正常秩序的行为,本站有权采取包括但不限于限制账号、封禁账号、追究法律责任等措施。
您需要登录后才可以回帖 立即登录
高级模式
返回