热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

java代码审计入门01

入门知识总体目标方向先熟悉一些基本的流程安装配置对应环境与分析工具常规漏洞代码审计分析一些框架漏洞代码审计分析学习方向个人认为主要的方向如下:学习了解java的基本

入门知识


总体目标方向


先熟悉一些基本的流程安装配置对应环境与分析工具常规漏洞代码审计分析一些框架漏洞代码审计分析

学习方向


个人认为主要的方向如下:学习了解java的基本使用学习掌握常见Web漏洞的原理(注入、XSS、SSRF等)学习审计常见漏洞学习审计中间件框架的知识(weblogic、fastjson等)

代码审计流程

配置分析环境没什么说的,没环境还分析个锤子熟悉业务流程功能总体分为多少块,每一块的功能代码是如何实现的分析程序架构比如说是MVC,每一层用了哪些第三方的架构,每一层用了哪些第三方的插件工具自动化分析先使用工具对代码扫描一遍人工审计结果(分两种)验证工具扫描结果,排除误报时间充裕的情况下,从前端jsp页面到后边参数的传递,到参数接收过滤处理,到返回前端结果,每一步都要研究明白,分析可能存在的问题。

War包

作用:

Web网站发布到中间件(tomcat、web logic等)部署,都是以war包的形式。中间件服务器将war包进行解析,假如我们能拿到这些war包,就可以反编译后进行代码审计

结构:
在这里插入图片描述

主要的审计过程都在Class文件

Java的内置对象

我们知道java之中的对象的使用一般都是要先new一下,在使用。但是其包含九大内置对象,无需声明(new)而直接使用。Request(请求)Response(相应)PageContext(在jsp中直接使用的java代码)Session(回话)Application(两个页面交互使用的共享对象)Out(直接输出的对象)ConfigPageException

Java中危险的函数


getParameter() 获取传入的参数,主要看看是否存在过滤,假设没有任何过滤,而是直接拿来使用,那么就极有可能存在漏洞getCOOKIEs()主要是看函数获取会话是干嘛的,假设仅仅是用来做对比和校验,那或许不存在风险,但是假设是将拿到的会话保存到数据库中就很危险。因为获取到的会话是从前端传递过来的,是不可信且存在风险的。getQueryString()数据库语句执行而get的一个字符串get headers()获取前端传值数据包头的值Runtime.exec()可以直接执行系统命令logger.info输出的命令,存在信息泄露的风险

三个关键字


Password存在泄露的风险Upload上传相关漏洞Download下载相关漏洞

推荐阅读
  • java和servlet交互,JSP与Servlet之间的交互,传值
    一.Servlet首先要明白一点,servlet需要容器的支持才能够运行,如Tomcat、jetty达到servlet的请求,需要ServletRequest对象和S ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文介绍了ASP.NET Core MVC的入门及基础使用教程,根据微软的文档学习,建议阅读英文文档以便更好理解,微软的工具化使用方便且开发速度快。通过vs2017新建项目,可以创建一个基础的ASP.NET网站,也可以实现动态网站开发。ASP.NET MVC框架及其工具简化了开发过程,包括建立业务的数据模型和控制器等步骤。 ... [详细]
  • SpringMVC工作流程概述
    SpringMVC工作流程概述 ... [详细]
  • 在IDEA中运行CAS服务器的配置方法
    本文介绍了在IDEA中运行CAS服务器的配置方法,包括下载CAS模板Overlay Template、解压并添加项目、配置tomcat、运行CAS服务器等步骤。通过本文的指导,读者可以轻松在IDEA中进行CAS服务器的运行和配置。 ... [详细]
  • 项目运行环境配置及可行性分析
    本文介绍了项目运行环境配置的要求,包括Jdk1.8、Tomcat7.0、Mysql、HBuilderX等工具的使用。同时对项目的技术可行性、操作可行性、经济可行性、时间可行性和法律可行性进行了分析。通过对数据库的设计和功能模块的设计,确保系统的完整性和安全性。在系统登录、系统功能模块、管理员功能模块等方面进行了详细的介绍和展示。最后提供了JAVA毕设帮助、指导、源码分享和调试部署的服务。 ... [详细]
  • Tomcat安装与配置教程及常见问题解决方法
    本文介绍了Tomcat的安装与配置教程,包括jdk版本的选择、域名解析、war文件的部署和访问、常见问题的解决方法等。其中涉及到的问题包括403问题、数据库连接问题、1130错误、2003错误、Java Runtime版本不兼容问题以及502错误等。最后还提到了项目的前后端连接代码的配置。通过本文的指导,读者可以顺利完成Tomcat的安装与配置,并解决常见的问题。 ... [详细]
  • 一、Struts2是一个基于MVC设计模式的Web应用框架在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts2优点1、实现 ... [详细]
  • 一.常见基于身份识别进行反爬1通过headers字段来反爬headers中有很多字段,这些字段都有可能会被对方服务器拿过来进行判断是否为爬虫1.1通过headers中的User-A ... [详细]
  • ASP.NET MVC 小牛之旅3:Routing——网址路由
    网址路由(Routing)在ASP.NETMVC中有两个主要用途,一个用途是匹配通过浏览器传来的HTTP请求,另一个用途则是响应适当的网址给浏览器。3.1匹配通过浏览器传来的HTT ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • 本文讲述了作者从最初对软件工程的选择迷茫到逐渐喜欢并坚持学习的经历。作者在大学期间通过学习专业课和参与项目开发,不断挑战自己并取得成就感。虽然曾考虑过转专业和复读,但最终决定坚持学习软件工程,并为自己的未来努力奋斗。作者还提到了大学生活与自己最初的预期不同,但对此并没有太多抱怨。 ... [详细]
author-avatar
光明使者之快乐天使_101
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有