0

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

所以基本上我想在javascript中做这样的事情:

  1. 得到http://192.168.1.254/blah
  2. 使用正则表达式或类似的方法来提取 nonce 值
  3. 将 nonce 值放入当前页面的隐藏字段中
  4. 通过 POST 提交表单以http://192.168.1.254/blah完成我要发送的 nonce 值和其他表单值。

仅使用 HTML 和 Javascript 是否有可能?我对“必须在本地保存 HTML 文件然后打开”之类的东西持开放态度,我认为这是绕过跨域策略的一种方式。

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

4

2 回答 2

1

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

由于您可以对本地文件进行 AJAX 调用,因此您可以这样做。

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

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

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

  3. 跨域策略现在不再适用,因为两个文件都在同一个文件夹中。

  4. 您的页面可以有一个 POST 表单,其中action(目标页面)是跨域的,应该没有限制

如果您可以在页面上运行 PHP 代码,请尝试使用cURL。这可以进行跨域请求。

于 2012-06-07T22:09:37.770 回答
0

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

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

于 2012-06-07T22:19:08.603 回答