可以使用Javascript访问客户端的网络(故意)
Possible to use Javascript to access the client side's network(knowingly)
我最近在我的路由器中发现了一个漏洞,基本上给了我root访问权限。收获?有一个nonce
隐藏的表单值是随机生成的,必须发送才能使其工作,这使得很难"轻松"完成
所以基本上我想在javascript中做这样的事情:
- 获取
http://192.168.1.254/blah
- 使用正则表达式或类似方法提取随机数值
- 将随机数值放入当前页面的隐藏字段中
- 通过 POST 将表单提交到
http://192.168.1.254/blah
完成,其中包含随机数值和我要发送的其他表单值。
仅使用HTML和Javascript可以做到这一点吗?我对"必须在本地保存HTML文件然后打开"之类的事情持开放态度,我认为这是绕过跨域策略的一种方式。
但无论如何,这可能吗?我希望它至少能够从Firefox和Chrome运行。这方面的受众是那些具有一些技术知识的人。
编辑:我已经重写了这个,因为我原来的答案不正确。
由于您可以对本地文件进行 AJAX 调用,因此您可以执行以下操作。
"AJAX 页面"是发出请求的页面。"请求的页面"是不言自明的。
-
您的计算机上有 AJAX 页面。AJAX 页从您的计算机调用请求的页,与自身位于同一文件夹中。
-
您指示用户从其路由器获取请求的页面,并将其放在与 AJAX 页面相同的文件夹中。
-
跨域策略现在不再适用,因为这两个文件位于同一文件夹中。
-
您的页面可以有一个 POST 表单,其中
action
(目标页面)是跨域的,应该没有任何限制。
如果您可以在页面上运行PHP代码,请尝试使用cURL。这可以发出跨域请求。
这不能从常规的HTML页面完成。 同源策略将阻止您连接到路由器。 (将页面保存在本地无济于事;浏览器几年前开始严格限制本地页面的功能。
如果你真的想从浏览器做到这一点,你可以写一个扩展。 源限制不适用于浏览器扩展。
相关文章:
- 通过Magento的网络服务检索运费
- Google/html5语音识别JavaScript SDK Chrome网络工具包SpeechRecognition
- 使用acess代币登录Facebook,并通过网络应用程序离线发布
- 如何使用密码检测网络中的状态连接
- ASP.NET网络摄像头显示
- 如何在OpenERP中实现网络摄像头
- 链接两个网页或网络应用程序的最佳方式
- 在ES6中,模块将导致多个网络调用,因为两个模块不能在单个文件中定义
- RabbitMQ与通过网络的stomp适配器
- 输入文本框为空时的阻止按钮asp.网络表单
- 为网络游戏制作动画
- 无法获取vis.js最后一个或第一个选定的网络节点
- 网络语音API-再次讲话(重置句子)
- 如何建立一个网页,检查我的路由器网络接口是否可以访问
- 查找AJAX获取和发布时使用的网络数据的obsolute或可能的估计值
- 如何减少在移动网络应用程序上播放声音的延迟
- 在Android网络应用程序中查找SD卡的路径
- 如何使用神经网络和突触库来制作项目定价估计器
- JQuery和Javascript没有'在我的项目中不起作用,但在网络上起作用
- 可以使用Javascript访问客户端的网络(故意)