一款基于selenium的前端验证码绕过爆破工具

PackFilling

version 0.3.4 by AugustTheodor github GitHub - AugustineFulgur/PackFilling: 基于selenium的无脑绕前端加密表单爆破工具 开源 欢迎提交脚本

安装与使用

在使用之前,您需要:

  1. Python 3.8+,pip
  2. 安装依赖: pip install -r requirements.txt
  3. 获取一个Chrome以及与其版本适配的chromedriver:下载地址
  4. 查看settings.py并配置
  5. 使用命令python driver.py -run [conf json文件],运行脚本

参数

  • -run [conf] 运行工具
  • -h 帮助

1.这是做什么的?

这是一个用于自动化处理表单填写的脚本,并带有基本的验证码识别功能,在应对WEBPACK时有奇效。

2.如何使用它?

在使用之前,请先查看globalsettings.py与settings.json文件并将其配置好。前者是整个工具的全局设置部分,这些设置能够复用,而后者的大部分内容会随着爆破目标的改变而变化,所以是一次性的内容。也正因如此,两者被分开为两个文件。 在globalsettings.py文件中主要配置的是DRIVERPATH与CHROMEPATH,分别为chromedriver与chrome本体执行文件的路径。 在settings.json中配置的是每次爆破的参数,可以准备多个json文件,在使用时只需要在-run后指明对应的json文件即可,settings.json文件中的参数说明请参照文件中对应的注释:

以下为一个简单的配置例子: Demo 若要爆破此表单,则应依次获得输入框及验证码图片的path,以及提交按钮的path,并拦截一次请求提交的包,获取其请求方式与URL。path的获取方式如下图所示:

复制后,将用户名与密码的jspath填入KEYS_PATH中,验证码输入框的jspath与验证码图片的Xpath 依次填入IDENTIFY_PATH中。 然后,将对应输入框的字典文件路径或单个值填入VALUES_PATH。它的顺序与KEYS_PATH中的输入框顺序相同。若其中包含单个值,则需要在VALUES_TYPE中指明。 然后,将提交按钮的path输入SUBMIT_PATH,将URL输入TARGET。 最后,在INDICATE项中填入[提交的请求方法,提交的路径],即完成设置。 设置完毕的文件如下Settings_demo

3.依赖相关

本脚本采用chromedriver驱动chrome浏览器,若需要更换浏览器版本,请确保下载的chromedriver与chrome的版本相适配。 如果需要换成其他的浏览器则需要重写部分代码。目前知道的是PhantomJS不能够完成验证码识别功能(不能截图),其余浏览器及其driver需要使用者自己尝试配置。

4.插件

目前,使用者能够编写插件的功能有:

  • 【获取爆破页面】
  • 【提交数据前】
  • 【输入数据】
  • 【提交数据】
  • 【请求拦截器】
  • 【输出】
  • 【输出行首】
  • 【输入验证码】

插件本质上为一个py文件,其中与设置项中的插件设置名同名小写的函数即为对应步骤的插件。

etc.若我要编写一个【获取爆破页面】的插件refresh_identify-modules,使脚本在获取爆破页面后点击一次验证码图片使其刷新,则此文件的内容应为一个函数名为driver_get_target(与DRIVER_GET_TARGET同名小写)的函数,其输入输出与drivermodules.py下的同名函数输入输出相同,参考 refresh_identify-modules。 在使用时,则将DRIVER_GET_TARGET项设置为其文件名refresh_identify-modules。 若如此做,脚本将执行此函数的以drivermodules.py中的函数。

除此之外,也有插件可以替代数个功能,例如xpath-modules,这是因为这个插件文件内有数个函数。 若要编写插件,请参考drivermodules中的函数及其输入输出,作为插件对应函数的输入输出。

5.TIPS

  • 若使用XPATH模式填写路径,最好复制元素的完整XPATH,这样既没有烦人的双引号也不会导致WEBPACKER随机生成ID造成的填写失败
  • 若要与其他工具联动(如BP),最快的方式是------------在配置中配置一个代理。

更新历史

  • 0.1.0 开天辟地,基础功能完成
  • 0.2.0 增加了终端返回请求原始参数的功能,补全README文档
  • 0.3.0 增加爆破音叉模式,修改配置文件为.json格式
相关推荐
0思必得02 小时前
[Web自动化] Selenium处理动态网页
前端·爬虫·python·selenium·自动化
东东5163 小时前
智能社区管理系统的设计与实现ssm+vue
前端·javascript·vue.js·毕业设计·毕设
catino3 小时前
图片、文件的预览
前端·javascript
layman05285 小时前
webpack5 css-loader:从基础到原理
前端·css·webpack
半桔5 小时前
【前端小站】CSS 样式美学:从基础语法到界面精筑的实战宝典
前端·css·html
AI老李5 小时前
PostCSS完全指南:功能/配置/插件/SourceMap/AST/插件开发/自定义语法
前端·javascript·postcss
_OP_CHEN5 小时前
【前端开发之CSS】(一)初识 CSS:网页化妆术的终极指南,新手也能轻松拿捏页面美化!
前端·css·html·网页开发·样式表·界面美化
啊哈一半醒5 小时前
CSS 主流布局
前端·css·css布局·标准流 浮动 定位·flex grid 响应式布局
PHP武器库5 小时前
ULUI:不止于按钮和菜单,一个专注于“业务组件”的纯 CSS 框架
前端·css
电商API_180079052475 小时前
第三方淘宝商品详情 API 全维度调用指南:从技术对接到生产落地
java·大数据·前端·数据库·人工智能·网络爬虫