Web Tips

admin 2022年7月18日09:52:22评论24 views字数 2411阅读8分2秒阅读模式

Web Tips


绕过身份认证

  1. 响应/状态码操作。

  2. 蛮力otp。

  3. OTP 使用后不会过期。

  4. 从账户 A 和 V 请求 2 个令牌。在 V 的账户中使用 A 的令牌。

  5. 尝试在不解决 2FA 的情况下直接转到仪表板 URL。如果不成功,请尝试在进入仪表板时将引荐标头添加到 2FA 页面 url。

  6. 使用 burp search 在 response/js 文件中搜索 2FA 代码。

  7. CSRF/Clickjacking 禁用 2FA。

  8. 启用 2FA 不会使之前的会话过期。

  9. 使用 OAuth 登录以绕过 2FA [大部分不适用]。

  10. 禁用 2FA 不需要 2FA。

  11. 无需 2FA 即可通过忘记密码重设密码。

  12. 在代码中输入 0。例如,如果它是 6 位代码,则使用 000000 作为 2FA。

  13. 请求操作:尝试为 JSON 发送空响应,将“otprequired”参数从 true 更改为 false [应用程序可能允许使用该电话号码创建帐户而无需任何 otp 验证],删除 2fa 代码,同时删除代码和参数,在JSON 将电子邮件作为数组提供。

  14. OpenID 配置错误

  15. 代码在 4-5 小时后不会过期。

  16. 备份代码工具:成功登录后,从您的浏览器生成备份代码生成请求。您也许可以获得备用代码。登录后生成以下请求:

POST /api/enable-2fa HTTP/1.1Host: target.com........
{"action":"backup_codes","email":"[email protected]"}

这里

  1. 检查 2FA 页面是否披露了一些您以前不知道的敏感信息(如博士号)。

  2. 未注册用户的永久 Dos:

        I. Create an account with [email protected] (If there is no email verification). Now enable 2FA in the account. So now victim can't create an account as it'll ask for 2FA code.        II. Can't enable 2fa without email verification? Register with your email and verify it ---> Enable 2fa ---> Change your email to victim.
  1. 尝试在不解决 2fa 的情况下执行不同的经过身份验证的请求(配置文件详细信息更改、api 创建/删除等)。

  2. JSON 中的 OTP 绕过:

{        "code":[                "1000",                "1001",                "1002",                "1003",                "1004",                ...                "9999"                ]}

  1. 使用上述方法滥用备份代码。


验证码绕过


  1. 响应操纵。

  2. 使用以前使用的令牌。

  3. 使用任何具有相同长度(+1/-1)的令牌。

  4. 删除参数值或删除整个参数。

  5. 将方法从 POST 更改为 GET(或 PUT)并删除验证码。

  6. 将正文更改为 JSON。

  7. 尝试 OCR。

  8. 检查验证码是否在源代码中。(例如:2+2)

  9. 检查验证码的值是否在源代码中。

  10. 尝试使用不同的 sessionID 多次使用相同的验证码值。

  11. JSON 正文?结合 6 和 5。

  12. 添加标题:

X-Forwarded-Host: 127.0.0.1X-Forwarded-For: 127.0.0.1X-Originating-IP: 127.0.0.1X-Remote-IP: 127.0.0.1X-Remote-Addr: 127.0.0.1X-Client-IP: 127.0.0.1X-Host: 127.0.0.1


绕过 CSRF 保护


  1. 删除带有值的整个令牌参数/仅删除值。

  2. 使用任何其他随机但相同长度的令牌。

  3. 使用任何其他随机 (length-1) 或 (length+1) 令牌。

  4. 在受害者的会话中使用攻击者的令牌。

  5. 将方法从 POST 更改为 GET 并删除令牌。

  6. 如果通过 PUT 或 DELETE 发出请求,则尝试 POST /profile/update?_method=PUT HTTP/1.1 或

POST /profile/update HTTP/1.1Host: example.com...
_method=PUT
  1. 如果令牌是通过自定义标头发送的;尝试删除标题。

  2. 将 Content-Type 更改为 application/json、application/x-url-encoded 或 form-multipart、text/xml、application/xml。

  3. 如果存在双重提交令牌(在 cookie 和某些标头中),则尝试 CRLF 注入。

  4. 绕过检查:

    如果检查了引用标头但仅当它存在于请求中时,则将这段代码添加到您的 csrf poc 中<meta name="referrer" content="never">
    正则表达式推荐绕过:

https://attacker.com?target.comhttps://attacker.com;target.comhttps://attacker.com/target.com/../targetPATHhttps://target.com.attacker.comhttps://attackertarget.comhttps://[email protected]https://attacker.com#target.comhttps://attacker.com.target.comhttps://attacker.com/.target.com
  1. 通过 xss/htmli/cors 窃取 CSRF 令牌。

  2. 基于 JSON:

    将 Content-Type 更改为 text/plain、application/x-www-form-urlencoded、multipart/form-data 并检查它是否接受。

    使用 flash + 307 重定向。

  3. 可猜测的 CSRF 令牌。

  4. 点击劫持强 CSRF 令牌绕过。

  5. 类型杂耍。

  6. 数组:[email protected] & csrftoken[]=lol

  7. 将 csrf 令牌设置为“null”或添加空字节。

  8. 生成多个 csrf 令牌,观察静态部分。保持原样并使用动态部分。


原文始发于微信公众号(Khan安全攻防实验室):Web Tips

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月18日09:52:22
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Web Tipshttps://cn-sec.com/archives/1183301.html

发表评论

匿名网友 填写信息