当前位置: 首页 > news >正文

东莞市网站建设分站想在网上做设计接单有没有网站

东莞市网站建设分站,想在网上做设计接单有没有网站,企业网站平台建设咨询合同,网站搭建网题目#xff1a;采集全部5页的彩票数据#xff0c;计算全部中奖的总金额#xff08;包含一、二、三等奖#xff09; 地址#xff1a;https://match.yuanrenxue.cn/match/6 本题比较简单#xff0c;只是容易踩坑。话不多说请看分析。 两个参数#xff0c;一个m一个f采集全部5页的彩票数据计算全部中奖的总金额包含一、二、三等奖 地址https://match.yuanrenxue.cn/match/6 本题比较简单只是容易踩坑。话不多说请看分析。 两个参数一个m一个f与cookie无关但是这里会遇到第一个坑在响应数据中。 可以发现只有三等奖的金额并没有一等奖和二等奖的金额。所以我们需要找到三者的关系。直接来到source中查看。 直接搜索value一共17个结果一个一个观察。在第12个时其相关的内容。 这里意思是总金额为三等奖的24倍具体是不是这样呢我们来验证一下。 还真是那么就是说总中奖金额就是总三等奖金额的24倍。第一个坑解决。接下来开始逆向参数刚刚已经知道了需要的参数就两个m和q传书的是parmas参数所以我们直接来跟栈。 跟到请求时的栈代码非常简单如下 找到之后直接打上断点先看m的值。 这里就是入口函数可以看到当window.o的值大于等于6的时候就会重新加载页面那估计这个window.o可能是会增加的并且有可能和页数有关。 现在它的值为1访问下一页看看。 果然变成2了那也就是说我们在本地运行的时候他不可能大于等于6因为我们最多就循环五次爬个五页根本不说手抖戳它这么多下。所以这里的代码我们就可以稍微简化一下不要r函数了直接一步到位到z函数。 z函数其实熟悉js的话一看就知道这就是webpack的调用的方式。翻到最上方 果然就是一个webpack那还不简单模块加载器如此的标准我都不好意思去删删改改了直接全部copy。接下来就调用z函数看看会出现什么样的问题了。 window没有定义那我们就给他定义一个window。在最开头加上一个var window global;然后再执行就会发现一样的错误这个时候大家就会发现了报的是window.o 1这个位置的window没有定义。那问题来了大家ctrlf搜索看看这代码里面有没有window.o呢答案是没有。 所以window.o在肯定是在代码中至于为什么搜不到那当然就是被混淆了所以我们就来看看混淆的代码就在最开头的位置一个很明显的AA混淆将它还原一下这种混淆由专门的工具还原手动还原的话就直接去掉最后的括号然后执行就可以了。 去掉最后的括号后可以看到这混淆的代码就是一个匿名函数这个函数的逻辑就是给window.o进行赋值值为1所以我们将这段混淆代码替换成window.o 1就可以了。 接下来就是下一个错误了关键词ASN1这个相当于也是考了一下对js的熟悉程度就看大家平时经验的积累了ASN1就是一个js的解码器它能够解码任何有效的base64的编码或者十六进制编码的DER或BER结构这个玩意儿在浏览器中一般都是存在的但问题是nodejs不存在啊。所以既然这个问题出现了那肯定就是代码中出现了nodejs无法解码的存在了那我们就来慢慢找一下这些代码都在什么地方。一直翻一直翻。 找到了1161行大家和我的误差应该就几行的误差自己找很废时间反正我眼睛看瞎了已经。这很明显又是一段混淆代码jsfuck的混淆老规矩还原一下。直接全部复制到console中执行一下看看结果是什么。 就是一个false…那就直接替换了吧。再执行代码会发现还是这个错误。 那证明这里面可能还有已经找到过一次有经验了知道了是jsfuck混淆那我们就搜一下特殊符号![ 果然又来了。直接还原替换 啥也不是那就直接删掉。然后再执行还是会报了这个错误但是这个时候代码中已经没有混淆代码了那问题来了什么原因导致的呢定位到报错的2559行看下能不能删除这个逻辑 好吧根本删不掉关联度太高。那问题来了从这里来看的话ASN1是在本地赋值进去的那么就是说就算本地nodejs本身没有的话这里应该也赋值进去了为啥还会报这样的错呢那就是说window.ASN1压根没有去赋值要么就是直接没有window了。那就有点意思了我们来搜索一下window。 一共是14个但是…webpack里面那个window是来捣乱的吧。前面先用了window.o要我们先赋值了你自执行里面又要置空这不闹呢嘛直接删掉。 完事直接出结果。这里其实就涉及的是浏览器的环境和nodejs环境的不同在浏览器中window是不能被重新赋值的所以webpack中的这个置空并没有任何意义但是在nodejs中就不一样了window可以被重新赋值因此就直接导致了上方我们看到的错误信息了。 搞定之后我们来对比一下浏览器中的值和本地执行的结果是否能够匹配上了。将浏览器中传入的参数复制下来运行一下(刷新了下页面重新获取的两个参数值)。 两个结果完全一致那么到这里参数m就完成了。 接下来就是q参数q参数从逻辑来看 就是其拼接出来的格式就是1-1692867522000|这样的但是这里需要注意由于我们会话并没有保持相当于每一次都是一个新的请求同时浏览器中window.o能够每次执行js代码的时候自增但本地可不会所以我们就按照每次都是全新的请求来实现参数q如果是浏览器中那样的格式的话最终会将前面的值拼接起来如下 但我们本地的话就不能再拼接了否则是会触发这个页面的风控的接下来就给大家看一下这两种情况在本地的时候的结果一个能够成功获取值一个则触发风控。先来写一个js代码的入口函数。 function run(o) {t Date.parse(new Date())res z(t, o);return {m: res,t: t,} }第一种情况触发风控。 这就是按照浏览器模式来实现q值时的结果所以直接全新请求即可不用拼接前面的值。 最后将所有的value加起来再乘以24就获取到正确答案了答案为6883344 完整代码请转https://gitee.com/shuailiuquan/spider-code/tree/master
http://www.pierceye.com/news/831756/

