总结知识点---Java代码审计篇

持续更新问题及答案

问:说下平时怎么做代码安全审计的,具体思路?

代码审计的核心思想就是追踪参数,而追踪参数的步骤就是程序执行的步骤,说白了代码审计就是一个跟踪程序执行步骤的一个过程,

1、逐条读代码,了解整个框架的流程过后,从我一般是先阅读权限控制模块,然后直接通读Controller模块,然后跟踪看看, 后面你会发现很多类似的代码,从而提高通读的速度的。可以看安全客的这篇代码审计

2、敏感函数回溯(使用工具审计),结合业务场景,逐个功能点进行测试,根据输入来追踪变量的最终形态;一些不在显示页面的功能点所存在的漏洞可能就会挖掘不到

3、定向功能分析

 

Java框架级SSM代码审计思路

问:会用静态代码安全审计工具吗?知道这些工具的原理是什么吗?

答:Cobra:定位于静态代码安全分析的工具,目标是为了找出源代码中存在的安全隐患或者漏洞。

AST树和token流

问:你做代码审计有没有找过比较经典的漏洞

Java代码审计可以发现的漏洞分为两类:

1、程序员由于编码不当产生的漏洞,典型包括后门、SQL注入、文件上传、任意文件下载、接口非授权访问、垂直越权。对于水平越权、XSS、CSRF、逻辑类漏洞也可以检测;

2、第三方组件使用不当产生的漏洞,从POM文件中可以找到使用了低版本的组件。从应用配置文件中可以找到配置不当问题。

Fortify SCA扫描

条件竞争漏洞

问:有没有接触过php的代码审计,php的文件包含漏洞是什么。文件包含漏洞的形成原因(换句换说就是什么函数导致的)

问:假如有文件包含漏洞,你怎样通过这个文件包含漏洞将页面的源代码包含进来

./切换目录,其实这都只是包含页面,面试官问的是包含代码,自己没打出来,面试官还是很好的回答了,用php伪协议

问:java反序列化漏洞的形成原因,具体是哪些类库造成的,和漏洞触发条件等

java引入的数据传输存储接口,通过这种机制能够实现数据结构和对象的存储和传输,在JAVA中呢,比较常用的利用ObjectInputStreamreadObject方法进行对象读取时,当目标对象已经重写了readObject方法,则目标对象readObject方法。参考安全客java代码审计之反序列化入门

问:struts2漏洞的原理,这种漏洞触发的根本原因是什么?struts2漏洞的原理,这种漏洞触发的根本原因是什么?

问:平时做java做过哪些java开发。有没有接触过单点登录?怎样去实现单点登录,跨域之间怎样实现单点登陆。

问:根据项目经验,怎样根据代码审计来挖掘一些常见的漏洞,举例。

问:有没有了解java的一些常用框架,以及java自带的一些安全处理类。

java常用框架有

SpringMVC:基于MVC设计模式的请求驱动类型的轻量级Web框架

SSH:Struts2+Spring+Hibernate三个开源框架整合而成。后因Struts2爆出众多高危漏洞,导致目前SSM逐渐代替SSH成为主流开发框架的选择。

SSM:SpringMVC+Spring+Mybatis

SecurityManager:它为其他Java API提供相应的接口,使之可以检查某项操作能否执行,充当了安全管理器的角色。

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值