• 代码审计系列篇一之代码审计学习思路


    学习代码审计要熟悉三种技术,分四部分走

    一:编程语言  
    1:前端语言 html/javascript/dom元素使用 主要是为了挖掘xss漏洞 jquery 主要写一些涉及到CSRF脚本使用的或者DOM型XSS,JSON劫持等
    2:后端语言 基础语法要知道例如 变量类型,常量,数组(python 是列表,元组,字典),对象,类的调用,引用等, MVC设计模式要清楚,因为大部分目标程序都是基于MVC写的,包括不限于php,python,java。不用会写,但是一定能看懂,而且要看懂逻辑,知道哪些功能点会用什么方式去写,可能会出现什么类型漏洞,方便挖掘常规类型漏洞,更方便挖掘逻辑漏洞

    二:渗透技巧  
    1:工具渗透 例如sqlmap, awvs,burpsuite等 为什么使用 能用工具挖掘到你还人工审计干什么,及辅助调试
    2: 手工渗透
    3: 原因
    为什么要懂渗透技巧 其一在于你找到漏洞的时候,通常的开发功底是不足以构造PAYLOAD的,需要一些特殊的PADYLOAD构造方式。其二你在找漏洞时,可以辅助你更快的去挖掘漏洞

    三:辅助技术
    1:协议 例如HTTP传输方式,dict:// file://等,懂得Header头如何伪造 比如XFF注入时的x-forward-for,cookie注入,CRLF身份请求伪造等。
    2:程序搭建   你审计时要学会程序搭建,不然静态审计时,无法进行动态调试,方便你更快更高效挖掘漏洞
    3:URL链接构造或者URL路由  
    4:SQL语句及数据库特性  这个主要涉及到SQL注入及sql注入的payload构造绕过
    5:中间件及服务器特性  有的代码漏洞 是基于中间件及服务器特性造成的  例如IIS6.0的解析 nginx的解析漏洞等
    6:审计辅助工具 ①IDE,phpstrom 审计工具追踪代码时用到,可与xdebug绑定使用方便调试②源代码审计工具 rips,seay审计工具,辅助你更快的找到漏洞产生点

    四:漏洞挖掘
    1:懂得漏洞类型产生原理
    2:懂得危险函数的参数不当使用可造成的漏洞威胁  例如涉及到命令执行代码执行的eval,assert,array_map,usort等,例如本身函数的脆弱性,is_numeric,md5等
    3:晓得php函数的脆弱性 比如==与===  ,===并不是强大无比不可绕过的,也要结合代码设计逻辑
    4:php的淫技技巧
    5:php版本及配置不当结合函数不当利用造成的漏洞威胁
    6:成长阶段:demo案例练习->已出漏洞代码审计案例分析->小型cms单一漏洞实例练习->小型cms漏洞多种类型漏洞实例挖掘练习->框架漏洞挖掘实例练习->技巧挖掘

    不要觉得代码审计很容易,也不要觉得代码审计很难。重在坚持,重在分析,你做到了,0day就在眼前,我们先以文字分享代码审计0到1的系列课程,在以视频图书辅助,让跟上节奏的同学人人都能代码审计。

  • 相关阅读:
    [IDA] 显示反汇编字节码
    使用OD手动去除花指令的一个小技巧
    [CrackMe]一个简单算法的CrackMe
    [IDA] 将ANSI字符串转换为Unicode字符串
    二进制中的数学换算
    GDT表与段描述符
    C#3.0新增功能10 表达式树 04 执行表达式
    C#3.0新增功能10 表达式树 03 支持表达式树的框架类型
    C#3.0新增功能10 表达式树 02 说明
    C#3.0新增功能10 表达式树 01 简介
  • 原文地址:https://www.cnblogs.com/ichunqiu/p/10083230.html
Copyright © 2020-2023  润新知