• 从一个小众cms入门代码审计


    前面有一段时间审计了一个小众的cms发现了很多漏洞,作为一个新手,个人觉得最开始学习代码审计的时候从一些简单的系统学起是很有必要的,比如最开始可以从bwapp、dvwa等,然后再慢慢过渡到一些小众的cms,然后可以过渡到像dede、wordpress这些,虽然不一定能审计出漏洞,但是学习到他们的一些防御机制还是很有收获的(虽然自己还没有到达这个阶段.......Orz)

    • 前言

    每个人都有自己的代码审计流程,有人通读全文,有人追踪数据,方式并不固定,但对于我来说我习惯通过功能点下手。

    • Analysis

    搭建好环境到安装好需要审计的cms系统,审计的对象是hisiphp1.0.8,现在已经升级到了2.0.0版本,下面有github地址,再说明一下,当时审计的版本是1.0.8。并且发现较多漏洞(CSRF、XSS等等),就分析一处代码执行。

    官网

    首先在后台添加插件以后,目录/plugins会生成如下的文件夹和文件:

    定位到app/admin/model/AdminPlugins.php下,当输入名为a的插件时,目录下的钩子文件已插件名a命名,为a.php,如下:

    中间部分代码忽略...

     

    可以看出插件的名称和标题未经过任何处理直接写入到文件中。

    • Poc

    系统-插件管理-设计新插件

    我们需要将代码中前后位置的注释闭合掉,所以标题写入aa*/phpinfo();/*,点击提交:

    安装并启用插件:

    • 总结

    虽然是后台的代码执行,有些鸡肋,但是对于刚入门代码审计第一次实战的我,收获还是很大的,虽然有点鸡肋,但是顺手搞一个cve还是不错的。

    over~我于杀戮之中盛放,亦如黎明中的花朵。

  • 相关阅读:
    JavaScript快速入门-ECMAScript本地对象(String)
    JavaScript快速入门-ECMAScript语句
    Zabbix实战-简易教程--业务类
    [转] STL源码学习----lower_bound和upper_bound算法
    [转] C++中临时对象及返回值优化
    二叉堆,优先队列,二叉树的理解
    [转] GCC __builtin_expect的作用
    [转] __thread关键字
    C++初始化顺序
    [转] shared_from_this 几个值得注意的地方
  • 原文地址:https://www.cnblogs.com/2rsh0u/p/10569665.html
Copyright © 2020-2023  润新知