可以使用Javascript访问客户端';s网络(有意)

可以使用Javascript访问客户端';s网络(有意),javascript,forms,cross-domain,screen-scraping,Javascript,Forms,Cross Domain,Screen Scraping,我最近在我的路由器中发现了一个基本上给我根访问权限的。陷阱?有一个nonce隐藏的表单值是随机生成的,必须发送它才能工作,这使得它很难“轻松”完成 所以基本上我想在javascript中做一些类似的事情: 获取http://192.168.1.254/blah 使用正则表达式或类似表达式提取nonce值 将nonce值放入当前页面的隐藏字段中 将表格邮寄至http://192.168.1.254/blah填写当前值和我要发送的其他表单值 仅使用HTML和Javascript就可以做到这一点吗?我

我最近在我的路由器中发现了一个基本上给我根访问权限的。陷阱?有一个
nonce
隐藏的表单值是随机生成的,必须发送它才能工作,这使得它很难“轻松”完成

所以基本上我想在javascript中做一些类似的事情:

  • 获取
    http://192.168.1.254/blah
  • 使用正则表达式或类似表达式提取nonce值
  • 将nonce值放入当前页面的隐藏字段中
  • 将表格邮寄至
    http://192.168.1.254/blah
    填写当前值和我要发送的其他表单值
  • 仅使用HTML和Javascript就可以做到这一点吗?我对“必须在本地保存HTML文件,然后再打开”之类的内容持开放态度,我认为这是跨域策略的一种方法

    但无论如何,这有可能吗?我希望它至少能在Firefox和Chrome上运行。观众是那些有一些技术诀窍的人

    编辑:因为我原来的答案不正确,所以我重写了这个

    由于您可以对本地文件进行AJAX调用,下面是您要做的

    “AJAX页面”是发出请求的页面。 “请求的页面”是不言自明的

  • 您的计算机上有AJAX页面。AJAX页面从您的计算机调用请求的页面,该页面与自身位于同一文件夹中

  • 您指示用户从他们的路由器获取请求的页面,并将其放入与AJAX页面相同的文件夹中

  • 跨域策略现在不再适用,因为两个文件位于同一文件夹中

  • 您的页面可以有一个POST表单,其中
    操作
    (目标页面)是跨域的,不应有任何限制


  • 如果可以在页面上运行PHP代码,请尝试使用。这可能会产生跨域请求。

    这无法从常规HTML页面完成。同源策略将阻止您连接到路由器。(在本地保存页面不会有任何帮助;浏览器几年前就开始严重限制本地页面的功能。)


    如果你真的想通过浏览器实现这一点,你可以写一个。原点限制不适用于浏览器扩展。

    什么是
    nonce
    值?@Derek隐藏的表单元素。它在调制解调器页面的HTML源代码中看起来是这样的:
    您现在知道如何通过计算机上运行的应用程序或脚本执行此操作,对吗?在浏览器上这么做的原因是什么?@jdigital我知道怎么做。问题是,我想让这种利用更容易,让其他人可以受益,让他们的调制解调器不那么糟糕。这是一个臭名昭著的糟糕调制解调器,你无法更换。只要看看你正在向SO社区寻求一种方法,以打入一个非你自己的本地网络。这种类型的问题不适合StackOverflow。AJAX GET当然不能免除同源策略。我也不这么认为。用jQuery和epic failureOk测试了它,它应该在本地网络上工作,对吗?还是我真的那么无知P否则,只需先在本地保存该页面即可。同源策略意味着您只能向HTML页面来自的服务器发出AJAX请求。除非本地服务器也为您的HTML页面提供服务,否则您将无法发出请求。出于同样的原因,在本地保存该文件将不起作用。(file:///...
    !=
    http​://192.168…)当我说“本地保存”时,我的意思是将它复制到运行AJAX调用的服务器上。你知道我是否可以使用任何扩展来完成这项工作,而不是编写自己的扩展?我认为Greasemonkey(用于Firefox)可能可以做这样的事情;遵循规则。