程序=算法+代码
代码=函数+变量+(流程控制)
漏洞形成的条件:
- 一、变量可控 一切输入都是有害的
- 二、变量传递到有利用价值的函数(可利用函数)
漏洞造成的效果:
漏洞的利用效果取决于最终函数的功能
变量进入什么样的函数就会导致什么样的效果
危险函数:
函数的功能 导致 漏洞的种类
- 文件包含:包含漏洞
- 代码执行:执行任意代码漏洞
- 命令执行:执行任意命令漏洞
- 文件系统操作:文件/目录 读写删除等漏洞
- 数据库操作:SQL注入漏洞
- 数据显示:xss等客户端漏洞
- 。。。
变量跟踪分类:
- 正向跟踪:通过变量找函数
- 逆向跟踪:通过函数找变量
代码审计的本质
找漏洞=找对应变量与函数
变量就是漏洞(bug)本身,函数就是这个bug的爪子/衣服/种类
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 askding@qq.com