Java代码审计--checklist

 

通常我喜欢把代码审计的方向分为业务层安全问题、代码实现服务架构安全问题,。

 

1. 业务层安全常见问题

业务层的安全问题集中在业务逻辑越权问题上,我们在代码审计的过程中尽可能的去理解系统的业务流程以便于发现隐藏在业务中的安全问题。

1.1 业务层中常见的安全问题Checklist

  1. 用户登陆、用户注册、找回密码等功能中密码信息未采用加密算法。

  2. 用户登陆、用户注册、找回密码等功能中未采用验证码验证码未做安全刷新(未刷新Session中验证码的值)导致的撞库、密码爆破漏洞。

  3. 找回密码逻辑问题(如:可直接跳过验证逻辑直接发包修改)。

  4. 手机、邮箱验证、找回密码等涉及到动态验证码等功能未限制验证码失败次数验证码有效期验证码长度过短导致的验证码爆破问题。

  5. 充值、付款等功能调用了第三方支付系统未正确校验接口(如:1分钱买IPhone X)。

  6. 后端采用了ORM框架更新操作时因处理不当导致可以更新用户表任意字段(如:用户注册、用户个人资料修改时可以直接创建管理员账号或其他越权修改操作)。

  7. 后端采用了ORM框架查询数据时因处理不当导致可以接收任何参数导致的越权查询、敏感信息查询等安全问题。

  8. 用户中心转账、修改个人资料、密码、退出登陆等功能未采用验证码或Token机制导致存在CSRF漏洞。

  9. 后端服务过于信任前端,重要的参数和业务逻辑只做了前端验证(如:文件上传功能的文件类型只在JS中验证、后端不从Session中获取用户ID、用户名而是直接接收客户端请求的参数导致的越权问题)。

  10. 用户身份信息认证逻辑问题(如:后台系统自动登陆时直接读取Cookie中的用户名、用户权限不做验证)。

  11. 重要接口采用ID自增、ID可预测并且云端未验证参数有效性导致的越权访问、信息泄漏问题(如:任意用户订单越权访问)。

  12. 条件竞争问题,某些关键业务(如:用户转账)不支持并发、分布式部署时不支持锁的操作等。

  13. 重要接口未限制请求频率,导致短信、邮件、电话、私信等信息轰炸。

  14. 敏感信息未保护,如Cookie中直接存储用户密码等重要信息。

  15. 弱加密算法、弱密钥,如勿把Base64当成数据加密方式、重要算法密钥采用弱口令如123456

  16. 后端无异常处理机制、未自定义50X错误页面,服务器异常导致敏感信息泄漏(如:数据库信息、网站绝对路径等)。

  17. 使用DWR框架开发时前后端不分漏洞(如:DWR直接调用数据库信息把用户登陆逻辑直接放到了前端来做)。

 

2. 代码实现常见问题

代码审计的核心是寻找代码中程序实现的安全问题,通常我们会把代码审计的重心放在SQL注入、文件上传、命令执行、任意文件读写等直接威胁到服务器安全的漏洞上,因为这一类的漏洞杀伤力极大也是最为致命的。

 

###2.1 代码实现中常见的安全问题Checklist

  1. 任意文件读写(文件上传、文件下载)、文件遍历文件删除文件重命名等漏洞

  2. SQL注入漏洞

  3. XXE(XML实体注入攻击)

  4. 表达式执行(SpEL、OGNL、MVEL2、EL等)

  5. 系统命令执行漏洞(ProcessBuilder)

  6. 反序列化攻击(ObjectInputStream、JSON、XML等)

  7. Java反射攻击

  8. SSRF攻击

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
华为-原理图绘制评审规范-checklist是华为公司为了确保原理图绘制质量和准确性而制定的指南。以下是一份可能的评审规范-checklist: 1. 原理图符号准确性:检查原理图中的各个元件符号是否正确,包括器件、连接线、电源等。确保符号与实际元件相对应,并且没有错误或遗漏。 2. 连接线规范:检查连接线的走向是否符合设计要求,并且没有交叉、断开或不必要的交叉。确保连接线的长度合适且整齐,以提高信号传输的质量。 3. 电源规划:检查电源的布局和规划是否符合设计要求,包括电源线的位置和连接方式。确保每个器件都能得到足够的电源供应,以避免电源噪声或干扰。 4. 阻抗匹配:检查原理图中的阻抗匹配电路是否正确,并且与设计规格相符。确保各个信号路径的阻抗匹配良好,以提高信号传输的稳定性和可靠性。 5. 信号完整性:检查原理图中的信号传输路径是否正确,并且没有信号路径交叉、误接或不必要的延迟。确保信号的传输路径短、直接,并且能够保持信号的完整性和稳定性。 6. 地线和功率线分离:检查原理图中的地线和功率线是否分离,并且没有交叉或干扰。确保地线和功率线的分离可以减少干扰和噪声,提高系统的稳定性和性能。 总之,华为-原理图绘制评审规范-checklist旨在确保原理图的准确性、规范性和可靠性,以提高华为产品的质量和性能。通过逐项检查每个要素,可以及时发现和纠正潜在的问题,确保原理图符合设计规格,并满足客户的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值