chrome浏览器模拟鼠标点击插件clicker
主要功能:浏览器插件自动点击网站,将流量导入代理扫描器进行扫描
# 用法
下载clicker插件源码,然后在chrome浏览器开发者模式下,以文件夹方式加载该插件
配置clicker,并开启插件爬虫。然后打开待测网站即可
配合代理扫描器来发现安全漏洞
源码:https://github.com/zzzzfeng/Clicker,
# 关键代码
HOOK_EVENT_LIST = [];
_addEventListener = Element.prototype.addEventListener;
Element.prototype.addEventListener = function(event, listener, useCapture) {HOOK_EVENT_LIST.push({"type": event, "element": this});console.log('event '+event);_addEventListener.apply(this, arguments);
};var documentAll = document.querySelectorAll('*');
var eventlist = [];
for(let i=0;i<documentAll.length;i++){let v = documentAll[i];if(v.tagName == 'A'){if(v.href.length>12)console.log('a '+v.href);}else if(v.tagName == 'FORM'){console.log('form '+v.action);}else{let h = v.getAttribute('data-src');if(h)console.log('data-src '+h);h = v.getAttribute('data-url');if(h)console.log('data-url '+h);try{new URL(h);}catch{var attrs = v.attributes;for (var j = 0; j < attrs.length; j++) {attr_name = attrs[j].nodeName;attr_value = attrs[j].nodeValue;if (attr_name.substr(0, 2) == "on") {console.log(attrs[j].nodeName + ' : ' + attr_value);eventlist.push(attr_value);//eval(attr_value);}}}}}
console.log(eventlist);for(var i in HOOK_EVENT_LIST){var evt = new CustomEvent('CustomEvent');evt.initCustomEvent(HOOK_EVENT_LIST[i]["type"], true, true, null);console.log('dispatch event '+HOOK_EVENT_LIST[i]["type"]);HOOK_EVENT_LIST[i]["element"].dispatchEvent(evt);}for(let i=0;i<eventlist.length;i++){eval(eventlist[i]);
}
# 技术细节
- Clicker基于chrome浏览器插件开发
- Clicker所做的工作:
- 寻找当前tab页面(窗口)所有的a标签,在新的tab页面打开
- 寻找当前tab页面所有的form标签,自动填充后在新tab页面提交
- 寻找所有标签的data-src/data-url属性,在新的tab页面打开
- 寻找所有标签的on事件,依次触发事件执行
- hook拦截addEventListener事件,依次触发事件执行
- 所有tab页均会执行以上几步操作,并发执行;tab页执行完以上操作,会自动close窗口
- 此外Clicker还有
- tab数量监控功能,防止浏览器打开过多tab页面,而内存崩溃退出
- 全局数组去重功能,防止重复打开
- 白名单功能,防止打开不相干站点
- 黑名单功能,防止自动退出,登录cookie失效
参考漏扫动态爬虫实践-安全客 - 安全资讯平台
# 局限性
- 对于事件造成的页面跳转,后续事件无法继续触发,暂时没有好的解决办法
chrome浏览器模拟鼠标点击插件clicker相关推荐
- python控制浏览器模拟鼠标点击网页标题_如何使用python来模拟鼠标点击(将经过实例自动化模拟在360浏览器中自动搜索python)...
1.准备工做:html 安装pywin32,后面开发须要pywin32的支持,不然没法完成与windows层面相关的操做.python pywin32的具体安装及注意事项:shell 一.总体开发环境 ...
- python实现自动点击器_Python模拟鼠标点击实现方法(将通过实例自动化模拟在360浏览器中自动搜索python)...
一.准备工作: 安装pywin32,后面开发需要pywin32的支持,否则无法完成与windows层面相关的操作. pywin32的具体安装及注意事项: 1.整体开发环境: 基于windows7操作系 ...
- firefox/safari/chrome浏览器模拟iPad的userAgent的方法
在给 iPad 做的网页进行测试的时候,有时候需要在 PC 上模拟 iPad User Agent 去访问网页,今天就介绍下如何让 Firefox,Chrome,Safari 浏览器模拟 iPad U ...
- C语言 在程序中打开网页,模拟鼠标点击、键盘输入
C语言 在程序中打开网页,模拟鼠标点击.键盘输入 一.简述 记--使用C语言 打开指定网页,并模拟鼠标点击.键盘输入.实现半自动填写账号密码,并登录网站(当然现在的大部分网站都有验证码 ...
- php鼠标点击事件,javascript模拟鼠标点击事件的实例代码
javascript触发模拟鼠标点击事件 事件触发器就是用来触发某个元素下的某个事件,IE下fireEvent方法,高级浏览器(chrome,firefox等)有dispatchEvent方法. 一般 ...
- OpenStack noVNC Chrome浏览器里鼠标不能用的问题
问题症状 用win10平板+Chrome浏览器(60版本,其他版本没测试过)打开云主机的控制台(VNC窗口),后端使用的是novncproxy,通过websocket协议与qemu的vnc serve ...
- chrome浏览器模拟手机 地理定位
chrome浏览器模拟手机 地理定位 在pc端做touch页面调试的时候,常常会遇到需要模拟定位的情况 chrome浏览器有着强大的调试工具,尤其是新版chrome浏览器 下面我就以新版chrome浏 ...
- 著名模拟鼠标点击软件小点点被收购
著名模拟鼠标点击软件小点点被收购--互联网上演资源争夺战 作为知名的下载软件,小点点在模拟鼠标点击之路上已经前行了8年之久,在全球拥有高达1亿的用户.2006年7月,消息证实:小点点被FreeEIM收 ...
- python模拟鼠标点击和键盘输入的操作_python模拟鼠标点击和键盘输入的操作
所有代码都是网上百度出来的,通过个人实践找到适合自己的. 采用的python 库是 pymouse.pykeyboard 安装时直接pip安装的,pip install PyUserInput 安装不 ...
最新文章
- JVM内存结构 VS Java内存模型 VS Java对象模型
- 自动化用户特定实体的访问控制
- Microsoft Desktop Virtualization
- 三大开源生信基础教程和视频课程
- Acticity 启动 AMS
- python如何判断对象是否为字符串或者其他类型
- 一起看2018阿里技术参考图册(算法篇)
- Linux虚拟机添加磁盘
- 云智慧压测实战分享之JMeter场景设置与监控
- 【数据结构排序算法系列】数据结构八大排序算法
- 绑定数据源注意的地方
- python中http_Python中的HTTP错误
- java私塾架构二,小弟我在Java私塾学习期间的学习源码
- 怎么下载Windows图片和传真查看器
- 关闭Xshell系统提示音 Tab键 Backspace键
- 北京邮电计算机课程表,北京邮电大学课表管理规定
- WEB打印控件Lodop的使用
- Go字符串拼接方式深入比较
- Audacity如何改变音频节奏?Audacity调整音频节奏方法
- linux系统python3环境下安装pymysql模块