先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上网络安全知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip204888 (备注网络安全)
正文
HTTP请求走私漏洞的分类
- CL.TE:前端服务器使用
Content-Length
标头和后端服务器使用Transfer-Encoding
页眉 - TE.CL:前端服务器使用
Transfer-Encoding
标头和后端服务器使用Content-Length
页眉 - TE.TE:前端和后端服务器都支持
Transfer-Encoding
标头,但两个服务器处理Transfer-Encoding产生歧义
HTTP请求走私攻击的危害
由于当今的Web应用程序之间大都采用HTTP服务器链的形式,有时为了负载均衡等各种原因,都会设置多个代理或均衡器,最终这些服务器请求都转发到了一个或多个后端服务器中,假若这些类型的架构在服务器处理HTTP请求时发生了歧义,会产生巨大的危害。
- 会话劫持: 攻击者可以使用HTTP请求走私攻击来劫持用户的会话,获取用户的敏感信息,例如登录凭据、会话标识符等。攻击者可以利用这些信息冒充用户,执行未经授权的操作。
- 身份伪装: 攻击者能够通过HTTP请求走私攻击伪装成合法的用户,绕过一些安全机制和防护措施。这可能导致攻击者获得未授权的访问权限,例如访问受限资源或执行特权操作。
- 敏感信息泄露: 攻击者可以利用HTTP请求走私漏洞,通过注入恶意请求将敏感信息泄漏给第三方。这些信息可能包括用户的个人身份信息、金融数据、业务逻辑、系统配置等。
- 业务破坏: 攻击者可以使用HTTP请求走私攻击来破坏正常的业务流程。例如,他们可以篡改或删除HTTP请求头、操纵响应内容、劫持会话等,导致应用程序无法正常工作,影响用户体验和业务流程。
- 安全漏洞利用: HTTP请求走私攻击可能与其他安全漏洞相结合,从而导致更严重的安全问题。攻击者可能会利用该漏洞执行其他攻击,如跨站脚本攻击 (XSS)、跨站请求伪造 (CSRF)、服务器端请求伪造 (SSRF) ,等。
确认HTTP请求走私漏洞
通过时间延迟技术确认CL漏洞
由于前端服务器使用的是Content-Length标头,而后端服务器使用的是Transfer-Encoding,因此前端服务器仅会转发一部分,后端服务器处理了第一个区块,因为还没结束符,所以会等待下一个区块的到达,可以有明显的时间延迟。
POST / HTTP/1.1
Host: aiwin.com
Transfer-Encoding: chunked
Content-Length: 3
1
X
如以上数据包为例,前端使用Content-length,只会发送3个长度的数据,发送到了1,而后端使用的是chunked,会一直等待下一区块的到来,或者等待结束符0的到来。
通过时间延迟技术寻找TE.CL漏洞
由于前端服务器使用Transfer-Encoding表头,仅转发请求的一部分,后端服务器使用的是Content-Length表头,在等待着剩余内容的到达,也可以观察到时间延迟
POST / HTTP/1.1
Host: aiwin.com
Transfer-Encoding: chunked
Content-Length: 6
0
X
如上数据包,前端服务器使用的是chunked,会转发到0之前的正文,但是后端服务器使用的是Content-Length,长度为6,而转发到0,长度仅为3,所以会等待后面3个长度的正文到来,会导致时间延迟
使用差异响应内容确认漏洞
通过走私漏洞,能够干扰正确请求的响应包,通过正常请求的响应来确认漏洞。
通过差异响应确认CL.TE漏洞
如下数据包,由于前端服务器使用的是Content-Length,所以全部数据都被发送到了后端服务器中,而后端服务器使用的是Transfer-Encoding,数据接收到0后就停止了,下面GET的请求被认为是新一次的请求处理,返回了404 Not Found。
通过差异响应确认TE.CL漏洞
如下HTTP请求包,由于前端服务器使用的是TE,所以全部数据毫无问题的发送到了后端服务器,而后端服务器使用的是CL,只接收到了5e的数据,下面的POST数据被认为是新一次的请求被后端服务器处理,返回了404。
请求走私漏洞的利用
通过请求漏洞绕过URL访问的限制
如下数据包,访问/admin页面,是被403掉的
因为这里存在请求走私漏洞,CL-TE漏洞,所以前端将全部的数据传入到了后端,而后端使用的是TE,接收到0后停止,下一次请求/admin被认为是新一次的请求,而此次请求的Host为本地,因此可以绕过403
通过请求走私漏洞绕过客户端认证
一般在https中,作为TLS握手的一部分,服务器需要提供证书向客户端进行身份认证,证书包含通用名称,该名称需要与注册的主机名相匹配,客户端可以使用它验证是否与合法服务器进行通信。
GET /admin HTTP/1.1
Host: aiwin.com
X-SSL-CLIENT-CN: aiwin
一般这些CN标头对用户是隐藏的,如果能够发送正确的CN头和值,可能能偶绕过访问控制,在前端中,如果这些头已经存在,前端服务器会覆盖它们,因此不太可利用,而走私的请求可以绕过前端,原封不动的发送给后端,绕过验证。
POST /example HTTP/1.1
Host: vulnerable-website.com
Content-Type: x-www-form-urlencoded
Content-Length: 64
Transfer-Encoding: chunked
0
GET /admin HTTP/1.1
X-SSL-CLIENT-CN: administrator
Foo: x
触发反射型号XSS
查看页面,发现User-agent被插入到了页面中,并且验证一下能够通过修改User-Agent触发反射型XSS。
一般反射型XSS对用户并没有危害,只能在自身访问的网站中触发或者通过与用户交互触发,加入联合请求走私漏洞,则可以导致其它用户访问任意界面都触发反射型XSS,无需与用户进行交互,便可以轻松造成一定的影响,原理就是当前端页面中某一处请求头利用能够触发反射型XSS,又存在CL-TE种类的请求走私漏洞时,能够利用这种形式。
给大家的福利
零基础入门
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
同时每个成长路线对应的板块都有配套的视频提供:
因篇幅有限,仅展示部分资料
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注网络安全)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
,那么很难做到真正的技术提升。**
需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注网络安全)
[外链图片转存中…(img-nmkiUQpm-1713330802402)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!