代码审计常见漏洞总结

一颗小胡椒2021-12-25 07:03:25

代码审计常见漏洞总结

代码审计,说白了就是白盒测试,审查代码检查是否有安全问题,核心就两点:跟踪用户输入数据+敏感函数参数回溯

关键词查询

  1. 密码硬编码(密码明文存储)——即将密码直接以明文的形式写在代码中,既不安全,也难以维护:password,pass,pwd,jdbc等
  2. 反射型XSS——从用户那儿获取参数中的值,未经检查参数合法性的情况下,直接输出在js代码中,产生脚本攻击:getParameter,<%=,param等
  3. 存储型XSS——指非法数据存入到数据库中,每次加载都会执行恶意代码产生攻击。为了检查代码是否有该漏洞,需从数据库的插入语句中回溯参数的来源,如果整个流程都没有对参数进行过滤,且没有全局过滤器,则判断存在存储型XSS:insert,save,update等
  4. SQL注入——sql语句中出现+,append,$(),#等拼接字眼且没有配置SQL过滤文件,则存在sql漏洞。根本解决办法是预编译,也就是sql语句事先编译好了,随后传入参数填坑,不会重新再编译,也就不会有sql注入:select,update,delete,insert等
  5. 任意文件下载——整个流程中没有对用户请求的文件名进行合法性检查,导致用户能够下载一些配置文件:fileName,filePath,getFile,getWriter等
  6. 任意文件删除——同样也是没有对用户请求的参数进行过滤,导致输入参数拼接以能够删除重要文件:delete,deleteFile,fileName,filePath等
  7. 任意文件上传——未过滤用户输入文件名,导致能够上传恶意可执行文件。需注意有没有配置文件上传白名单,是否有检查后缀名,配置文件是否设置了白名单或者黑名单:upload,write,fileName,filePath等
  8. 命令注入——判断是否直接拼接外部传来的值:getRuntime,exec,cmd,shell等
  9. 缓冲区溢出——直接拷贝或*,未考虑大小:strcpy,strcat,scanf,memcpy,memmove,memeccpy,Getc(),fgetc(),getchar,read,printf等
  10. XML注入——在导入配置、数据传输接口等场景,留意XML解析器是否禁用外部实体:DocumentBuilder、XMLStreamReader、SAXBuilder、SAXParser、SAXReader 、XMLReader、SAXSource 、TransformerFactory 、SAXTransformerFactory 、SchemaFactory等
  11. 日志记录敏感信息——由于日志文件保存位置有一定要求,一般不在考虑范围之内(不结合其他漏洞一起考虑的情况下):log.info,logger.info等
  12. URL跳转——注意是否配置了url跳转白名单:sendRedirect,setHeader,forward等
  13. 敏感信息泄露及错误处理——查看配置文件是否配置了统一错误页面,如果有则不存在此漏洞,如果没有则搜索定位看是否泄露敏感信息:Getmessage,exception等
  14. 反序列化漏洞——当输入的反序列化的数据可被用户控制,那么攻击者即可通过构造恶意输入,让反序列化产生非预期的对象,在此过程中执行构造的任意代码:ObjectInputStream.readObject,ObjectInputStream.readUnshared,XMLDecoder.readObject,Yaml.load,XStream.fromXML,ObjectMapper.readValue,JSON.parseObject
  15. 不安全组件暴露——通过查看配置文件 AndroidManifest.xml,查看属性有没有配置 false。

逻辑漏洞

  1. CSRF(Cross Site Request Forgery, 跨站域请求伪造)——查看配置文件有没有配置csrf全局过滤器,如果没有则看每个操作前有没有添加token的防护机制。
  2. SSRF(Server-Side Request Forgery:服务器端请求伪造)——查看用户可控输入链接有没有过滤机制。
  3. 越权漏洞——重点关注用户操作请求时是否有对当前登陆用户权限做校验或者权限框架的配置文件以及实现方法。
  4. 敏感数据弱加密——看数据传输中的加密方法,一般写在工具类util中。
  5. 短信验证码——时间限制防止可爆破,次数限制防止对手机产生攻击,可否自定义防止发送不良信息。


漏洞
本作品采用《CC 协议》,转载必须注明作者和本文链接
该公司吸引的总投资金额已超过5600万美元,新一轮融资将主要用于加速公司在全球范围内的扩张,并支持其从北美到欧洲不断增长的全球客户群,同时也将支持推进AI路线和产品技术创新。
漏洞概述  漏洞名称Google Chrome WebRTC 堆缓冲区溢出漏洞漏洞编号QVD-2023-48180,CVE-2023-7024公开时间2023-12-20影响量级千万级奇安信评级高危CVSS 3.1分数8.8威胁类型代码执行、拒绝服务利用可能性高POC状态未公开在野利用状态已发现EXP状态未公开技术细节状态未公开利用条件:需要用户交互。01 漏洞详情影
漏洞分析 CVE-2010-0249
2023-11-25 17:50:17
漏洞分析 CVE-2010-0249
漏洞信息共享合作单位证书近日,Coremail获得由国家信息安全漏洞库(CNNVD)颁发的“CNNVD漏洞信息共享合作单位”证书。 此证书是国家权威机构对Coremail安全研究技术和漏洞挖掘技术实力的充分肯定,也是双方合作的里程碑。 国家信息安全漏洞库(CNNVD), 为负责建设运维的国家级信息安全漏洞数据管理平台, 旨在为我国信息安全保障提供服务。  “
漏洞预警 CraftCMS远程代码执行漏洞
漏洞排查与处置,是安全管理员在安全运营中都会碰到的问题,常见却很难做好。
美国联邦调查局于近日警告称,梭子鱼电子邮件安全网关(ESG)的一个重要远程命令注入漏洞的补丁 "无效",已打补丁的设备仍在不断受到攻击。
点击上方蓝字 关注安全知识引言Fiora:漏洞PoC框架Nuclei的图形版。快捷搜索PoC、一键运行Nu
Mikrotik RouterOS操作系统不支持暴力保护,默认的“admin”用户密码在2021年10月之前是空字符串。更让人震惊的是,检测CVE-2023-30799的利用“几乎不可能”,因为RouterOS web和Winbox接口实现了自定义加密,而威胁检测系统Snort和Suricata无法解密和检查这些加密。
一颗小胡椒
暂无描述