• 53:代码审计-TP5框架及无框架变量覆盖反序列化


    案例1:metinfo-无框架-变量覆盖-自动审计或搜索

    变量覆盖配合文件包含实现任意文件包含

    <1>自动审计或搜索关键字找到文件及代码块,全局配置文件

    变量覆盖漏洞关键字:extract()、parse_str()、importrequestvariables()、$$等

    0

    如下代码,表示从get post cookie接收数据,进行变量覆盖

    0

    <2>搜索或访问触发全局变量配置文件配合手写代码测试变量覆盖

    原理如下图所示

    0

    <3>配合文件包含漏洞覆盖指定文件实现文件包含攻击获取权限

    追踪$module变量出处文件,然后分析如何覆盖它达到目的

    payload:/about/index.php?fmodule-7&module-1.txt

    0

    附:代码审计-MetInfo CMS变量覆盖漏洞

    https://www.cnblogs.com/-qing-/p/10889100.html

    DeDecms变量覆盖之SQL语句分析报告+修复方案

    https://www.cnblogs.com/y0umer/archive/2013/06/08/3125647.html

    案例2:phpmyadmin-无框架-反序列化-自动审计或搜索

    #反序列化-->自动审计或搜索关键字找到文件及代码段
    _wakeup() //使用unserialize时触发
    _sleep() //使用serialize时触发
    _destruct() //对象被销毁时触发
    _call() //在对象上下文中调用不可访问的方法时触发
    _callStatic() //在静态上下文中调用不可访问的方法时触发
    _get() //用于从不可访问的属性读取数据
    _set() //用于将数据写入不可访问的属性
    _isset() //在不可访问的属性上调用isset()或empty()触发
    _unset() //在不可访问的属性上使用unset()时触发
    _toString() //把类当做字符串使用时触发
    _invoke() //当脚本尝试将对象调用为函数时触发
    

    payload:/about/index.php?fmodule-7&module-1.txt

    0

    首先全局搜索unserialize

    0

    0

    全局搜索PMA_Config()找到_wakeup()代码段,代码段调用函数中存在eval等函数操作,可调试load

    0

    0

    构造getSource()利用payload,实现file_get_contents函数配合eval执行

    0

    payload:action=test&configuration=O:10:"PMA_Config":1:{s:6:"source",s:11:"d:/test.txt";}

    0

    案例3:Thinkphp5-有框架-搭建使用入口访问调试sql等

    Thinkphp5简要知识点

    • 入口文件,调试模式,访问路由,访问对应,内置安全等
    • 测试访问不同方法名,不同文件不同方法名(https://www.kancloud.cn/thinkphp/thinkphp5_quickstart/478279)
    • 其他参考:ThinkPHP5快速入门:https://www.kancloud.cn/thinkphp/thinkphp5_quickstart

    <1>测试常规写法SQL注入

    源代码-查询数据库常规写法

    0

    测试,有sql注入

    0

    <2>测试TP5规定写法SQL注入

    源代码-使用框架定义写法查询数据库

    打开调试模式

    0

    测试,尝试sql注入,发现注入语句并未执行,说明thinkphp框架有内置的注入安全过滤。

    0

    此时,如果我们想挖sql注入漏洞,那就相当于挖框架漏洞而不是系统漏洞。

    thinkphp历史漏洞集合:https://github.com/Mochazz/ThinkPHP-Vuln

    从中我们找到了该版本存在SQL注入漏洞,使用payload测试

    0

    0

    注入成功。

  • 相关阅读:
    【CF global1 D / CF1110D】 Jongmah
    【笔记】数论
    【CF EDU59 D】Compression
    【CF EDU59 E】 Vasya and Binary String (DP)
    【cf527 E】Minimal Diameter Forest
    【模板】分治FFT
    【2018沈阳现场赛I】Distance Between Sweethearts
    【2018沈阳现场赛k】Let the Flames Begin
    【笔记】生成函数与大背包问题
    训练实录 <sudo rm -rf />
  • 原文地址:https://www.cnblogs.com/zhengna/p/15175262.html
Copyright © 2020-2023  润新知