Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Une commande directe contourne le prompt de vérification. Examinez la source avant de l'exécuter.
Test Number of Times a Function Can Be Used Limits
High-Level Description
Function usage limit testing examines whether an application properly enforces restrictions on how many times a user can perform specific actions. These limits protect against abuse, fraud, and resource exhaustion. Attackers may attempt to bypass these controls to gain unfair advantages, such as unlimited free trials, multiple coupon redemptions, or exceeding transaction limits.
What to Check
Usage Limits to Test
Daily/weekly/monthly transaction limits
Free trial limitations
Download quotas
API rate limits
Voting/rating limits
Coupon/promotional code usage
Password reset request limits
Account creation limits
Bypass Techniques
Technique
Description
Session manipulation
New session resets counter
Account switching
Multiple accounts
Parameter tampering
Modify limit parameters
Time manipulation
Change timestamps
Race conditions
Parallel requests
How to Test
Step 1: Identify Function Limits
# Document limits from application behavior/documentation# Examples:# - 3 password reset attempts per hour# - 5 free downloads per day# - 10 API calls per minute# - 1 coupon per account# - $1000 daily transfer limit# Test to discover undocumented limitsfor i {1..50};
response=$(curl -s -X POST \
-H \
-w )
# Get new session and test if limit resets# First, exhaust limit with current sessionfor i in {1..10}; do
curl -s -X POST "https://target.com/api/action" \
-H "Cookie: session=$SESSION1" > /dev/null
done# Get new session
NEW_SESSION=$(curl -s -c - "https://target.com/login" \
-d "user=$USER&pass=$PASS" | grep session | awk '{print $7}')
# Try with new session
response=$(curl -s -X POST "https://target.com/api/action" \
-H "Cookie: session=$NEW_SESSION")
echo"After new session: $response"# If success, limits are per-session not per-user
Step 4: Test Account-Based Limit Bypass
#!/bin/bash# Test if creating multiple accounts bypasses limits# Limit: 3 free downloads per account# Attack: Create multiple accountsfor account in {1..5}; do# Create new account
curl -s -X POST "https://target.com/api/register" \
-H "Content-Type: application/json" \
-d "{
\"username\": \"testuser$account\",
\"email\": \"test$account@temp-mail.com\",
\"password\": \"Password123!\"
}"# Get token
token=$(curl -s -X POST "https://target.com/api/login" \
-H "Content-Type: application/json" \
-d "{
\"email\": \"test$account@temp-mail.com\",
\"password\": \"Password123!\"
}" | jq -r '.token')
# Use free downloadsfor download in {1..3}; do
curl -s -X GET "https://target.com/api/download/free" \
-H "Authorization: Bearer $token" > /dev/null
echo"Account $account, Download $download: Done"donedone
Step 5: Test Time-Based Limit Reset
# Test if limits reset at specific times# First, exhaust daily limitfor i in {1..10}; do
curl -s -X POST "https://target.com/api/action" \
-H "Authorization: Bearer $TOKEN" > /dev/null
done# Check if sending future timestamp bypasses
curl -s -X POST "https://target.com/api/action" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"timestamp": "2025-12-31T00:00:00Z"}'# Test with modified Date header
curl -s -X POST "https://target.com/api/action" \
-H "Authorization: Bearer $TOKEN" \
-H "Date: Mon, 31 Dec 2025 00:00:00 GMT"