补环境过瑞数4

网址是房地产http://www.fangdi.com.cn/new_house/new_house.html

瑞数的基本结构:

瑞数是动态cookie加密,每次加密的js都是动态的,每次请求js都会变化,但是里面的行数跟数据的结构不会改变

如【439】之类的取值,js变量名再怎么变化,最左侧的行数也不会发生改变。请求时可以fd替换js或者拿本子记下关键位置的【】的数字进行操作调试。

请求顺序:

 先对网页进行了一次请求,返回了cookie   FSSBBIl1UgzbN7N80S,然后拿着这个80s的cookie请求得到对应的js文本

 

 随后用这段js跟网页的content进行加密。

cookie的位置直接hook就行,4代加密入口搜call直接就能找到,随后跟进去。

 

 进去后就是cookie生成的最后逻辑;搜索(5);这里时假cookie生成的地方,768时真cookie拿假cookie生成的值。瑞数的基本访问逻辑就是这些了;

 把外部的js文件ts放到js文件里,然受把网页标签content的内容设置个变量承接下。把原网页call处稍微修改为

 ,然后把call执行的文本,220行处修改下,

 ,这里面运行的js时documen的操作,读取标签内容赋值,为了方便本地补还境调试,就改为这样,这一dom节点最后补。然后在浏览器的环境运行

 就能得到cookie;

补还境如何知道检测了哪些环境?可以用插桩或者代理的方式,这里我推荐用proxy来设置代理;

Proxy 代理的目标对象可以是任何类型的对象,包括原生数组,函数,甚至另一个代理,里面的get跟set方法对爬虫很有帮助。

proxy的简单示例:

 拿get获取值来说,将代理挂上后,p对象的取值操作一目了然,set设置值加上后,给window挂上代理基本上所有的js取值赋值操作都一目了然,然后再把这些缺失环境如navigation,document再次挂上代理,补齐环境就完成了。

常见的检测点:

环境分为浏览器环境,第三方环境,如nodejs,jsdom,Selenium。拿nodejs举例

,global里面的一堆东西都是检测点 ,轻而易举的能看出来你是不是浏览器,Selenium下面的,都是浏览器没有的东西,proxy代理能轻送获取到,补的时候以浏览器为准。

伪造基本功:常见的检测点,如document.createElement,创建一个标签,然后取标签里面的一个属性,看没有有。或者时基于v8引擎自带方法的检测。如补document补的时候,一般都是document = {};但是v8引擎带的tostring能轻易看出不同,检测出来。一个补的方法,tostring后也能轻易发现。

再者就是基于原型链上的检测。

 一个对象,只要有————proto————就是一个实例,实例—proto——返回它的原型,原型的prototype就返回他的实例。一个对象可以是实例,也可以是原型,如果用他的原型下的方法取值,也是取不到的

 。object下有很多get方法,都能轻易识破这种简单的伪造。

代理对于try异常捕获没有好的方法,最好是跟一遍流程,如果被检测出来跟着错误分支挺废功夫的,补还境不用管128位数组,但是流程最好f11跟几遍记下关键。

 补完后直接带着80s跟80t访问就可以了。如果没有再出现js就是环境伪造成功了

 

 

  • 5
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 39
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 39
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值