业务层安全问题、代码实现和服务架构安全问题
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