1.掌握Java面向对象设计思想,掌握封装、继承、多态三大特性及java.lang包下的类的使用。
2.掌握Java反射机制及使用。
3.具备Java多线程、异常处理、Socket编程等能力。
5.熟练使用spring、spring mvc、spring boot、spring security、struts等框架。
6.熟练使用MySQL、Oracle、MongoDB、redis等数据库及消息中间件ActiveMQ。
7.熟练使用git、maven工具。
8.掌握基本的Linux操作命令及Linux系统安装常用软件和部署Java web项目。
vulhunter-portal
1.项目概括
负责储存展示和管理检测出的漏洞以及为客户提供可视化操作界面和工具,总体上是一套综合管理工具。采用前后端分离模式开发。目前已上市使用。
2.我的职责
①.处理漏洞上报逻辑,使用ActiveMQ处理漏洞储存,使用MySQL储存漏洞主体信息,使用MongoDB储存引起漏洞的request信息。
②.获取漏洞描述信息,使用类加载器加载资源文件返回is,使用javax.xml.bind.Unmarshaller实现xml和bean的转换。
③.抽出顶层权限检测类DomainSecurity,检测用户发起的操作是否属于水平越权。
④.使用spring-security做项目安全配置,配置访问权限,防止操作引起垂直越权。
3.有关技术
①.使用spring framework+spring mvc+mybatis组成基本框架
②.使用MongoDB和MySQL数据库
③.使用ActiveMQ消息中间件
④.使用spring security框架
vulhunter-engine
1.项目概括
使用Java agent概念开发的一个agent工具,基于IAST交互式检测理念去动态检测并上报软件的安全漏洞。目前已上市使用。
2.我的职责
①.使用字节码插桩特定类插入自定义方法,获取获取项目信息或支持相关漏洞,如:
spring-web:
DispatcherServlet
spring-security:
MethodSecurityInterceptor、
FilterSecurityInterceptor
shiro:
AopAllianceAnnotationsAuthorizingMethodInterceptor、
AbstractShiroFilter
struts:
ActionConfig
②.使用Java反射技术获取类的成员变量的值。
③.与portal端交互,使用Timer定时拉取配置信息。
④.处理上报逻辑,使用多线程优化处理过程。
3.有关技术
主要使用Java字节码插桩、Java反射、多线程、Instrumentation。
sfuzz
1.项目概括
负责管理应用被检测出的第三方库漏洞,统计和提醒应用存在的有漏洞第三方库信息。
2.我的职责
①.前端交互接口的开发,如:app、group的增删改查。
②.使用org.apache.http的HttpClient转发请求。
3.有关技术
①.使用spring framework+spring mvc+mybatis组成基本框架
②.使用MySQL数据库
③.使用spring security框架
广菲克smartJ
1.项目概括
为广菲克提供即时的语音交互和后台数据统计分析、设备和4S店管理等功能。
2.个人职责
①.语义分析功能开发。
②.与前端交互的接口开发。
③.Android端开发。
④.Linux服务器的部署。
3.有关技术
1.前端页面使用AdminLTE框架,后台使用Dropwizard微服务框架。
2.使用Dropwizard的Authentication的Authenticator模块处理身份验证需求。
3.数据统计展示用ECharts框架实现。
4.数据请求使用jQuery框架的Ajax技术实现。
5.后台每日数据整理使用Java多线程实现(Thread)。
6.数据库使用MySQL。
小牧童
1.项目概括
为牧场提供线上自动化管理,减少人工成本,提升牧场产值,保证奶牛产奶质量,现已投入使用。
2.个人职责
①.用户管理、物资管理、定时检测传感器状态等功能的开发维护。
②.与GPS定位器的数据交互的维护和开发。
③.Linux服务器的部署。
3.有关技术
①.使用Dropwizard微服务框架。
②.模块化服务支持,整体项目有三个基础服务(登录和角色验证服务、牛场管理服务、物资管理服务)共同支持。
③.数据统计展示用ECharts框架实现,导出报表由Java POI支持。
④.数据请求使用jQuery框架的Ajax技术实现。
⑤.使用Dropwizard的JOB模块每日自动job检查处理。
⑥.数据库使用MySQL。