文章目录
11.1. 代码审计
11.1.1. 简介
代码审计是找到应用缺陷的过程。其通常有白盒审计、黑盒审计、灰盒审计等方式。白盒审计指通过对源代码的分析找到应用缺陷,黑盒审计通常不涉及到源代码,多使用模糊测试的方式,而灰盒审计则是黑白结合的方式。三种不同的测试方法有不同的优缺点。
11.1.2. 常用概念
11.1.2.1. 输入
输入通常也称Source,Web应用的输入可以是请求的参数(GET、POST等)、上传的文件、Cookie、数据库数据等用户可控或者间接可控的地方。
例如PHP中的$_GET
/ $_POST
/$_REQUEST
/ $_COOKIE
/ $_FILES
/$_SERVER
等,都可以作为应用的输入。
11.1.2.2. 处理函数
处理函数是对数据进行过滤或者编解码的函数,通常被称为Clean/Filter/Sanitizer。这些函数会对输入进行安全操作或过滤,为漏洞利用带来不确定性。
同样以PHP为例,这样的函数可能是 mysqli_re