前言:
其实http 请求走私,去年火起来的时候就有了解了,也自己看过一些portswigger 上面的视频和文章,但是没有自己动手来实践,这次来自己动手来实践一下。

0x01 什么是请求走私:

HTTP请求走私是一种干扰网站处理从一个或多个用户接收的HTTP请求序列的方式的技术。

产生原因:

设置了transfer-encoding : chunked (http 2 将移除)后 , 请求主体按一系列块的形式发送,并且将省略Content-Length.在每一个块的开头需要用十六进制数说明当前块的长度,数值后接\r\n ,然后接块的内容,然后再接\r\n表示这个块结束。最后用长度0的块加\r\n\r\n表示终止块。

0x02 请求走私分类:

1.CL不为0 的get 请求

所以就可以借用admin 的cookie ,进行其他操作

2.CL-CL 走私:

3.CL-TE 走私
产生原因:
前端服务器不支持chunked encoding , 按照content length 来处理,后端则使用chunked encoding 来处理
实验地址: https://portswigger.net/web-security/request-smuggling/lab-basic-cl-te
payload: 发送两次

4.TE-CL 走私

实验地址:https://acd01f881f8f0a7c80e5860e009800b9.web-security-academy.net/
payload: 发送两次

5.TE-TE 走私

payload:

0x03 portswigger实验记录:

所有实验的地址: https://portswigger.net/web-security/all-labs
4. Lab: HTTP request smuggling, confirming a CL.TE vulnerability via differential responses

payload:

注意 :
(1) 必须要在GET 下面再添加额外的http 头 以及 添加的头后面不要再以\r\n 结尾,这样才会把第二次请求的POST / HTTP/1.1 变成一个头部的值拼接到走私数据中 , 否则会返回400错误

第二个请求拼接后应该像这样:
GET /404 HTTP/1.1
X-Ignore:xPOST /HTTP/1.1
HOST: …

5.HTTP request smuggling, confirming a TE.CL vulnerability via differential responses

原理: 把下一次的请求变成走私中POST 请求的数据部分

6.绕过前端服务器的安全控制CL-TE

HRS 请求走私 学习记录相关推荐

  1. 显示请求_学习记录:HTTP的响应与请求amp;Curl

    本文包含四个部分,简要介绍HTTP请求.HTTP响应.chrome开发者查看.与CURL命令. Part1:HTTP请求 1GET请求指定的页面信息,并返回实体主体. 2HEAD类似于get请求,只不 ...

  2. burpsuite靶场系列之高级漏洞篇 - HTTP请求走私专题

    转载至https://www.anquanke.com/post/id/246516 robots 本系列介绍 PortSwigger是信息安全从业者必备工具burpsuite的发行商,作为网络空间安 ...

  3. ASP.NETCore学习记录(一)

    ASP.NETCore学习记录(一) asp.net core介绍  Startup.cs  ConfigureServices  Configure  0. ASP.NETCore 介绍 ASP.N ...

  4. Android开发技术周报176学习记录

    Android开发技术周报176学习记录 教程 当 OkHttp 遇上 Http 2.0 http://fucknmb.com/2018/04/16/%E5%BD%93OkHttp%E9%81%87% ...

  5. Redis的学习记录

    Redis的学习记录 1.先导了解 1.1 NOSQL概述 1.1.1 为什么要用NoSql? 1.1.2 NoSql了解 1.1.3 NoSql特点 1.1.4 NoSQL的四大分类 2. Redi ...

  6. [Django]模型学习记录篇--基础

    模型学习记录篇,仅仅自己学习时做的记录!!! 实现模型变更的三个步骤: 修改你的模型(在models.py文件中). 运行python manage.py makemigrations ,为这些修改创 ...

  7. 架构与设计 之一 C 嵌入式设计模式(Design Patterns for Embedded Systems in C)的学习记录

    唉   时至今日,已经不知道在嵌入式的道路上到底挣扎了多少个岁月,总感觉要"病入膏肓"了.此间总是不时出现一些疑惑:人家搞 Java.搞 C# 的动不动就是什么架构 / 框架的,搞 ...

  8. 【转】BLE 学习记录

    原文网址:http://m.blog.csdn.net/blog/chiooo/43985401 BLE 学习记录 ANROID BLE 开发,基于 bluetoothlegatt 分析 mBluet ...

  9. Shiro学习记录(详细)

    文章目录 Shiro学习记录 shiro核心组件 Spring Boot 整合 Shiro Shiro 整合 Thymeleaf Shiro学习记录 什么是 Shiro 官网:http://shiro ...

最新文章

  1. CentOS 7安装mysql-5.6.17
  2. idea提交spark任务,内存不足,指定JVM内存的解决方法
  3. iOS利用视频做起始页
  4. Android 应用内启动第三方应用
  5. oracle游标循环定义变量赋值,PL/SQL  循环 数组 游标的使用
  6. python3.6基础知识_python的基础知识
  7. 移动通信—无线波传播
  8. python入门之装饰器
  9. 第三百六十节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的基本概念...
  10. 不可以! 南阳理工ACM 题目1071
  11. 修改虚拟机设置过游戏检测
  12. 华硕主板怎么刷bios
  13. 虚幻引擎UE4源码编译安装(x86,arm64平台)
  14. linux能yum装mcafee吗,Redhat(64位)安装Mcafee步骤
  15. 数学建模国赛latex写作模板
  16. MySQL性能瓶颈排查
  17. UE4 打包设置全屏模式和窗口模式方法
  18. 移动端切图内容包括什么_移动终端界面切图
  19. Linux 下 TC 命令原理及详解
  20. 关于PS课程中字体部分的学习总结

热门文章

  1. 招聘 | 美团-算法工程师-社招
  2. Oracle 表分析缩表,MySQL中的表分析
  3. 配置基于区域策略的防火墙
  4. 浅谈网络之“TCP协议”
  5. 计算机设置了桌面显示为什么没有,电脑桌面没有图标怎么回事?如何解决?
  6. Excel中的智能模糊查询下拉菜单,比下拉列表强20倍
  7. Solving environment: failed with initial frozen solve. Retrying with flexible solve的解决方法
  8. 评央企员工持股时隔11年将重启 个人比例不超5%
  9. 让笔记本延年-电池的保养技巧
  10. 安装vmware虚拟机详细教程