类型: 安全缺陷

    目前大部分WEB框架支持将HTTP请求参数与类的属性相匹配的而生成一个对象。因此,攻击者能够将值放入HTTP请求参数中从而绑定系统对象。

    1. @RequestMapping("/login" )
    2. public String login(User user) {
    3. ...
    4. }
    5. 其中,User 类定义为:
    6. public class User {
    7. private String username;
    8. private String address;
    9. private int age;
    10. private boolean admin;
    11. ...
    12. }

    当Spring MVC未配置为禁止绑定敏感属性,则攻击者可能会通过发送以下使普通用户变为管理员。
    name=张三&address=北京&age=22&admin=true