以前诸位看到过大牛的php代码审计,但是后来由于技术需要学了Java的代码审计,刚来时实战演练检测自个的技术成果,实际上代码审计我觉得不单单是取决于源代码方面的检测,包含你去构建布署下去和去黑盒测试方法作用点相匹配的源代码中去探索这一环节是最重要的,在代码审计中通常全部都是静下心去一步步的探索就可以峰回路转了!
环境系统配置,本地布署环境:idea+tomcat8.5.67+db2数据库.7.26+jdk1.8,cms源码技术栈:SpringBoot、SpringCloud、Shiro、Thymeleaf、vuejs、Element、Bootstrap,取得源代码初期看的情况下看的确实吓人这框架结构和构架给我看的很懵,第一次java的代码审计审这么多构架的搭配。
垂直越权漏洞,Java审计案例分析也有构架工作原理什么的可以参考以前的内容都是有详细说明~这个地方实际上也有个更改别人管理权限,在cors跨域这个地方只需确保咱们的cors跨域没有无效的状况,那样去更改别的的userIds和roleId都能够去更改的。
不成功的授权管理,实际上审计大家都期待立即寻找getshell方式找上传点,在ssm框架构架里边的uploadController,追踪一下下(tip:在这儿我就用的idea检索鼠标双击shift追踪的情况下立即ctrl键+点击)FileUploadUtils这个地方加了控制没法去穿越文件目录做到任意文件下载了。有源代码根基的小伙伴能够跟我似的找cms源码练习,去看看cnvd以前版本号的旧BUG,能够去复现还可以去比较他的自动更新进行了什么修复,官方网站的补丁包有什么,随后自个开展深入分析和笔记的记载,那样不单单是有利于代码审计更针对BUG工作原理&产生有愈发深层次的掌握,尽管此次审计审出来的垂直越权递交cnvd了,剩余2个是上一个版本号BUG的深入分析,期待大伙儿提建议
附1个常用审计构思,正方向数据流分析深入分析-依据业务推源代码。反向数据流分析深入分析-依据缺点推业务,代码审计软件辅助。查验重要部件。自定框架结构审计。