要学习代码审计,您应该熟悉三种语言,分为四个部分。首先是编程语言。1.前端语言html/js/dom/element主要用于利用xss漏洞。Jquery主要写CSRF脚本或者DOMXSS,JSON劫持等等。2.了解后端语言的基本语法,如变量类型、常量、数组(python是list、tuple、dictionary)、对象、调用、引用等。MVC设计模式应该很清晰,因为大多数目标程序都是基于MVC编写的,包括但不限于php、python和java。不需要写,但一定要能看懂,懂逻辑,知道哪些功能点可以写,哪些可能出现漏洞,便于挖掘常规则的漏洞和逻辑漏洞。
二、渗透技巧。1.工具渗透,如sqlmap、burpsuite等。为什么可以用工具找出自己还在手动审核中在做什么并辅助调试?二是人工渗透。第三是原因。解决穿透技术的一个原因是,当你发现一个漏洞时,常的开发基础不足以构建pAYLOAD,需要特殊的pADYLOAD构建。其次,在找漏洞的时候,有助于更快地把漏洞挖出来。如果你对这些代码审计不太了解,但想在自己的网站或公司平台上进行全面的代码审计,可以去网站安全公司看一下。国内的安全公司像SINESAFE,鹰盾安全,绿盟,大树安全都是做代码审计的安全公司。
三是辅助技术。1.协议,如HTTp传输模式、dict://file3360//等。知道如何伪造Header,如x-forward-for in XFF注入、cookie注入、CRLF身份请求伪造等。二、程序构造审计的时候要学习程序构造,否则静态审计的时候不能做动态调试,方便你更快更高效的挖掘漏洞。3.网址链接结构或网址路由。4.sql语句和数据库特性主要涉及sql注入和SQL注入的负载结构。5:中间件和服务器特性的代码漏洞是基于中间件和服务器特性的,比如IIS6.0 analysis nginx analysis漏洞。跟踪代码时使用审计辅助工具IDE、phpstrom审计工具,可以与xdebug绑定,方便调试。源代码审计工具rips、seay审计工具帮助您更快地找到漏洞点。
第四,钻漏洞。1.了解漏洞类型的原理。2.知道危险函数参数使用不当造成的漏洞威胁,如指令执行代码执行、assert、array_map、usort等。3.了解php函数的漏洞。php的审计技巧。php版本和配置不当以及函数使用不当导致的漏洞威胁。成长阶段:demo案例练习-漏洞代码审计案例分析-小cms单漏洞示例练习-小cms漏洞多漏洞示例挖掘练习-框架漏洞挖掘示例练习-技术挖掘。