爬虫笔记之分析脚本之家在线工具的反盗用策略
一、脚本之家的在线工具
有时候开发了一款web在线使用的工具,比如类似在线base64编码解码之类的,或者其它的比较有意思的小工具,可能就被别人瞄上盗走源码据为己有了,为了与“盗码者”做斗争,开发者就想各种招数去保护自己的代码,脚本之家也有一套在线工具,使用了比较简单的方式去检测盗用代码,这次就来看下它们的方式。
二、分析
首先来简单的模拟一下代码被盗用的情况:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | package cc11001100.misc.crawler.tools51job; import cc11001100.misc.crawler.utils.HttpUtil; import spark.Spark; /** * @author CC11001100 */ public class Tools51jobServer { public static void main(String[] args) { String destSiteHost = "http://tools.jb51.net" ; Spark.port( 10086 ); Spark.get( "/*" , (req, resp) -> { return HttpUtil.request(destSiteHost + req.pathInfo(), null , response -> { response.headers().forEach((k, v) -> resp.header(k, v)); byte [] responseBytes = response.bodyAsBytes(); if (response.header( "Content-Type" ).contains( "text" )) { return response.body().replace(destSiteHost, "http://localhost:10086" ); } else { return responseBytes; } }); }); } } |
然后打开localhost:10086,发现自动跳转到了http://tools.jb51.net/ ,查看网络请求:
先是请求了一个doc,然后请求了几个css或js,然后又请求了另一个doc,这种情况基本可以确定是使用js重置了window.location.href实现的跳转,因为如果是302或301跳转的话是连续的两个doc,这个都不需要打开doc看response header,那么猫腻就是在这中间的几个请求中,于是果断搜索“window.location.href”,结果只搜到了一个结果还不在预想的这些请求中:
查看了一下,是个无关的请求,那么基本可以确定设置window.location.href的js是被加密了的,一个一个翻了一下,找到了一个tongji.js,在其末尾部分有一段js:
是eval加密的,想起来脚本之家就有个在线工具可以解密eval,于是复制拿去解密一下,得到很短的一小段js,格式化一下:
1 2 3 4 5 | var str = "tools.jb51.net" ; var thisurl = thisURL = window.location.host; if (thisurl.indexOf(str) < 0) { location.href = "http://tools.jb51.net" ; } |
可以看到,在js中会判断,如果当前页面不是脚本之家的域名的话,会直接跳转到脚本之家在线工具子站的首页,根据前面的eval关键词搜索一下,可以看到不止一个js文件中有这个检查:
.
分类:
爬虫相关
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架