医疗网站建设及优化方案,珠海做快照网站电话,网页加速器手机版,介绍产品网站制作文章目录 一、写在前面二、抓包分析三、逆向分析 一、写在前面 加速乐#xff08;JSL#xff09;是阿里推出的一项反爬虫服务#xff0c;其生成cookie的原理基于浏览器的行为特征 我们知道普通网站生成cookie是在请求时生成#xff0c;而它先生成cookie#xff0c;然后向服… 文章目录 一、写在前面二、抓包分析三、逆向分析 一、写在前面 加速乐JSL是阿里推出的一项反爬虫服务其生成cookie的原理基于浏览器的行为特征 我们知道普通网站生成cookie是在请求时生成而它先生成cookie然后向服务器请求同一个网址通过JS生成cookie覆盖掉原来的cookie然后带着最后生成的cookie请求网址
这种cookie动态生成的网站是无法直接看到JS文件的网站不让浏览器缓存JS文件这样就可以防止被轻易拿到JS代码分析。也是一种反爬虫得手段
分析站点 aHR0cHM6Ly93d3cubXBzLmdvdi5jbi9uMjI1NDA5OC9uNDkwNDM1Mi9pbmRleF8zNDk3MzQxXzcwLmh0bWw 二、抓包分析
在浏览抓包是看不到什么有用的东西这里我们使用抓包工具抓一下
可以看到上图中有两个URL是空响应是在正常响应之前触发的。这两个URL做的一件事就是设置cookie最后被第三个URL给覆盖
第一个URL设置了名为__jsluid_s的cookie 第二个uURL又添加了名为__jsl_clearance_s的cookie
最后一个URL请求重新设置了__jsl_clearance_s的cookie
仔细比对会发现第三个URL已经返回响应了但是返回的内容是纯HTML文本内容没有任何JS代码这是因为这个网站做了处理不让浏览器缓存JS文件 source里面查看缓存文件是没有JS文件的通过上面抓包分析可知_jsl_clearance_s的值是动态生成的 __jsluid_s的cookie值为 2c352ae5536707728ce997d91eb1f040 抓包拿到的第一次请求响应的JS代码如下
document.cookie(_)(_)(j)(s)(l)(_)(c)(l)(e)(a)(r)(a)(n)(c)(e)(_)(s)()((true))(33)(1[0]-(1))(-~1)(23)(-~(8))(33)(-~1)(25)(-~(8))(.)((13))(36)(15)(|)(-)(![])(|)(J)(W)(f)(m)((false))(p)(X)(K)(B)(e)(u)(O)(c)(k)(m)(b)(V)(F)(-~(8))(X)(r)(I)(v)(x)(o)(E)(~~{})(%)(-~[2])(D)(;)(m)(a)(x)(-)(a)(g)(e)()((1|2))(6)(([]))(~~{})(;)(p)(a)(t)(h)()(/);location.hreflocation.pathnamelocation.search可以看到每一次刷新网站document.cookie生成cookie都是不一样的如下图所示 仔细对比上面两个生成cookie所抓包拿到的JS代码会发现是有差别的所以每次得到的cookie是不一样的
接下来我们看第二次请求的URL。它是带上了第一次生成的cookie去请求的响应如下图抓包所示 响应的JS代码我们推测是用来生产cookie的第三次请求URL时这段JS代码会生成__jsl_clearance_s的cookie覆盖掉
接下来就是第三次请求访问最终正常的网站URL。当第三次请求url时程序会执行第二次请求时的JS代码然后生成cookie覆盖掉第二次请求__jsl_clearance_s的cookie最后带着生成的cookie请求服务器 三次请求都是针对一个URL最后一次正常。中间一系列对Cookie的操作主要目的就是为了对抗爬虫 三、逆向分析
接下来我们需要做的就是对第二次请求响应的JS代码进行分析逆向__jsl_clearance_s的cookie值 这里把JS扣出来这里我不贴代码了几百行呢分析如上截图所示下面我直接采用补环境的方式本地调试混淆的JS代码 提示我们window未定义。因为我现在是在本地调试不在浏览器所有没有DOM跟BOM这是我们需要我们补的
找到window定义的代码
控制台调试打印如下
得到我们的window代码如下
window[navigator][userAgent] Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36补到JS里面的环境如下
var window {navigator:{userAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36}
}继续运行JS代码发现提示document、location都需要补是没有定义的最终需要补代码如下
var document {cookie: };var location {href:
};var window {navigator:{userAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36}
};补完环境线下环境运行如下上面调试的JS代码都是动态混淆的大家调试的时候根据自己扣到的代码进行即可 至此我们就拿到了__jsl_clearance_s 好了到这里又到了跟大家说再见的时候了。创作不易帮忙点个赞再走吧。你的支持是我创作的动力希望能带给大家更多优质的文章