【发布时间】:2019-04-07 08:23:24
【问题描述】:
我有一个由 asp.net 开发的网络项目
在我的网络项目中,我有一个称为 (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 代码注入漏洞?
【问题讨论】:
-
您可能会在codereview.stackexchange.com 和/或security.stackexchange.com 上得到更好的回复
-
如果你直接从查询字符串中插入值输入生成的代码,那么你就有一个严重的漏洞。如果您只是在编写静态确定生成代码的示例中的代码,那么您可能是安全的,但有更好的方法来编写此类代码。
标签: javascript asp.net security code-injection