当黑客就入门 禅道7.3代码审计

第一步:安装环境
下载源码并解压至WWW下
访问www下的install.php进行安装
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第二部:验证漏洞
php审计知识

->在php中是一个对象操作符
比如我有一个类db:
class db{
public $host;
public function printHost(){
echo KaTeX parse error: Expected 'EOF', got '}' at position 15: this -> host; }̲ } 使用这个类: 首先要实例…db = new db();
得到一个对象$db,那我要怎么使用db里面的属性和方法呢,这个时候就要用->了,比如:
$db -> host = ‘localhost’; //设置他的属性
$db -> printHost(); //使用方法

经审计,有漏洞的部分为

    public function limit($limit)
    {
        if(empty($limit)) return $this;
        stripos($limit, 'limit') !== false ? $this->sql .= " $limit " : $this->sql .= ' ' . DAO::LIMIT . " $limit ";
        return $this;
    }

函数fuction limit()未对传进的参数进行过滤,直接拼接成SQL语句进行查询。
学习反向审计的方式,在其他源码中追溯调用该危险函数及参数的位置
这里推荐一个软件 DocFetcher
使用方法
在这里插入图片描述
免安装,可对某个范围里的文件内容进行搜索,且文件格式支持非常齐全
DocFetcher中检索limit
module\task\model.php中limit被调用在 getUserasks
在这里插入图片描述

    public function getUserTasks($account, $type = 'assignedTo', $limit = 0, $pager = null, $orderBy="id_desc")
    {
        $tasks = $this->dao->select('t1.*, t2.id as projectID, t2.name as projectName, t3.id as storyID, t3.title as storyTitle, t3.status AS storyStatus, t3.version AS latestStoryVersion')
            ->from(TABLE_TASK)->alias('t1')
            ->leftjoin(TABLE_PROJECT)->alias('t2')
            ->on('t1.project = t2.id')
            ->leftjoin(TABLE_STORY)->alias('t3')
            ->on('t1.story = t3.id')
            ->where('t1.deleted')->eq(0)
            ->beginIF($type != 'all')->andWhere("t1.$type")->eq($account)->fi()
            ->orderBy($orderBy)
            ->beginIF($limit > 0)->limit($limit)->fi()
            ->page($pager)
            ->fetc
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
道是第一款国产的开源项目管理软件。它集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,是一款专业的研发项目管理软件,完整地覆盖了项目管理的核心流程。注重实效的管理思想,合理的软件架构,简洁高效的操作,优雅的代码实现,灵活的扩展机制,强大而易用的api调用机制,多语言支持,多风格支持,搜索功能,统计功能——这一切,您通过道,都可以拥有!道在手,项目无忧! 道的功能列表: 1、产品管理:包括产品、需求、计划、发布、路线图等功能。 2、项目管理:包括项目、任务、团队、build、燃尽图等功能。 3、质量管理:包括bug、测试用例、测试任务、测试结果等功能。 4、文档管理:包括产品文档库、项目文档库、自定义文档库等功能。 5、事务管理:包括todo管理,我的任务、我的Bug、我的需求、我的项目等个人事务管理功能。 6、组织管理:包括部门、用户、分组、权限等功能。 7、统计功能:丰富的统计表。 8、搜索功能:强大的搜索,帮助您找到相应的数据。 9、灵活的扩展机制,几乎可以对道的任何地方进行扩展。 10、强大的api机制,方便与其他系统集成。 更新日志: 道15.0stable版本 修复的Bug 产品视图项目列表页面列宽和排版 在产品下批量创建需求时打开了项目的页面,然后进入产品需求页面保存后二级导航错误 审计页面,处理一下换行和字段显示不完整问题 地盘日志中查看所有日志时,二级导航无选中态 地盘日志中查看所有日志时,日期控件icon不支持点击 内地盘项目列表,区块点击刷新后列表字段无法再进行排序 执行下打开需求详情,点击基本信息中的所属模块后二级导航左侧应用图标位置偏移 进入创建文档库动态后二级导航高亮不对 查看已删除的任务时没有标记已删除 Bug批量指派给用户显示不完整 全局搜索结果页面上移 用户需求关闭后没有置灰细分按钮 页面刷新后会显示为“Bad Request”es 点击项目库跳转到了创建项目页 Bug详情页新建Bug保存后返回页面二级导航菜单未高亮 用例详情页显示所属s 点击项目文档库提示没有创建项目权限 用例列表页去掉底部滚动条 二级导航缺失菜单分隔线 左侧导航多显示了一条分隔线 项目和执行测试中三级导航切换产品分支有问题 文档from参数全部删掉,检查逻辑 二级导航第一个菜单去掉权限后分割线还有 用例详情切换产品链接不对

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值