你可以使用Windows钩子或其他方法用c#进行代码注入吗?我已经看到很多关于代码注入的东西,但所有这些都是用C/C++完成的.我不知道这些语言中的任何一种,并且很难翻译.有没有人对如何做到这一点有任何想法?
我有一个UIWebView组件,它将加载一个可能包含JavaScript的网页.我希望在加载的网页上的任何JavaScript运行之前运行我自己的JavaScript.我知道我可以[myWebView stringByEvaulatingJavaScriptFromString:]在webViewDidFinishLoad:代理上使用UIWebView,但这只会在网页上的JavaScript 运行后运行我的JavaScript .
是将我的JavaScript注入网页源代码的唯一解决方案吗?例如,我会立即将它放在<head>标记之后,以确保它是第一个运行的JavaScript.
现在你可以阅读很多关于代码注入,漏洞利用,缓冲区,堆栈和堆溢出等的信息,从而导致注入和运行代码.我想知道这些东西与Java有什么关系.
我知道,Java语言中没有指针.但是JVM是否在堆和/或堆栈中组织数据?我知道没有eval函数(比如在PHP中)所以你不能轻易地将输入用作Java代码.我不太确定在字节码级别上会发生什么.
我认为XSS是可能的,例如在Java EE应用程序中,当没有输入被过滤时.但这不是一个JavaScript注入,因为注入的代码在浏览器中而不是在JVM中运行?
那么哪些代码注入可以用java而不是?这对其他Java平台语言也是如此吗?
提前致谢.
任何熟悉Cassandra引擎(通过PHP使用phpcassa lib)的人都知道是否有sql注入攻击向量的必然结果?如果是这样,是否有人试图建立阻止他们的最佳做法?如果没有,有人会喜欢; )
我们需要在iframe中添加一个javascript元素(它在同一个web /域中,因此不会附加安全问题).我们得到了它的工作,但不知道如何填写其标签之间的脚本内容...你会怎么做?
var iframe = document.getElementById('iframeX');
var iframedocument = iframe.contentWindow.document;
var script = iframedocument.createElement('script');
script.setAttribute('type', 'text/javascript');
script.innerText = 'alert(\'hello\')'; //this doesnt work
script.value= 'alert(\'hello\')'; //this doesnt work either
var head = iframedocument.getElementsByTagName("head")[0];
head.appendChild(script);
Run Code Online (Sandbox Code Playgroud)
iframe文档中的所需结果:
<head>
<script type="text/javascript" >
alert('hello');
</script>
</head>
Run Code Online (Sandbox Code Playgroud) 我只是在研究,为什么使用eval()函数很糟糕,我发现一个容易受到代码注入攻击的原因(Post:为什么使用JavaScript eval函数是一个坏主意?).
但我的问题是,我们是否一定需要担心javascript中的代码注入?因为,如果任何用户想要为网站运行任何JS脚本,他可以通过在控制台中运行来完成.
所以,我只是想知道,如果有人成功地在我的javascript代码中注入他的代码,可能会造成多大的伤害?
编辑
根据Oleander在下面的回答,当我们通过AJAX调用在浏览器和服务器之间进行通信时,我发现了一种漏洞.这很有道理.但我可能有Javascript程序只能在浏览器中运行,并且没有与后端的任何通信,例如计算器或简单游戏.所以我的补充问题是,还有其他任何原因导致这些程序也容易受到攻击吗?
我正在QueryBuilders后端构建一个 Elasticsearch 查询。集群不直接暴露在互联网上,只能通过后端访问。
我注意到我为它提供了未经处理的用户输入,这让我想起了 SQL 注入。我知道如何防止 SQL 注入,但我不确定是否会QueryBuilder转义输入?
我发现有一种叫做“搜索模板”的东西,它使用了胡子。他们可能会正确地转义内容吗?它们是防止此类问题的“必经之路”吗?
我什至不确定有问题的用户输入会是什么样子。使用 时QueryBuilder,我不认为HTTP METHOD可以更改查询的 。
也许脚本可能是一个问题,但可以禁用。
重申我的问题:代码注入是否是 Elasticsearch 的问题,如果是,缓解它们的最佳方法是什么?
谢谢!:)
优点:
缺点:
优点:
缺点:
优点:
缺点:
我将使用方法#1.你能推荐一个更好的方法吗?
在非托管DLL中是否有基于CLR托管的体面技术?
请注意,我知道这些问题:
我正在寻找将JavaScript注入WebView(在Cocoa中)的不同方法.
我试图将一些javascript注入<head>已加载到WebView的HTML文件的标记中.
以下方法对我不起作用.它似乎只适用于非常简单的JavaScript,没有嵌套括号(来自我测试的):
[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"var script = document.createElement('script');"
"script.type = 'text/javascript';"
"script.text = \"some simple JavaScript"
"}\";"
"document.getElementsByTagName('head')[0].appendChild(script);"]];
Run Code Online (Sandbox Code Playgroud)
有没有其他方法可以使用更复杂的JavaScript/jQuery函数?
我试图注入的完整代码如下:
function submitFormForTime(time){
$(\".t_h\").each(function(i, obj) {
if ($(this).text() != time) return;
$(this).parent().find(\"form\").each(function(i, obj){
obj.submit();
});
});
}
Run Code Online (Sandbox Code Playgroud) 最近我发现我的应用程序在Google Chrome中行为不端.
在带有表单的页面上,在提交之后,我的应用程序使用这样的简单方法重新加载页面:
header('Location: ' . $url);
Run Code Online (Sandbox Code Playgroud)
之后,页面呈现不正确,并将此内容注入DOM
<div id="sbi_camera_button" class="sbi_search" style="left: 0px; top: 0px; position: absolute; width: 29px; height: 27px; border: none; margin: 0px; padding: 0px; z-index: 2147483647; display: none; "></div>
Run Code Online (Sandbox Code Playgroud)
手动页面刷新后,一切都按预期工作.
我不确定是什么导致了这种行为,因为我在封闭的本地环境中工作,并且应用程序在Firefox中正常工作.
我的应用程序使用以下库(本地托管):
有人可以告诉我什么可能导致这个问题吗?
code-injection ×10
javascript ×4
iphone ×2
security ×2
.net ×1
c# ×1
cassandra ×1
html ×1
iframe ×1
java ×1
nosql ×1
objective-c ×1
php ×1
uiwebview ×1
validation ×1
wpf ×1
xss ×1