行业动态

防御吧作为15年知名老牌域名服务商,CNNIC和CANN双认证域名注册商,已经
持续为500多万个域名提供服务,包括智能DNS/自由转移/隐私保护等服务!
黑客是如何欺骗前端验证的?一个套路破解100个网站验证
2021-05-29 20:44:02 【

神秘的黑客总是能轻而易举地破解一些网站的前端验证,他们到底是如何做到的?

将验证放在后端。前端验证针对UX,而非安全性。这是因为不良行为者会欺骗前端验证。但是我们很难理解一个黑客是如何欺骗它的。

之前笔者从没想过,我只是想这意味着有人可以通过对Postman之类的东西发出请求来绕过验证。但是后来我了解到,使用相同的原产地政策是不可能的。那么这些不良行为者如何提出相同的原产地请求?

其实,有很多方法可以绕过客户端验证。HTTP只是字节流,在HTTP 1.x中它们甚至是人们可读的文本(至少对于标头而言)。这使得伪造或操纵请求变得轻而易举。这是执行方法的子集,按粗略类别分组:

在浏览器中绕过验证

浏览到您的站点并输入无效的值。使用浏览器开发工具删除验证事件或操纵其执行以任何方式通过验证。提交表格。使用浏览器开发者控制台,就像通过经过验证的表单一样,从站点发送请求,但是输入未经验证(只需直接调用发出请求的函数即可)。使用浏览器开发工具“编辑并重新发送”请求,然后在重新发送之前,将正文中的有效值更改为无效值。对于GET请求:只需在位置栏中键入任何带有无效参数的URL。对于使用非同一Cookie进行身份验证的POST请求:创建一个网页,以期望的值(包括任何CSRF保护令牌)但具有无效的值发布到您的服务器,然后将其加载到浏览器中并提交。使用非浏览器工具绕过验证

将浏览器设置为通过拦截代理运行(就像大多数安全行业中一样,通常使用Burp Suite,但是也可以使用Fiddler之类的其他产品)。捕获出站请求,篡改字段以使其无效,然后继续发送。再次使用拦截代理,但是这次使用修改后的无效值重播先前的请求(在Burp中,这正是Repeater工具的用途)。右键单击浏览器的开发工具的网络历史记录中的请求,选择“复制为cURL”,将生成的curl命令粘贴到命令行中,编辑已验证的字段以使其无效,然后按Enter发送。从头开始制作恶意请求

使用Burp Repeater,指定站点的协议,域和端口。添加必要的标头,包括授权所需的任何cookie或其他标头。添加具有无效值的所需参数。点击“发送”。使用curl,将请求与所需的标头以及所需的任何正文(包括无效值)一起发送到您的网站。使用ncat,在端口443上使用TLS打开到您站点的连接。键入HTTP顶行,标头和正文(毕竟,这只是文本,尽管在发送之前会经过加密)。如果需要,请发送文件结尾输入(通常,服务器只是立即响应)。使用TCP或HTTP客户端库(从在节点上运行的JS到成熟的已编译golang二进制文件)以任何语言编写一个小的脚本/程序,该脚本将创建一个具有所有必需标头和无效字段的请求,并将其发送到您的服务器。运行脚本/程序。SOP仅在使用浏览器发送请求并且请求源自托管在与请求目的地不同的来源(域,协议和端口的组合)上的网页时才适用。即使这样,SOP仍主要保护原始页面免受响应。它不能阻止攻击的发生。如果您是攻击者,试图通过客户端验证,那么您只需从被攻击的源发送请求即可,而SOP则完全无关。或者只是从非浏览器(例如代理,curl,自定义脚本)发送请求;甚至都没有SOP。

CORS是在SOP中戳破漏洞的一种方法(CORS不会增加任何安全性;它是部分放松SOP的安全性功能的一种方式),因此,除非与SOP相关,否则甚至都没有关系。但是,在许多情况下,您可以使用无效参数发出跨域请求(例如,在创建自己的攻击页面并将浏览器指向该页面,然后使用它向站点提交无效请求的情况下),因为对于大多数情况请求,SOP仅限制是否可以看到响应-即使服务器根本不允许CORS,也可以跨源发送请求-并且通常不需要查看响应。

身份验证后,将授权令牌(cookie,标头值等)从浏览器中拉出很容易(只需在开发工具中检查网络流量,或使用代理即可)。请记住,要使验证成为问题,攻击者必须能够通过浏览器使用网站,这大概意味着他们可以进行身份验证。或者只是使用curl或其他方式提交身份验证请求,将返回的令牌从响应中删除,然后将其用于恶意的无效请求中;完全不需要浏览器!

浏览器无法执行任何操作(就向服务器发送请求而言),而使用某些常见的开放源代码实用程序从Shell提示符下却无法执行该操作。

如果你能清楚的明白这些套路,那么破解前端验证对你来说并不是无法完成的事情。


】【打印关闭】 【返回顶部
分享到QQ空间
分享到: 
上一篇利用反DDoS系统防御TB级流量攻击 下一篇针对于DDOS防御套餐怎么选择?

立足首都,辐射全球,防御吧专注云防御及云计算服务15年!

联系我们

服务热线:010-56157787 ,010-56159998
企业QQ:4000043998
技术支持:010-56159998
E-Mail:800@fangyuba.com
Copyright ? 2003-2016 fangyuba. 防御吧(完美解决防御与加速) 版权所有 增值许可:京B2-20140042号
售前咨询
公司总机:4000043998 01056155355
24小时电话:010-56159998
投诉电话:18910191973
值班售后/技术支持
售后服务/财务
备案专员
紧急电话:18610088800