web逆向实战(一)-私募网

一般流程

  • 第一步:先要明确需要获取哪些数据,是哪些列表页或内容页。
  • 第二步:大致看下每个数据包(DOC,XHR等)请求参数和返回数据,明确数据返回接口。
  • 第三步:通过请求重放,查看哪些参数是非必要的,剔除掉非必要参数。
  • 第四步:最后就是靠经验来解密数据或加密参数了,(以后我每篇逆向文章都尽量详细的讲出自己的思路和想法,如果有说的不对的地方,还清大家指正一下,谢谢。)

过程

  • 目标:aHR0cHM6Ly93d3cuc2ltdXdhbmcuY29tL3NtenE=
  • 目的:获取每页的数据。

明确数据接口

  • 在谷歌浏览器打开调试工具,点开XHR,通过往下滑动页面查看发送的请求数据包,发现是瀑布流。
  • 看到一部分很规律的请求参数,猜测condition参数为瀑布流的“块号”?那page又是啥,还有另外请求的fundNavTrend是啥?(这两种请求都返回了加密数据)
  • 百思不得其姐的我(doge)又重新尝试刷新网页,发现是他给我重定向到了展示全部板块,而不是我要的期货板块。所以我又重新滚动并记录几次完整请求,直到请求“样子”基本都一致在去看。发现page参数变正常了,但fundNavTrend也莫名消失了,先大胆猜测他是其他的板块数据,因为太少出现了。正常的样子,如下图:
  • 在这里插入图片描述
  • 正常了之后再去点击其他板块,以确定动态参数。点击其他板块后发现condition条件变化了,然后在多点几个得到规律。结果code是网站的在售基金某个功能模块的id,size按正常来说就是一次返回的数据条数(猜测),page是块数,condition是每个板块的标识,请求返回的data应该就是加密后的,需要浏览器解密再插入回页面上。

用Python进行请求

  • 对着请求右键直接复制该请求的cURL(bash),找个网站转python请求代码即可,如下图:
  • 在这里插入图片描述

解密返回数据

脚本注入

  • 第一步全局搜索data参数,发现不好找。然后直接去Hook浏览器中的JSON的parse方法,因为返回的就是json格式,浏览器需要解析成字符串才能解密,hook函数如下:

  • (function() { alert("hook begin"); var _parse = JSON.parse JSON.parse = function(arg){ console.log(arg); debugger; return _parse(arg); } })();

  • 随便找个油猴脚本设置在页面渲染前执行就ok,或者打个Script断点手动注入,然后通过滑动页面来debugger。

找解密函数入口

在这里插入图片描述

  • 把整个decrypt函数扣下来,然后补本地node运行所需的环境,难度不大。(环境部分截图)
    在这里插入图片描述

总结

  • 这个网站补环境难度不高,耗时的是一开始在看请求包的时候姿势不对,滚动页面以触发请求的时候,鼠标最好不要放在页面内,因为刚刚鼠标不小心放到了一个图表缩略图,然后异步请求了fundNavTrend,在数据解密后发现是某个基金的详情图表数据。
  • 本文主要是写个人经验总结,为避免其他问题,相关代码只放部分截图,如果有什么不错的想法和建议也可以留言,谢谢。

免责声明:本文仅供学习和研究目的,禁止用于任何商业用途。读者在使用爬虫技术时需遵守相关法律法规,本文作者不对读者在使用爬虫技术时可能产生的任何法律风险负责。如有任何侵权或违法行为,请及时联系作者删除相关内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值