Login Bypass
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2Ffiles.gitbook.com%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-L_2uGJGU7AVNRcqRvEi%252Fuploads%252FelPCTwoecVdnsfjxCZtN%252Fimage.png%3Falt%3Dmedia%26token%3D9ee4ff3e-92dc-471c-abfe-1c25e446a6ed&width=768&dpr=4&quality=100&sign=9c8fe74f&sv=1)
RootedCON 是 西班牙 最相关的网络安全事件,也是 欧洲 最重要的事件之一。该大会的 使命是促进技术知识,是各个学科技术和网络安全专业人士的热烈交流平台。
绕过常规登录
如果你发现一个登录页面,这里有一些技术可以尝试绕过它:
检查页面内的 评论(向下滚动并向右?)
检查是否可以 直接访问受限页面
检查 不发送参数(不发送任何或仅发送 1 个)
检查 PHP 比较错误:
user[]=a&pwd=b
,user=a&pwd[]=b
,user[]=a&pwd[]=b
将内容类型更改为 json 并发送 json 值(包括 bool true)
如果你收到一条说 POST 不被支持的响应,可以尝试用
Content-Type: application/json
发送 JSON 到请求体中,但使用 GET 请求检查 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 注入绕过登录:
Login bypass List无 SQL 注入认证绕过
由于无 SQL 注入需要更改参数值,你需要手动测试它们。
XPath 注入认证绕过
LDAP注入认证绕过
记住我
如果页面有“记住我”功能,请检查其实现方式,看看是否可以利用它来接管其他账户。
重定向
页面通常在登录后重定向用户,请检查是否可以更改该重定向以导致开放重定向。如果您将用户重定向到您的网站,可能会窃取一些信息(代码、cookie...)。
其他检查
检查是否可以通过登录功能枚举用户名。
检查密码/敏感信息表单的自动完成是否处于活动状态:
<input autocomplete="false"
RootedCON 是西班牙最相关的网络安全事件,也是欧洲最重要的事件之一。该大会旨在促进技术知识,是各个学科技术和网络安全专业人士的一个热烈交流点。
Last updated