是否可以修改网页的源并重新加载该页面而不是从服务器而是从编辑的源?

Posted

技术标签:

【中文标题】是否可以修改网页的源并重新加载该页面而不是从服务器而是从编辑的源?【英文标题】:Is it possible to modify a Web page's source and reload that page not from the server but from the edited source? 【发布时间】:2019-06-07 01:02:46 【问题描述】:

只是一个愚蠢的问题。我知道这是不可能的,但我只是出于偏执而要求确认。

不可能编辑网页的源代码并以某种方式在浏览器中重新加载已编辑的脚本,对吗?

否则,任何人都可以将他们想要的任何内容放入任何页面的源代码中,然后重新加载他们编辑的源代码以做任何他们喜欢的事情,这将使整个万维网变得脆弱。

【问题讨论】:

这可能可以使用客户端工具完成,例如浏览器扩展。但这显然不会影响网页的任何其他加载器,因为它们连接到源服务器,而不是连接到奇数计算机保存的缓存。 嗯,有一些技巧是可能的,主要浏览器有几个插件允许用户注入和/或编辑源文件。除此之外,还有一个“代理”,通常用于调试/开发 Web 应用程序,也可以用于实时编辑服务器接收到的 html 源代码。 @Goran.it:您说的是开发人员工具/Firebug 之类的插件,它们确实允许我们在客户端编辑源代码,但这是无害的,对吧?在“代理”中,您可能指的是 Fiddler 和 Wireshark(以及那些类似的)代理。但可以肯定的是,如果通信是在 SSL/TLS/HTTPS 上,你就不能发起中间人攻击,对吧? @WaterCoolrv2 无法通过网络拦截,但如果客户端的机器(浏览器)受到威胁,数据和所有通信也会受到威胁 @CertainPerformance 谢谢。假设浏览器没有受到威胁,那么攻击者就不可能将脚本 (XSS) 注入到网页源的本地副本中并将其发布回服务器,对吗?即使在未加密的 HTTP 连接上,对吗?如果服务器正确验证了 XSS 并拒绝了所有标记? 【参考方案1】:

是和否。

是的,您可以使用开发人员工具直接在浏览器中编辑网页的源代码,所做的更改将是可见的,但仅对您可见,因为更改是针对您的浏览器下载的文件进行的。

不,浏览器的此功能不存在安全风险,因为更改不会发送回服务器。

【讨论】:

【参考方案2】:

您可以潜在地插入断点并注入脚本,希望它能正常工作。 正如 @sjacob 的这篇帖子的回答所述: Editing in the Chrome debugger

【讨论】:

【参考方案3】:

无法编辑网页的源代码并以某种方式重新加载 在浏览器中编辑过的脚本,对吗?

有可能,必须感染浏览器,这在过去用于显示强制广告,仅影响受感染的计算机而不影响其他网站用户,但此编辑浏览器中显示的源代码而不是代码在网站服务器中运行

【讨论】:

以上是关于是否可以修改网页的源并重新加载该页面而不是从服务器而是从编辑的源?的主要内容,如果未能解决你的问题,请参考以下文章

在后台执行HTTP请求而不加载网页?

自动刷新表而不刷新页面 PHP MySQL

修改查询字符串而不重新加载页面

ajax基础

Chrome 开发工具 - 修改 javascript 并重新加载

我需要更改网页的内容而不刷新服务器端发生更改的位置