Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 绕过web浏览器控件中的XSS过滤器_C#_.net_Webbrowser Control_Xss - Fatal编程技术网

C# 绕过web浏览器控件中的XSS过滤器

C# 绕过web浏览器控件中的XSS过滤器,c#,.net,webbrowser-control,xss,C#,.net,Webbrowser Control,Xss,我正在从事一个pet项目,需要克服应用程序中的一个主要障碍。我查阅了无数的论坛和文章,只找到了我所寻找的点点滴滴,所以我希望更直接的方法能帮助我 以下是场景: 1.该网站实际上是一个游戏,它在一个有多个iFrame的页面上使用Javascript/JSON和DHTML,其中两个iFrame位于外部页面的更深处,属于一个单独的域 我尝试做的事情没有安全问题。所有编程和访问仅限于简化和自动化正常访问功能。所有身份验证和私有信息都在任何访问之前完成,并且只有会话信息将被使用,并且仅用于方便用户知道将发

我正在从事一个pet项目,需要克服应用程序中的一个主要障碍。我查阅了无数的论坛和文章,只找到了我所寻找的点点滴滴,所以我希望更直接的方法能帮助我

以下是场景: 1.该网站实际上是一个游戏,它在一个有多个iFrame的页面上使用Javascript/JSON和DHTML,其中两个iFrame位于外部页面的更深处,属于一个单独的域

  • 我尝试做的事情没有安全问题。所有编程和访问仅限于简化和自动化正常访问功能。所有身份验证和私有信息都在任何访问之前完成,并且只有会话信息将被使用,并且仅用于方便用户知道将发生的游戏操作

  • 其想法是使用webbrowser控件访问游戏并提供普通访问,同时托管浏览器的应用程序获取游戏会话信息并对游戏服务器进行单独的自动调用。这已经通过Firefox使用Greasemonkey脚本实现了,而且效果很好——只是Firefox有一个可怕的内存泄漏,最终导致整个操作崩溃

  • 我遇到的问题是显而易见的。我正在尝试访问技术上位于不同域上的iframe,而web浏览器DOM模型不允许我进入。我看过足够多的文章,知道XSS过滤块有几种解决方法,但它们非常模糊,并且根据场景的不同而有所不同

    所以,我将准确地概述我需要什么,希望我能得到一个友好的解决方案

  • 我需要获得不同域的嵌套IFRAME的DOM。如果需要,我可以只使用源代码,但DOM和JS变量将是最理想的。我在这里的策略是使用会话信息并使HttpWebRequest调用与游戏中的web浏览器并行。这样,我可以在继续播放的同时自动执行一些功能。这是可以做到的-如果我可以获得会话信息并以相同的方式传递它。这一切都将在用户许可和了解的情况下在同一个客户端上完成,因此没有安全问题

  • 如果我能把信息传回IFRAME,我真的很希望。这个项目试图做的主要事情之一就是做一些视觉上的改变,以简化界面的外观和感觉。它都是HTML格式的,所以更改只需添加一些JS代码的内嵌样式

  • 那么不管怎样,什么样的想法和建议最有效呢?在这一点上,我对所有场景都持开放态度,但理想的情况是尽可能简单地获得我需要的东西。这已经是一个巨大的项目:)


    提前谢谢

    如果您控制所有相关站点,您可以使用postMessage进行通信。还有easyXDM,它提供了一组传输,也可以在较旧的浏览器中使用(并自动选择最好的)


    可以绕过XSS检查,通过
    IOleContainer
    访问
    iframes
    ,如图所示。这个示例是C++的,但是从COM互操作C C中做同样的事情不应该是个问题。

    您可以构建一个服务器端代理,它带有几行C代码,它可以获得不同域上的IFRAMs的内容,并在主域上获得主机。这样,就浏览器而言,所有帧都来自同一个域,因此没有安全问题。我认为你正在打一场败仗,试图避免浏览器安全功能(同源策略),否则我很担心。我真的希望避免在这场闹剧中添加另一个步骤,但如果你有一篇像样的代理文章,允许我以两种方式操作数据,我可能可以使用它。。。此外,所述代理还必须能够读取https…这是针对Saltybet的吗?不幸的是,我无法控制相关网站:(