相关文章:

  • 网站建设学什么软件怎样创建自己的公众号
  • 网站脑图怎么做云伙伴小程序开发公司
  • 网站设置兼容模式怎么弄wordpress文件架构
  • 网站模块顺序调整网易对象存储wordpress
  • 深圳网络建设网站郑州网站优化服务
  • 辽阳专业建设网站公司网站html动态效果代码
  • 微信上可以做网站吗网页设计作业讲解
  • 长春好的做网站公司潍坊 网站
  • 做网站自己装服务器谷歌排名规则
  • 58.搜房等网站怎么做效果才好商贸公司企业简介模板
  • 中国最早做网站是谁卖网站怎样做
  • 张店专业网站优化哪家好书画工作室网站模板网站建设
  • 兰州网站制作怎么样青海哪家做网站的公司最大
  • 云龙湖旅游景区网站建设招标网站升级改版需要几天
  • 高端大气网络设计建设公司网站织梦模板沈阳模板建站哪家好
  • 郑州哪有做网站的高端网站建设与制作
  • 江阴网站网站建设蓝色 宽屏 网站 模板下载
  • 网站建设设计大作业重庆公共信息交易资源网
  • 做公司网站的多少钱公司建网站价格
  • 河间米各庄网站建设制作网站页面模板 建设中
  • wordpress首页添加站点统计小工具住房城乡建设部门门户网站
  • 网站建设在哪块做创业园网站建设
  • 郑州搭建网站公司互联网公司网站建设的目的
  • 响应式视频网站什么是权重高的网站
  • 做教育网站挣钱我的网站域名是什么
  • django 网站开发实例哪里可以检测胎儿性别
  • 刷排名凡搜网站宝微信5000人接推广费用
  • 网站优化外包服务专业网站建设服务商
  • 江西企业网站建设费用wordpress正在执行例行维护_请一分钟后回来.
  • 苏宁推客如何做网站创建一个网站的步骤