反爬虫JS安全防护与逆向分析
NoAttack
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
条件断点实战
条件断点实战条件断点实战——财联社条件断点实战——财联社我们在财联社的登录堆栈中查看调用地点,发现调用函数较多。又因为这里发送的是XHR请求,我们也可以复制URL进行XHR断点或者直接全局搜索URL。我们发现这里的URL地址只有一个,直接跟进去,发现了POST发送地点,下断点。重新运行后,我们发现右边有一个onClick,它之后的value里边的this.state.password正是获取我们的密码,我们可以在这里下条件断点来验证我们的想法,我们在序号栏右键点击Edit breakpoint,加原创 2020-06-24 13:01:41 · 441 阅读 · 0 评论 -
Chrome拓展开发之去广告
Chrome拓展开发之去广告Chrome拓展开发之去广告Chrome拓展开发之去广告去除广告的原理很简单,我们首先定位到元素面板的广告节点,然后用JS方法remove去除。这里我们使用Chrome插件来实现,定位的函数是document.querySelectorAll,获取到的是DOM对象,因而可以直接使用它下属的remove方法去除。这里的定位CSS选择器我们需要根据具体的网站结构来编写。这里的注入时机是在DOM渲染之后,也就是document.end。我们拿去除百度搜索引擎的搜索结果中的广告原创 2020-06-23 15:33:59 · 443 阅读 · 0 评论 -
Chrome拓展开发之JS自动注入Hook
Chrome拓展开发之JS自动注入HookChrome拓展开发之JS自动注入HookChrome拓展开发之JS自动注入Hook接下来,我们需要编写一个content_scripts脚本文件,让它在页面DOM渲染之前自动注入JS脚本文件,从而达到过反调试的效果。我们在页面创建一个script节点,里边放入我们注入的代码。实现了Hook Cookies,JSON.stringify,JSON.parse,eval和debugger以及检测Chome安装的插件。(function(){ 'use st原创 2020-06-23 15:22:01 · 3272 阅读 · 0 评论 -
Chrome拓展开发之manifest.json
Chrome拓展开发Chrome拓展开发之manifest.json常用参数manifest编写Chrome拓展开发之manifest.jsonmanifest.json是必须存在的,它用来配置所有和插件相关的参数。用Chrome拓展可以帮助我们完成一些Hook工作,而且可以用来做填表工具。常用参数name 拓展的名字,必须是字符串类型version 字符串类型,是当前的版本号,位于0-65535之间description 拓展的介绍信息permissions 是一个String数组,每一个原创 2020-06-23 14:55:33 · 1163 阅读 · 0 评论 -
JS Hook对象属性
JS Hook对象属性JS Hook对象属性JS Hook对象属性我们要想Hook对象属性,需要用到Object.defineProperties或者Object.defineProperty方法,它可以直接在一个对象上修改原有属性或者定义新的属性,如下所示。//Object.defineProperties(obj, props)/**obj: 将要被添加属性或修改属性的对象props: 该对象的一个或多个键值对定义了将要为对象添加或修改的属性的具体配置**/var obj = new O原创 2020-06-23 00:39:57 · 2177 阅读 · 0 评论 -
JS Hook过反调试
JS Hook检测与过检测JS Hook检测与过检测JS Hook检测与过检测从上一小节我们可以发现JS Hook是比较容易实现的,但是对网站的破坏性却比较大。所以有些网站会有JS Hook的检测,最常见的就是比对关键函数前后的JS文本,如果不一致就进入循环debugger。function test(x,y){ z=x+y; return z;}setInterval(function(){test+""=="function test(x,y){z=x+y;return z;}" ? co原创 2020-06-22 23:54:51 · 1772 阅读 · 0 评论 -
JS Hook原理与作用
JS Hook原理与作用JS Hook原理与作用JS Hook原理与作用假设我们现在有这样一个JS代码function test(aa,bb){ cc = aa + bb; return cc;}test(100,200);我们console中就可以修改这个函数,比如修改这个函数,让它打印各个参数哥输出结果,这就是一个JS Hook,和Frida的Hook很相似。var _test=test;test=function(aa,bb){ console.log(aa);原创 2020-06-22 11:38:43 · 2445 阅读 · 0 评论 -
Chorme调试技巧(易盾滑块轨迹JS调试)
Chorme调试技巧(易盾滑块轨迹JS调试)Chorme调试技巧断点监听易盾滑块轨迹调试Chorme调试技巧一般来说,我们如果想要对JS参数进行调试的话,都是在Network面板中擦欧总。首先清理数据包,之后禁用缓存,然后刷新页面,点击登录,在search中寻找我们需要的加密参数等等。比如一个数据包中有password参数经过了加密,因为全局匹配的搜索结果通常情况下比较多,所以我们会加一些符号来过过滤:password:password =但是更方便的方法是查看Network选项卡中数据包的I原创 2020-06-22 11:02:12 · 1189 阅读 · 0 评论 -
Chrome开发者工具骚操作
Chrome开发者工具骚操作Chrome开发者工具骚操作打开开发者工具Elements元素面板Console控制台面板Sources源代码面板Network网络面板Application应用面板Settings设置面板Chrome开发者工具骚操作笔者日常作爬虫开发还是比较中意Chrome谷歌浏览器,所以在接下来的JS交互中平台都以Chrome谷歌浏览器为主。打开开发者工具因为要调试前端的JS文本,和控制台交互是必不可少的,而且不少网站会在这上边做文章,比如说禁止你的F12或者右键点击等等,所以笔者会原创 2020-06-22 00:49:59 · 877 阅读 · 0 评论
分享