代码审计概念

程序=算法+代码
代码=函数+变量+(流程控制)

漏洞形成的条件:

  • 一、变量可控 一切输入都是有害的
  • 二、变量传递到有利用价值的函数(可利用函数)

漏洞造成的效果:
漏洞的利用效果取决于最终函数的功能
变量进入什么样的函数就会导致什么样的效果

危险函数:
函数的功能 导致 漏洞的种类

  • 文件包含:包含漏洞
  • 代码执行:执行任意代码漏洞
  • 命令执行:执行任意命令漏洞
  • 文件系统操作:文件/目录 读写删除等漏洞
  • 数据库操作:SQL注入漏洞
  • 数据显示:xss等客户端漏洞
  • 。。。

变量跟踪分类:

  • 正向跟踪:通过变量找函数
  • 逆向跟踪:通过函数找变量

代码审计的本质
找漏洞=找对应变量与函数
变量就是漏洞(bug)本身,函数就是这个bug的爪子/衣服/种类


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 askding@qq.com

💰

×

Help us with donation