Selenium是一个用于Web应用程序自动化测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样,支持IE、Firefox、chrome等浏览器。本文使用了其自动登录网站的功能(Python库)。
在浏览器查看知乎的登录界面的源码如下图:
这样,如果用户名和密码正确,就会登录知乎成功。
我们很自然地会想到,可以使用这种方法来hack使用弱密码的网站。假设现在有个公网IP,我们通过nmap查看其主机的OS及开放的端口号:
可以看出,该主机开放了80端口和443端口,尝试在浏览器输入http://xxx.xxx.xxx.xxx和https://xxx.xxx.xxx.xxx,展现在我们面前的是一个登陆系统,下面就可以使用Selenium来模拟手动密码输入,如过有验证码输入则需要进行使用图像识别库进行帮助。
由于登陆网页没有提示输入验证码,因此我们使用密码字典来进行试探用户名密码,代码如下
Selenium的python用户手册:http://selenium-python.readthedocs.io/index.html
常用密码字典:https://github.com/danielmiessler/SecLists/tree/master/Passwords