increaseAllowances 允许代币持有人增加其他地址对其代币的使用权限。这种签名类型涉及批准某个地址在代币持有人的账户中花费更多的代币额度。
如果钱包未能正确识别 Dapp 发起的 increaseAllowances 签名数据异常,可能会导致钓鱼风险。
点击页面上的“Connect Wallet”按钮连接钱包。本测试适用于 Polygon 网络。如果连接钱包后下面的空白框未显示“Polygon Mainnet (Chain ID: 137)”,请点击“Switch to Polygon Mainnet”按钮切换网络。
分别点击下面的“approve(address,uint256) 128”等按钮进行测试,128表示正常长度,“126”,“126+Blank”等都是非正常长度,唤起签名后如果钱包未能够正确识别签名类型或者识别出风险,则存在漏洞。
建议钱包正确识别不同签名数据长度的 increaseAllowance 签名类型。
ethereum.request({
"method": "eth_sendTransaction",
"params": [{
"from": accounts[0],
"to": "0xd89d98d5764787098050354fba1ce9279c448786",
"gasPrice": "0x09184e72a000",
"gas": "0xe4f3",
"data": "0x395093510000000000000000000000009197ee309722a7658934796f0c4bfde85774dd2800000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
}]
});
ethereum.request({
"method": "eth_sendTransaction",
"params": [{
"from": accounts[0],
"to": "0xd89d98d5764787098050354fba1ce9279c448786",
"gasPrice": "0x09184e72a000",
"gas": "0xe4f3",
"data": "0x395093510000000000000000000000009197ee309722a7658934796f0c4bfde85774dd2800000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
}]
});
ethereum.request({
"method": "eth_sendTransaction",
"params": [{
"from": accounts[0],
"to": "0xd89d98d5764787098050354fba1ce9279c448786",
"gasPrice": "0x09184e72a000",
"gas": "0xe4f3",
"data": "0x395093510000000000000000000000009197ee309722a7658934796f0c4bfde85774dd2800000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 112233445566"
}]
});
ethereum.request({
"method": "eth_sendTransaction",
"params": [{
"from": accounts[0],
"to": "0xd89d98d5764787098050354fba1ce9279c448786",
"gasPrice": "0x09184e72a000",
"gas": "0xe4f3",
"data": "0x395093510000000000000000000000009197ee309722a7658934796f0c4bfde85774dd2800000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00"
}]
});
ethereum.request({
"method": "eth_sendTransaction",
"params": [{
"from": accounts[0],
"to": "0xd89d98d5764787098050354fba1ce9279c448786",
"gasPrice": "0x09184e72a000",
"gas": "0xe4f3",
"data": "0x395093510000000000000000000000009197ee309722a7658934796f0c4bfde85774dd2800000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
}]
});
ethereum.request({
"method": "eth_sendTransaction",
"params": [{
"from": accounts[0],
"to": "0xd89d98d5764787098050354fba1ce9279c448786",
"gasPrice": "0x09184e72a000",
"gas": "0xe4f3",
"data": "0x395093510000000000000000000000009197ee309722a7658934796f0c4bfde85774dd2800000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
}]
});