001-2021年4月13日 学习随笔

本文从一篇文章出发,总结一些安全学习研究的想法。

0x00 背景

最近演习期间,精神紧张,忙里偷闲看看大佬们的历史博客,学习一些东西。

今天就看了P牛的《宝塔面板phpMyAdmin未授权访问漏洞是个低级错误吗?》,也不是为了漏洞复现分析什么的,就是从这篇文章中学到的学习方法。

0x01 一些想法

当我们收到一个漏洞情报时,该怎么做呢?我觉得可以这么几个角度来做:

  1. 收集整理漏洞情报基本信息,包括漏洞影响范围、漏洞类型、漏洞等级、漏洞利用条件、缓解措施和修复建议;基本上收集整理完这些信息,可以下发给各单位进行自查和防护,算是一条比较详细的威胁情报了

  2. 漏洞点位置,有无poc/exp公开

    如果无poc/exp公布,但是有补丁文件公布,可以对比打补丁前和补丁后的代码,找到漏洞点位置

  3. 漏洞分析,漏洞形成的原因。

    对于第三点漏洞分析来说,通常只会看下漏洞点位置的代码上下文,漏洞是怎么形成的,如何构造poc/exp,做一个漏洞复现就结束了。

    这是很多漏洞分析文章的通病,这些文章在出现漏洞后跟一遍漏洞代码,找到漏洞发生点和利用方法就结束了,并没有深入研究开发为什么会这么写,那么下次你还是挖不出漏洞。

    但是看了P牛的文章,又有了新的认知。我们不光要知道这个漏洞代码存在之后的事情,我们还要考虑这个代码为什么要这么写。这就要考虑该漏洞的影响版本,从最早的版本和再前一个版本之间的区别,思考这背后是什么让开发者改变了代码,官方做这些动作的原因。

  4. 漏洞复现

    利用公开的poc/exp,或自己分析后得出的poc进行漏洞复现,并构思分析可能的利用链。对poc的功能进行完善,往exp发展。

  5. 检测分析

    对使用poc/exp进行漏洞复现过程中所产生的流量进行分析,尝试提取流量特征,思考什么样的规则可以检测到该攻击。

    使用该poc/exp对系统产生的影响,是否有日志产生,是否有文件落地等。

  6. exp修改,隐蔽痕迹

    修改exp特征,写自己的exp工具,竟可能做到隐蔽式攻击。

0%