前几天遇到了一个被黑站点,以为就是正常的判断ua头,发现还是有点不一样的,后面想快捷修改,结果发现一个插件还需要收钱,就自己写了一个插件。这段时间比较难熬,大家都要注意身体!
0x01 背景
遇到了一个被黑的站点,打开发现是404,但是手机端打开是颜色的站点,如下:
手机端打开如下:
想都没想,那肯定是判断ua头啦,直接使用burp的替换功能,替换成手机端的ua头,发现还是不行:
ua头已经修改了,页面还是404
后面看了下响应的代码,发现是这一段代码在作祟:
if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){
if(window.location.href.indexOf("?mobile")<0){
try{
if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){window.location.href="http://hql.fvhosfh.cn/h8/#/?daili=2525&tk=8d881bbc417e4dd3&u=3mbXSM";}
if(/ipad|iphone|mac/i.test(navigator.userAgent)){window.location.href="http://hql.fvhosfh.cn/h8/#/?daili=2525&tk=8d881bbc417e4dd3&u=3mbXSM";}
}catch(e){}
}
在我修改ua后的页面上输出下navigator.userAgent
变量看看:
woc?说明我修改的ua值根本影响不了这个值,后续百度了一下,navigator介绍如下:(来自菜鸟教程)
看样子是通过ua头根本改不了浏览器的信息,不过肯定也是这样,除非是影响了js代码,可能才会影响到浏览器的信息,这里顺带一提,使用浏览器的手机端模式,也还是这样:
0x03 编写插件
后面继续百度、google,想找一个快捷修改的,查到有人写过这种插件,进入到公众号,发现要50元?
woc,好黑啊。感觉也不难,顺便学学谷歌插件的知识 查了一下资料,写了一个简单的谷歌插件,专门自定义修改navigator
,使用效果如下, 当开启插件,访问之前的网址,即可绕过ua头的判定:
通过控制台输出的,也是修改后的值
0x04 插件逻辑
简单说下谷歌插件的逻辑,做个记录 页面主要由modifynavi.html
构成,引用了popup.js
文件(旧版本可以直接在html中写js代码,新版本只能引入js文件执行javascript)
首先通过页面的开启或者关闭进行保存,保存逻辑由popup.js
中的save
函数进行保存,通过执行点击函数执行background.js
的topopup
函数,将值存入storage
对象
后续打开网页,contentscript.js
根据storage
对象储存的值来进行navigator的修改,如果大于0就会修改,否则,不修改:
一个50元的插件就写出来了,还能做到可控
0x05 总结
-
笔者认为,各个方向都要有所涉及,但是对自己感兴趣的一方面比较深地钻研就好了,之前遇到过一个某src的爬虫活动,每个白帽子都各显神通,有正面刚的,也有另辟捷径的,也看到过有人用手机端的adb进行爬取加载的,也看到过浏览器插件进行爬取的,这一次顺便学了一点点的浏览器插件知识 -
写代码很有趣,调试很有趣,但是改bug无趣
0x06 参考链接
https://www.cnblogs.com/liuxianan/p/chrome-plugin-develop.html
https://github.com/iiilin/PiPiGuiOnPC
https://github.com/f0ng/ModifyNavigator
原文始发于微信公众号(only security):谷歌插件之navigator修改
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/204047.html