我有一个用asp.net开发的web项目
在我的网络项目中,我有一个名为 (MainPage) 的页面。在MainPage中根据查询字符串,最后一个用户可以看到一个调查编辑表单(www.a.com?entity=survey@op=edit)或者一个参数插入表单(www.a.com?entity=parameter&op=add)或者等等……
上面的查询字符串示例只是示例,因为我对它们进行了加密,实际上最后一个用户在 url 上看到了一些复杂的单词
例如:www.a.com?saşlfas571=sflkmlm11sd&13kjn13=1378183
此外,在 MainPage 中我加载了一个名为 MainPageJs 的 javascript,它根据查询字符串显示正确的 js 代码。
我正在 MainPage.cshtml 中加载 MainPageJs
@section scripts{
<script type="text/javascript" src="@CustomUrl.CustomAction("MainPageJS", "Home", new { entity= entityName, op = opName })"></script>
下面的代码展示了 MainPageJs 是如何工作的
....
string res = "";
if (queryString == "parameter")
{
res = "var a = 1;";
}
if (queryString == "survey")
{
res = "var a = 2;";
}
if (queryString == "user")
{
res = "var a = 3;";
}
return JavaScript(res.ToString());
现在我想知道的是,
- 我的代码风格有没有安全问题?
- 我的网页是否存在任何安全漏洞?
- 此样式是否存在 JavaScript 代码注入(inject)漏洞?
最佳答案
is my code style has any security problem?
没有。在客户端执行动态代码没有错。至少从安全的 Angular 来看(你仍然应该控制它的性能)
is my web page has security vulnerability?
没有。你不能破坏任何在客户端执行动态代码的东西。 “动态”代码在同一个沙箱中执行,具有与普通 js 相同的权限。
is this style has a javascript code injection vulnerability?
有些人使用术语“JavaScript Injection Attack”来命名 $( userInput ).insertAfter( .. );
的副作用- 当用户可以从用户输入运行一些 javascript(如果 userInput
包含 <script>...</script>
)但它与动态 JS 无关,它更多地与动态 HTML 有关。
关于javascript - 为什么注入(inject) JavaScript 代码是个坏主意,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53129607/