所谓代码审计就是一种以发现程序错误,安全漏洞和违反程序规范为目标的源代码分析,它被认为是安全过程中最关键的阶段之一,也是白盒测试中最常用的方法。那么你知道代码审计常见的漏洞有哪些吗?具体请看下文。
1、硬编码:是指将敏感数据硬编码在程序中。即不安全,也难以维护。
2、跨站脚本漏洞:攻击者可以利用存在xss漏洞的web网站攻击浏览相关网页的用户,窃取用户会话中诸如用户名和口令等敏感信息,通过插入恶意代码对用户执行挂马攻击、xss漏洞还可能被攻击者用于网页篡改。
3、短信验证码:时间限制防止可爆破,次数限制防止对手机产生攻击,可否自定义防止发送不良信息。
4、SQL注入:注入攻击的本质,是程序把用户输入的数据当作代码执行。SQL语句中出现+,append,$(),#等拼接字眼且没有配置SQL过滤文件,则存在SQL漏洞。
5、跨站请求伪装漏洞:攻击者可利用跨站请求伪装漏洞假冒另一用户发出未经授权的请求,即恶意用户盗用其他用户的身份使用特定资源。
6、调试程序残留:代码包含调试程序,如:主函数。调试程序会在应用程序中建立一些意想不到的入口点被攻击者利用。
7、任意文件上传:未过滤用户输入文件名,导致能够上传恶意可执行文件。需注意有没有配置文件上传白名单,是否有检查后缀名,配置文件是否设置了白名单或者黑名单:upload,wirte,fileName,filePath等。
8、命令执行漏洞:系统中使用了一些调用操作系统函数的命令,在调用过程中,如果命令的来源不可信,系统可能执行恶意命令。如删除系统文件。
9、日志伪造漏洞:将未经验证的用户输入写入日志。攻击者可以利用该漏洞伪造日志条目或将恶意内容注入日志。
10、URL跳转:注意是否配置了url跳转白名单:sendRedirect,setHeader,forward等。
11、不安全的ajax调用:系统存在不安全的ajax调用。攻击者能够利用该漏洞绕过验证程序或直接编写脚本调用ajax方法实现越权操作。