Js逆向中的DOM 跟BOM 浏览器引擎 以及伪造浏览器环境


一、浏览器必然包含几个部分

  • 显示区域、输入网址、刷新按钮。
  • DOM 文档对象模型 处理网页内容的方法和接口。
  • BOM 浏览器对象模型 与浏览器交互的方法和接口。
  • 运行html+css+js代码 描述了JS的语法和基本对象。
  • 不同浏览器会实现自己相应的属性。

区别:DOM描述了处理网页内容的方法和接口,BOM描述了与浏览器进行交互的方法和接口。

二、DOM基本操作思维导图

在这里插入图片描述

三、BOM基本操作思维导图

在这里插入图片描述

总结

javacsript是通过访问BOM(Browser Object Model)对象来访问、控制、修改客户端(浏览器),由于BOM的window包含了document,window对象的属性和方法是直接可以使用而且被感知的,因此可以直接使用window对象的document属性,通过document属性就可以访问、检索、修改XHTML文档内容与结构。因为document对象又是DOM(Document Object Model)模型的根节点。可以说,BOM包含了DOM(对象),浏览器提供出来给予访问的是BOM对象,从BOM对象再访问到DOM对象,从而js可以操作浏览器以及浏览器读取到的文档。其中
DOM包含:window

Window对象包含属性:document、location、navigator、screen、history、frames

Document根节点包含子节点:forms、location、anchors、images、links

从window.document已然可以看出,DOM的最根本的对象是BOM的window对象的子对象。

四、浏览器引擎

谷歌V8引擎 微软查克拉 ffg quickjs

js引擎就是js的解释器

五、伪造浏览器

  • 1、全部伪造(python jsdom库:伪造完整的dom环境)(nodejs 伪造完整的Bom dom环境)容易被检测
  • 2、指定网站伪造(通过调试 全局异常捕获 )

猜你喜欢

转载自blog.csdn.net/weixin_44236034/article/details/129731849