Переглянути джерело

webapi 测试sql注入

大厂分支
liangkun 3 роки тому
джерело
коміт
2dbfa1619b
2 змінених файлів з 13 додано та 0 видалено
  1. +11
    -0
      Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/BaseApi.cs
  2. +2
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Util/Learun.Util/Web/WebHelper.cs

+ 11
- 0
Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/BaseApi.cs Переглянути файл

@@ -175,6 +175,17 @@ namespace Learun.Application.WebApi
/// <returns></returns>
private Response BeforeRequest(NancyContext ctx)
{
ctx.Request.Url.Query = Learun.Util.WebHelper.Formatstr(ctx.Request.Url.Query);
foreach (var p in ctx.Parameters)
{
if (p.ParameterType == typeof(string))
{
if (ctx.Parameters[p.ParameterName] != null)
{
ctx.Parameters[p.ParameterName] = Learun.Util.WebHelper.Formatstr(ctx.Parameters[p.ParameterName].ToString());
}
}
}
string path = ctx.ResolvedRoute.Description.Path;
//验证登录状态
ReqParameter req = this.Bind<ReqParameter>();


+ 2
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Util/Learun.Util/Web/WebHelper.cs Переглянути файл

@@ -345,6 +345,7 @@ namespace Learun.Util
System.Text.RegularExpressions.Regex regex10 = new System.Text.RegularExpressions.Regex(@"select", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
System.Text.RegularExpressions.Regex regex11 = new System.Text.RegularExpressions.Regex(@"update", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
System.Text.RegularExpressions.Regex regex12 = new System.Text.RegularExpressions.Regex(@"delete", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
System.Text.RegularExpressions.Regex regex13 = new System.Text.RegularExpressions.Regex(@"exec", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
html = regex1.Replace(html, ""); //过滤<script></script>标记
html = regex2.Replace(html, ""); //过滤href=javascript: (<A>) 属性
html = regex3.Replace(html, " _disibledevent="); //过滤其它控件的on...事件
@@ -352,6 +353,7 @@ namespace Learun.Util
html = regex10.Replace(html, "s_elect");
html = regex11.Replace(html, "u_pudate");
html = regex12.Replace(html, "d_elete");
html = regex13.Replace(html, "e_xec");
html = html.Replace("'", "’");
html = html.Replace("&nbsp;", " ");
return html;


Завантаження…
Відмінити
Зберегти