1、先来聊聊代码审计先来聊聊代码审计什么是代码审计?什么是代码审计?为什么要代码审计?为什么要代码审计?如何进行代码审计?如何进行代码审计?什么是代码审计什么是代码审计检查源代码中的安全缺陷,检查程序源代码是否存在检查源代码中的安全缺陷,检查程序源代码是否存在安全隐患,或者有编码不规范的地方,通过自动化工安全隐患,或者有编码不规范的地方,通过自动化工具或者人工审查的方式,对程序源代码逐条进行检查具或者人工审查的方式,对程序源代码逐条进行检查和分析,发现这些源代码缺陷引发的安全漏洞,并提和分析,发现这些源代码缺陷引发的安全漏洞,并提供代码修订措施和建议。供代码修订措施和建议。什么是代码审计什么是代码
2、审计就是在代码中寻找安全隐患就是在代码中寻找安全隐患什么隐患?什么隐患?如何寻找?如何寻找?为什么代码审计为什么代码审计网络安全风险网络安全风险白盒测试白盒测试代码审计收益代码审计收益如何代码审计如何代码审计代码审计的基本流程代码审计的基本流程确认审计确认审计主体主体确认系统使用的语言、框架、版本信息,开发文档等等。对系统代码有清晰的认知。进行审计进行审计挖掘漏洞挖掘漏洞结合使用自动化工具与人工审计,高效而又细致的对系统进行审计。汇总并提供汇总并提供修复方案修复方案对审计出的漏洞进行汇总,给出相应的修复方案并协助修复。复测或复测或定期审计定期审计代码并非一成不变,漏洞也一样,定期的代码审计同样
3、重要。代码审计中的难点代码审计中的难点语言繁多,组合使用语言繁多,组合使用代码混乱,结构复杂代码混乱,结构复杂.AppCommonConf.AppCommonConfdb.phpdb.phpLi5cXC4uXFwuLlxcQXBwXFxDb21tb25cXENvbmZcXGRiLnBocA=Li5cXC4uXFwuLlxcQXBwXFxDb21tb25cXENvbmZcXGRiLnBocA=http:/127.0.0.1/xyhai.php?s=/Templets/edit/fname/http:/127.0.0.1/xyhai.php?s=/Templets/edit/fname/Li5cX
4、C4uXFwuLlxcQXBwXFxDb21tb25cXENvbmZcXGRiLnBocA=Li5cXC4uXFwuLlxcQXBwXFxDb21tb25cXENvbmZcXGRiLnBocA=.AppCommonConf.AppCommonConfconfig.phpconfig.phpLi5cXC4uXFwuLlxcQXBwXFxDb21tb25cXENvbmZcXGNvbmZpZy5waHA=Li5cXC4uXFwuLlxcQXBwXFxDb21tb25cXENvbmZcXGNvbmZpZy5waHA=http:/127.0.0.1/xyhai.php?s=/Templets/edit/
5、fname/http:/127.0.0.1/xyhai.php?s=/Templets/edit/fname/Li5cXC4uXFwuLlxcQXBwXFxDb21tb25cXENvbmZcXGNvbmZpZy5waHA=Li5cXC4uXFwuLlxcQXBwXFxDb21tb25cXENvbmZcXGNvbmZpZy5waHA=金融行业的安全背景金融行业的安全背景数字化进程的加快数字化进程的加快由线下到线上的快速转变由线下到线上的快速转变行业监管要求日益严格细化行业监管要求日益严格细化制度体系进一步完善制度体系进一步完善金融行业的安全风险金融行业的安全风险漏洞威胁漏洞威胁攻击威胁攻击威胁代
6、码本身代码本身黑客攻击频繁、漏洞越挖越快、零DAY频出不讲武德,网络攻击组织化与全球化代码产出时便埋下的隐患金融行业的安全漏洞金融行业的安全漏洞SQL注入SQL注入:JDBC、Hibernate、Mybatis跨站脚本存储型XSS、反射型XSS、基于DOM的XSS命令注入不可信赖的数据导致程序执行恶意命令HTTP响应截断不可信赖的数据置于HTTP头文件中发出密码管理硬编码密码、配置文件中的明文密码、弱加密XML注入向XML文档中写入未经验证的数据路径遍历不可信赖的数据构成路径XML外部实体注入对非安全的外部实体数据进行处理动态代码解析程序运行时动态解析源