业务层安全问题、代码实现和服务架构安全问题

    1.业务层安全代码主要集中在业务逻辑和越权问题
    密码未加密 弱加密算法、弱密钥
    无验证码 验证码未刷新 可能会造成撞库 密码爆破
    找回密码逻辑问题(如:可直接跳过验证逻辑直接发包修改)
    未限制验证码次数 验证码时限 验证码过于简单 造成验证码爆破
    调用第三方接口比如付款时没有进行校验
    orm框架更新代码时越权查询、越权修改其他人信息 敏感信息查询
    后端过于信任前端 重要逻辑只在前端js里做校验比如上传文件,后端不使用session而直接从前端数据信息里获取用户数据导致越权
    重要接口未限制使用频率 比如短信,邮件,电话轰炸
    后端未处理异常情况导致敏感信息泄露比如服务器路径 数据库版本 数据库报错语句
    条件竞争:有些业务不支持并发比如转账
    2.代码实现
    1.任意文件读写(文件上传、文件下载)、文件遍历、文件删除、文件重命名等漏洞
    2.SQL注入漏洞
    3.XXE(XML实体注入攻击)
    4.表达式执行(SpEL、OGNL、MVEL2、EL等)
    5.系统命令执行漏洞(ProcessBuilder)
    6.反序列化攻击(ObjectInputStream、JSON、XML等)
    7.Java反射攻击
    8.SSRF攻击

    比如空字节截断漏洞(很多语言都有) 受空字节截断影响的JDK版本范围:JDK<1.7.40 利用时候文件上传
    这个文章写得确实不错
    引用:https://www.freebuf.com/articles/web/194836.html