漏洞研究方法总结 ·
yuange·
1 2 下一页 一、前期准备,建立安全模型;
1、熟悉软件功能、功能实现,配置等;
如:IIS的虚拟目录、脚本映射;
2、根据功能,分析安全需求,建立安全模型;
IIS外挂,文件类型识别,目录正确识别;目录限制;
外挂的特点;权限不是在文件对象上,需要自己识别文件,所以需要识别出同一个文件的所有文件名;
3、根据安全需求,分析编程应注意的地方,重点检查。
IIS要对"../"进行检测,连接文件的处理,识别出正确的目录、文件名; 编程接口完全按接口实现;
二、原代码分析;
1、通读原代码; 2、安全需求里面重点需要检测的地方; 3、搜索容易有问题的函数调用,如strcpy、strcat、*printf、free、strncpy等; 4、常见一些编程问题;一些变量类型,如长度变量用int,注意一些函数非直接返回赋值问题等,一些边界条件,记数从0开始还是从1开始。 5、分析缓冲区使用的代码; 6、输入输出合法检测; 7、编程接口调用;了解操作系统、基本文件、进程调用等的特性; 8、数据结构; 9、安全领域的最小原则;
三、二进制代码分析;
1、测试;
(1)、熟悉输入输出; (2)、根据需要编写测试程序; (3)、输入输出各种特殊情况测试,特殊字符、长串; (4)、安全需求需要检测的一些条件测试;
2、反汇编分析;
(1)、阅读理解反汇编代码; (2)、安全需求检测的代码分析; (3)、调用接口代码分析; (4)、sub esp,xxx 代码分析缓冲; (5)、strcpy、strcat、*printf、free、strncpy等调用分析; (6)、输入输出检测;
3、跟踪调试;
(1)、异常的拦截分析; (2)、一些字符串的流向,读写断点; 1 2 下一页 |