Improper Handling of Extra Parameters
The product does not handle or incorrectly handles when the number of parameters, fields, or arguments with the same name exceeds the expected amount.
When applications receive duplicate parameters, they may process them inconsistently, leading to security bypasses or logic errors. Different frameworks may select the first, last, or combine duplicate parameters.
Como corrigir esta vulnerabilidade
Estratégias de prevenção para Improper Handling of Extra Parameters baseadas em 2 regras de detecção do Shoulder.
Add hpp middleware to normalize duplicate query parameters
+ const hpp = require('hpp'); + app.use(hpp()); + app.get('/search', (req, res) => { const role = req.query.role; if (role === 'admin') { res.json({ admin: true }); } });
Explicitly check for and reject duplicate HTTP parameters
- from flask import request - - @app.route('/api/action') - def action(): - user_id = request.args.get('id') - # Attacker sends: ?id=1&id=admin - # Only gets first value, but backend proxy may use last + from flask import request, jsonify + + @app.route('/api/action') + def action(): + all_ids = request.args.getlist('id') + if len(all_ids) != 1: + return jsonify({'error': 'Duplicate parameters not allowed'}), 400 + user_id = all_ids[0] perform_action(user_id)
Encontre vulnerabilidades no seu código
Use o Shoulder para escanear seu código em busca de padrões Improper Handling of Extra Parameters. 2 regras.
# Scan with Shoulder CLI npx @shoulderdev/cli trust --cwe=235 # Or scan entire project npx @shoulderdev/cli trust .
Regras de Detecção (2)
O que observar nas revisões de código
Estes padrões indicam vulnerabilidades potenciais de Improper Handling of Extra Parameters. Procure-os durante revisões de código e auditorias de segurança.
Escaneie seu código para Improper Handling of Extra Parameters
O Shoulder CLI encontra padrões vulneráveis em todo o seu código.