selenium自动化爆破工具
某一天测试公司某个业务的时候发现,虽然页面没有验证码,但是抓包之后一直有个sign值,而且每次的会话这个值都会变,改了之后后端会报错提示 sign值不合法。
我这暴脾气,立马看源码就准备逆了它,看着就来气。调了半天,woc全tm混淆的,代码读的我眼睛疼。算了,此处不留爷,自有留爷处,从界面下手,直接自动化爆破算了。
虽然网上已经有很多同类的东西了,但自己造轮子才能提高啊,就着手写了。
基础知识+环境配置
我是mac的环境,使用python2.7+chromedriver实现
首先使用homebrew安装chromedriverbrew cask install chromedriver
pip install selenium
至此,环境准备结束,该补充selenium的知识了。
官方手册送上:https://selenium-python.readthedocs.io/
核心知识:
1.elementLocation
2.webdriver
本次的工具主要使用到了元素定位和部分webdriver的功能
过程
本次用webug4.0靶场的登录做例子,其他都一样。
定位
1 | find_element_by_id |
username框直接根据name获取定位
password用id或者class定位
1 | username = driver.find_element_by_name("username") |
判断跳转
我的逻辑是判断当前的url和我爆破的url是否是同一个,不是的话说明账号密码正确driver.current_url
获取当前URL
效果
速度挺快的,胜在少了逆sign等操作,后续加入bypass极验功能
代码
1 | #coding:utf-8 |