修复安全漏洞时转义敏感字符造成支付路径失效

  年前做了一个订购接口,订购套餐成功后返回套餐价格和订单信息以及支付的二维码路径,当时客户调试完没有任何问题。春节前因为集团扫描系统的安全漏洞时发现对外接口有反射跨站威胁(Reflected XSS All Clients),要求我们项目修复这个漏洞。

  经过大量查阅资料,发现修复此漏洞需要对接口的响应参数(response)的字段和值中涉及html的敏感字符进行转义,将<、>、/、\\转为其他html或javascript无法识别的字符,修复后验证时没有全面测试影响,结果年后来了之后,客户再次调用订购接口发现无法调通。

  通过对返回的参数比较发现:

正常返回的支付路径:

  

经过处理后的支付路径:

  

  因为安全漏洞修复时没有考虑到转义斜杠对url的影响,导致返回的路径参数错误,接口出现错误。去掉对斜杠和反斜杠的转义,保留原来的尖括号的处理,既保证安全漏洞的修复,也保证了不影响订购接口。通过这个案例告诉大家解决问题的思路和进行功能修改时需要考虑的更加全面才行。

猜你喜欢

转载自www.cnblogs.com/foreverhHope/p/12332112.html