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