代码审计小tips(一)
代码审计的源码获取
-
通过fofa进行指纹识别提取关键指纹
-
将获取到的关键信息去github和gitee进行获取
-
源码网站如站长之家,zuidaima.com,bbs52jscn.com
-
拖源码,获取目标权限拖源码
-
同指纹站点目录扫描
代码审计工具
-
SpotBugs
-
fortify scan
代码审计流程
访问流程(根据各个流程可能出现的漏洞针对性审计)
首先如果要进行代码审计那就还是要先理解下web访问流程
-
web前端访问(参数传入)
-
filter--->servlet---->controller(参数控制,过滤)
-
service(业务功能处理调用)
-
dao (调用底层jdbc 持久化)
第三方依赖 如pom.xml中引入的依赖 去看网上是否有已出现的漏洞进行比对poc测试。
代码审计方法
- 如下对关键字全局查找溯源,最常用的方式
- 密码硬编码、
Password、pass、jdbc
- 密码明文存储
- xss
getParamter、<%=、param
- SQL注入
select、 dao、from、delete、update、insert
- 任意文件下载
download、fileName. filePath.write. getFile、getWriter
- 任意文件删除
delete、deleteFile、fileName、filePath
- 文件上传
upload、write、 fileName、filePath
- 命令注入
getRuntime.exec. cmd、 shell、 processBuilder.star
- XML注入
DocumentBuilder、XMLStreamReader、SAXBuilder、SAXParser、SAXReader、XMLReader、SAXSource,``
TransformerFactory、SAXTransformerFactory.SchemaFactory` - JNDI注入
lookup
- 反序列化漏洞
ObjectlnputStream.readObject、ObjectInputStream.readUnshared、XMLDecoder.readObject. Yaml.load、XSream.fromXML、ObjectMapper.readValue、JSON.parseObject
- url跳转
sendRedirect. setHeader、forward
- 日志记录敏感信息
log、log.info、logger.info
- 密码硬编码、
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求