有没有办法将内联javascript作为URL执行?

gam*_*evv 3 javascript

在许多浏览器中,您可以执行以下操作:

javascript: alert("...");
Run Code Online (Sandbox Code Playgroud)

有没有办法将它与网址结合起来?我在考虑这样的事情:

http://example.com?javascript: alert("...");
Run Code Online (Sandbox Code Playgroud)

效果是在加载页面后执行javascript(与加载URL然后输入上述javascript语句相同的效果)

编辑:我不能使用window.onload或类似的东西,因为我不一定拥有该页面.

cle*_*tus 9

不,你不能那样做.如果可能,它会表示安全问题,因为您可以在另一个域的页面上运行任意Javascript,这就是XSS("跨站点脚本")的全部内容.

基本上,在新页面上运行的任何Javascript都必须位于新页面上.

编辑:在当前页面和某些任意其他页面上执行Javascript之间的区别是巨大的.在当前页面上,根据定义,您可以访问它,以便您可以运行任何您想要的任何内容.没有固有的安全风险.但是如果你可以在另一个页面上执行任意代码呢?

它可以让你这样做:

  • 强迫用户访问银行网站;
  • 在该网站上检索他们的cookie(你可以用JS做到这一点); 和
  • 将该用户重定向到恶意网站,将cookie作为查询参数传递.

这就是为什么你不能.