美国服务器中CPDoS攻击的原理:远程攻击者通过发送包含格式错误的标头的HTTP请求来请求目标网站的WEB页面。如果中间的CDN服务器没有所请求资源的副本,它将把请求转发给源WEB服务器,而源WEB服务器将由于格式错误而崩溃。

具体分析如下:
远程攻击者通过发送包含格式错误的标头的HTTP请求来请求目标网站的WEB页面。如果中间的CDN服务器没有所请求资源的副本,它将把请求转发给源WEB服务器,而源WEB服务器将由于格式错误而崩溃。
因此,原始服务器随后返回一个错误页面,该错误页面最终由缓存服务器存储,而不是由请求的资源存储。现在,每当合法的访问者试图获取目标资源时,他们将获得缓存的错误页面,而不是原始内容。CDN服务器也会将相同的错误页面传播到CDN网络的其他边缘节点,导致受害者网站的目标资源不可用。
值得注意的是,一个简单的请求就足以用一个错误页面替换缓存中的真实内容。这意味着这样的请求仍然低于WEB应用程序防火墙WAFs和DDoS保护的检测阈值,特别是当它们扫描大量不规则网络流量时。
此外,可以利用CPDoS攻击来阻止通过缓存分发的补丁或固件更新,从而防止设备和软件中的漏洞被修复,攻击者还可以禁用美国服务器关键任务网站,如网上银行或官方网站上的重要安全警报或消息。
要对CDN执行这种缓存中毒攻击,有三种类型的HTTP请求:
1)HTTP头文件大小过大/HHO:在WEB应用程序使用比原始服务器接受更大的头文件大小限制的缓存的情况下,包含超大头文件的HTTP请求。
2)HTTP元字符/HMC:这种攻击不发送过大的报头,而是尝试使用包含有害元字符的请求报头绕过缓存。
3)HTTP方法覆盖/HMO:使用HTTP覆盖头绕过禁止删除请求的安全策略。
<!--[if gte mso 9]><xml>DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267"> UnhideWhenUsed="false" QFormat="true" Name="Normal"> UnhideWhenUsed="false" QFormat="true" Name="heading 1"> UnhideWhenUsed="false" QFormat="true" Name="Title"> UnhideWhenUsed="false" QFormat="true" Name="Subtitle"> UnhideWhenUsed="false" QFormat="true" Name="Strong"> UnhideWhenUsed="false" QFormat="true" Name="Emphasis"> UnhideWhenUsed="false" Name="Table Grid"> UnhideWhenUsed="false" QFormat="true" Name="No Spacing"> UnhideWhenUsed="false" Name="Light Shading"> UnhideWhenUsed="false" Name="Light List"> UnhideWhenUsed="false" Name="Light Grid"> UnhideWhenUsed="false" Name="Medium Shading 1"> UnhideWhenUsed="false" Name="Medium Shading 2"> UnhideWhenUsed="false" Name="Medium List 1"> UnhideWhenUsed="false" Name="Medium List 2"> UnhideWhenUsed="false" Name="Medium Grid 1"> UnhideWhenUsed="false" Name="Medium Grid 2"> UnhideWhenUsed="false" Name="Medium Grid 3"> UnhideWhenUsed="false" Name="Dark List"> UnhideWhenUsed="false" Name="Colorful Shading"> UnhideWhenUsed="false" Name="Colorful List"> UnhideWhenUsed="false" Name="Colorful Grid"> UnhideWhenUsed="false" Name="Light Shading Accent 1"> UnhideWhenUsed="false" Name="Light List Accent 1"> UnhideWhenUsed="false" Name="Light Grid Accent 1"> UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"> UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"> UnhideWhenUsed="false" Name="Medium List 1 Accent 1"> UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"> UnhideWhenUsed="false" QFormat="true" Name="Quote"> UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"> UnhideWhenUsed="false" Name="Medium List 2 Accent 1"> UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"> UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"> UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"> UnhideWhenUsed="false" Name="Dark List Accent 1"> UnhideWhenUsed="false" Name="Colorful Shading Accent 1"> UnhideWhenUsed="false" Name="Colorful List Accent 1"> UnhideWhenUsed="false" Name="Colorful Grid Accent 1"> UnhideWhenUsed="false" Name="Light Shading Accent 2"> UnhideWhenUsed="false" Name="Light List Accent 2"> UnhideWhenUsed="false" Name="Light Grid Accent 2"> UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"> UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"> UnhideWhenUsed="false" Name="Medium List 1 Accent 2"> UnhideWhenUsed="false" Name="Medium List 2 Accent 2"> UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"> UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"> UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"> UnhideWhenUsed="false" Name="Dark List Accent 2"> UnhideWhenUsed="false" Name="Colorful Shading Accent 2"> UnhideWhenUsed="false" Name="Colorful List Accent 2"> UnhideWhenUsed="false" Name="Colorful Grid Accent 2"> UnhideWhenUsed="false" Name="Light Shading Accent 3"> UnhideWhenUsed="false" Name="Light List Accent 3"> UnhideWhenUsed="false" Name="Light Grid Accent 3"> UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"> UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"> UnhideWhenUsed="false" Name="Medium List 1 Accent 3"> UnhideWhenUsed="false" Name="Medium List 2 Accent 3"> UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"> UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"> UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"> UnhideWhenUsed="false" Name="Dark List Accent 3"> UnhideWhenUsed="false" Name="Colorful Shading Accent 3"> UnhideWhenUsed="false" Name="Colorful List Accent 3"> UnhideWhenUsed="false" Name="Colorful Grid Accent 3"> UnhideWhenUsed="false" Name="Light Shading Accent 4"> UnhideWhenUsed="false" Name="Light List Accent 4"> UnhideWhenUsed="false" Name="Light Grid Accent 4"> UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"> UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"> UnhideWhenUsed="false" Name="Medium List 1 Accent 4"> UnhideWhenUsed="false" Name="Medium List 2 Accent 4"> UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"> UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"> UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"> UnhideWhenUsed="false" Name="Dark List Accent 4"> UnhideWhenUsed="false" Name="Colorful Shading Accent 4"> UnhideWhenUsed="false" Name="Colorful List Accent 4"> UnhideWhenUsed="false" Name="Colorful Grid Accent 4"> UnhideWhenUsed="false" Name="Light Shading Accent 5"> UnhideWhenUsed="false" Name="Light List Accent 5"> UnhideWhenUsed="false" Name="Light Grid Accent 5"> UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"> UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"> UnhideWhenUsed="false" Name="Medium List 1 Accent 5"> UnhideWhenUsed="false" Name="Medium List 2 Accent 5"> UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"> UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"> UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"> UnhideWhenUsed="false" Name="Dark List Accent 5"> UnhideWhenUsed="false" Name="Colorful Shading Accent 5"> UnhideWhenUsed="false" Name="Colorful List Accent 5"> UnhideWhenUsed="false" Name="Colorful Grid Accent 5"> UnhideWhenUsed="false" Name="Light Shading Accent 6"> UnhideWhenUsed="false" Name="Light List Accent 6"> UnhideWhenUsed="false" Name="Light Grid Accent 6"> UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"> UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"> UnhideWhenUsed="false" Name="Medium List 1 Accent 6"> UnhideWhenUsed="false" Name="Medium List 2 Accent 6"> UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"> UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"> UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"> UnhideWhenUsed="false" Name="Dark List Accent 6"> UnhideWhenUsed="false" Name="Colorful Shading Accent 6"> UnhideWhenUsed="false" Name="Colorful List Accent 6"> UnhideWhenUsed="false" Name="Colorful Grid Accent 6"> UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"> UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"> UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"> UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"> UnhideWhenUsed="false" QFormat="true" Name="Book Title">
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin-top:0cm;
mso-para-margin-right:0cm;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0cm;
line-height:11.0pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:宋体;
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-font-kerning:1.0pt;}</style><![endif]-->