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

分享 8-抓包工具HTTP协议

技术分享 1040 0 2025-3-22 21:09:06
字典:https://www.123865.com/s/YZfgjv-T4dxH提取码:HHvW
集成⼯具箱:https://www.123865.com/s/YZfgjv-h4dxH提取码:Ahni
yakit:https://yaklang.com/products/intro/


Burp Suite 是用于攻击web 应用程序的集成平台
测试网址:http://www.astechnic.net/en/admin/login.php

https抓包:导入证书-打开Burp Suite-代理设置-导入/导出CA证书-导出DER格式的证书-下一个-选这文件-桌面-起名aaa.der-保存
导入证书到浏览器-打开火狐浏览器设置选项-输入证书-查看证书-证书颁发机构-导入保存在桌面证书-勾选显示出来信任选项-确定
配置burp远程代理服务器-打开Burp Suite-代理设置-添加-选择指定地址(填写真实电脑IP地址)-绑定端口8888-确认

yakit两种模式
免配置模式
手动配置模式


代理
计算机代理-代理整体计算机
浏览器代理-只能代理浏览器

OneForAll子域名搜集工具
网址-github.com/shmilylty/OneForAll
OneForAll使用
pip install -r requirements.txt -python批量安装文本里模块
python3 oneforall.py --target example.com run
python3 oneforall.py --targets ./example.txt run
我们以python3 oneforall.py --target example.com run命令为例,
           OneForAll在默认参数正常执行完毕会在results目录生成相应结果



HTTP内容

1请求行
     方法         URL                                协议版本
     GET      /form/entry                       HTTP/1.1
     POST /domainreliability/upload    HTTP/1.1
    几种请求方法(Get Post Head Put Trace Delete Option Connect)
    请求方法
       Get
       Post
       Head:与服务器get请求一样的回应,响应体不会返回
       Put:向指定资源位置上传最新内容
       Trace:回显服务器收到的请求
       Delete:请求服务器删除url所标识的资源
       Option:返回服务器特定资源所支持的HTML请求方法
       Connect:http1.1协议能够将连接改为管道方式的代理服务器

    Get和post的一些区别:
          从功能上来讲:Get用来获取资源  post用来更新资源
          从请求参数来讲:GET请求的数据会附加在url之后
                                          get请求-https://www.baidu.com/请求数据-s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu

                                     post请求会把提交的数据放到http请求报文的请求体中
                                             -(也就是请求数据)
                                          

          从安全性上来讲:POST比GET 更安全,因为GET请求会把提交的数据明文放在url栏,而POST 被包装在了请求体里面
          从请求大小看:GET请求会受到限制,POST是没有限制的
                                     -(也就是请求长度会受到限制)
2请求头-(不同网站请求头不一样)
    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  //代表客户端能支持gzip和deflate格式的压缩
   Accept-Language: zh-CN,zh;q=0.9  //代表客户端可以支持语言zh-CN或者zh(值得一提的是q(0~1)是优先级权重的意思,不写默认为1,这里zh-CN是1,zh是0.9)
   Connection: keep-alive  //告诉服务器,客户端需要的tcp连接是一个长连接
   If-None-Match  //如果内容未改变返回304代码,对应Etag
   If-Modified-Since //对应last-midified,未被修改则返回304代码
3请求行
4请求数据


响应头内容

1状态行
     协议版本    状态码   状态码的原因短语
       HTTP/1.1    200        200
2响应头部
        Date: //服务端发送资源时的服务器时间
         Server: //web服务器软件名称(中间件)
         X-Powered-By: PHP/7.3.4 //后端语言版本
         Expires: //缓存过期时间
         Cache-Control:  no-cache  // 缓存方式
         Content-Length: 5659 //服务端响应数据长度-意指前端代码
  Etag  // 文件内容hash
  Last-Modified  //最近一次文件修改时间
  Content-Type: text/html; charset=utf-8  //编码格式
  Content-Encoding: gzip  //采用gzip对资源进行解码
  Connection: keep-alive  //tcp是长连接
   Set-Cookie //设置Http Cookie
3响应正文


状态码内容
     HTTP协议状态码表示的意思主要分为五类
          1××:保留
          2××:表示请求成功地接收
          3××:为完成请求客户需进一步细化请求
          4××:客户错误-(也可能会报Not Found)
          5××:服务器错误
      




WEB渗透测试工程师系统班250303
8节课作业
一、什么是url
URL,统一资源定位符。
    是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,
    是互联网上标准资源 的地址。互联网上的每个文件都有一个唯一的URL,
   它包含的信息指出文件的位置以及浏览器应该怎么处理它
二、常见的基本url语法是什么?
       协议://服务器IP(:端口)/路径/文件(?查询)
       例如:http://www.xxx.com/aa.php?id=bb
三、GET请求和POST请求的区别有哪些?
             从功能上来讲:Get用来获取资源  post用来更新资源
          从请求参数来讲:GET请求的数据会附加在url之后
                                          get请求-https://www.baidu.com/请求数据-s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu

                                     post请求会把提交的数据放到http请求报文的请求体中
                                             -(也就是请求数据)
                                          

          从安全性上来讲:POST比GET 更安全,因为GET请求会把提交的数据明文放在url栏,而POST 被包装在了请求体里面
          从请求大小看:GET请求会受到限制,POST是没有限制的
                                     -(也就是请求长度会受到限制)
四、常见的响应码有哪些?说明它们的含义。
                           
                404 文件未找到

      500 内部服务器错误

      200 请求成功


五、详细说明下列请求和响应数据包中每个字段的含义

请求
- POST /zb_system/login.php HTTP/1.1:表示使用POST方法向服务器的“/zb_system/login.php”地址发送请求,HTTP协议版本为1.1。

- Host:指定请求的目标主机IP 192.168.10.181 。

- User - Agent:包含了客户端浏览器和操作系统信息,这里表示使用的是Firefox 46.0浏览器,运行在Windows 10 64位系统上。

- Accept:说明客户端能够接受的响应内容类型 。

- Accept - Language:表示客户端优先接受的语言及权重。

- Accept - Encoding:指出客户端支持的内容编码方式,如gzip和deflate 。

- DNT:“Do Not Track”的缩写,值为1表示请求不被跟踪。

- Referer:记录了当前请求是从哪个页面链接过来的。

- Connection:设置连接状态,“close”表示请求完成后关闭连接。

- Content - Type:说明请求体的内容类型,这里是“application/x-www-form-urlencoded”,常用于表单数据提交。

- Content - Length:表示请求体的长度,这里为96字节


响应
- HTTP/1.1 200 OK:表示HTTP协议版本为1.1,状态码200意味着请求成功,“OK”是对状态码的文本描述。

- Date:服务器生成响应的日期和时间,这里是2023年8月9日,格林尼治标准时间06:28:32 。

- Server:显示了服务器的相关信息,包括使用的Apache版本2.4.39(运行在64位Windows系统上),以及OpenSSL版本1.1.1b ,还包含了mod_fcgid和mod_log_rotate模块及其版本。

- X-Powered-By:表明该网页是由PHP 7.3.4驱动-也就是用得那个框架

- Product:指出使用的建站系统是Z-BlogPHP ,版本为1.7.2。

- Connection:“close”表示服务器在发送响应后会关闭连接。

- Content-Type:说明响应内容的类型是HTML文本,字符编码为UTF-8。

- Content-Length:表示响应体的长度为5143字节



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