Skip to content

[bug] 开启重写时,URL参数出现重复编码问题 #2105

@dyson1yh

Description

@dyson1yh

问题描述

在开启重写功能,修改请求参数时,发现请求参数中的keyWord字段出现异常编码:原始参数为keyWord=%E9%93%9C(对应中文 “铜” 的正确 URL 编码),经过抓包重写后被错误修改为keyWord=%25E9%2593%259C,导致服务器无法正确解析参数值。

进一步排查发现,问题根源是%符号被重复编码(%的 URL 编码为%25),导致原始编码结果被二次编码,属于典型的 URL 编码重复执行问题。

Image Image

复现步骤

1)构造包含中文参数的请求,例如https://example.com/api?keyWord=铜,浏览器自动编码为keyWord=%E9%93%9C;
2)开启reqable的请求重写功能,配置规则对该 URL 进行请求修改,新建一条修改参数规则(无需修改keyWord参数内容);
3)发送请求后,通过抓包工具查看重写后的请求 URL,发现keyWord参数变为%25E9%2593%259C;
4)服务器接收后解析为乱码(而非预期的 “铜”)。

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingp0Priority processing

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions