Rate Limiting, Throttling

Introduction

API 如果没有限制调用次数的话,就会出现brute forcing 的问题.

通常出现问题的地方

  • Login
  • Reset Password
  • 2FA Login - 这个容易被忽略. Brute Force 的是OTP, 假如 account 不会给 Lock, 短时间内 enumerate 6位数还是有可能的
  • Enumeration
  • Sign Up - 银行 Application 一般不会有这个问题, 因为通常开户都需要提供很多信息

Bypass

  • Null Byte, CRLF

    • %00
    • %0d%0a - CRLF (cReturn, linefeed)
    • %09 - tab
    • %0C - ??
    • %20 - space
    • %0 - ???

    NIN: 假如 brute force logon, username 被 lock, 尝试在 username 后加上上述的字符

  • Changing Cookies

    NIN: 这个不是很理解. 假如 API 需要一个 valid 的 session, block 了此 session, 如何继续??

  • Changing IP

    NIN: 用IP6

  • Mobile

    NIN: 这不能算 bypass,只是 Mobile 更容易遗忘 rate limiting.

Ref

zseano | UK Security Researcher

Show Comments