标签: code-injection

这种基于LINQ的搜索是否可以安全地防止SQL注入/ XSS攻击?

请参考以下数据库搜索教程,并建议搜索方法是否安全,特别是因为它从文本框中获取输入.

http://net.tutsplus.com/tutorials/asp-net/enabling-search-functionality-in-your-site-using-the-new-features-in-aspnet-35/

Protected Sub btnSubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSubmit.Click  

    Dim db As New BlogDBDataContext()  

    Dim q = From b In db.Blogs _  
            Where b.BlogContents.Contains(txtSearch.Text.Trim()) Or _  
                  b.BlogTitle.Contains(txtSearch.Text.Trim()) _  
            Select b  

    lv.DataSource = q  
    lv.DataBind()
End Sub  
Run Code Online (Sandbox Code Playgroud)

sql linq asp.net security code-injection

5
推荐指数
1
解决办法
439
查看次数

防止来自Dll C++的Dll注入

我对C++中的反dll注入有些怀疑.我有一个基于C++的游戏,我有黑客注入DLL的问题.然后我需要阻止它.

我从那里找到通知钩子:

MSDN - 通知挂钩

但我不知道如何使用它.

有可能通知挂钩以防止dll注入?

怎么可能?(有更好的例子).

可以从dll?(以更好的例子).

感谢您阅读该帖子.

PS:对不起我的英语.

c++ dll hook code-injection

5
推荐指数
1
解决办法
3783
查看次数

CDI注入和序列化

我正在考虑对 slf4j 记录器使用 CDI 注入,所以我创建了一个生产者。

我将它注入到一个ApplicationScoped可序列化的bean 中:

@ApplicationScoped
public final class CurrentApplicationBean implements Serializable {
    @Inject
    private transient Logger          logger;
}
Run Code Online (Sandbox Code Playgroud)

它必须是瞬态的,因为它org.slf4j.Logger是一个不扩展的接口Serializable,但这意味着必须在反序列化后重新注入记录器。

我认为 CDI 不处理这个,你有什么知识?

此外,提供者总是提供一个新Logger实例,因为它必须从 设置记录器名称InjectionPoint,这意味着RequestScopedbean 有自己的记录器实例,而不是每个类的静态记录器。

也许日志记录不是 CDI 注入的好环境……你有什么考虑?

logging code-injection cdi

5
推荐指数
1
解决办法
2056
查看次数

由第 3 方注入的应用程序会话 cookie

我的应用程序使用会话 cookie。不知何故,这个 cookie 被注入了一些用户的跟踪信息:

JSESSIONID=0624EF8E3E5E7CCBDB52BAE6C44C5AFB.jvm-application; optimizelySegments=%7B%22204658328%22%3A%22false%22%2C%22204736122%22%3A%22referral%22%2C%22204775011%22%3A%22ie%22%2C%222%22%2C%122%22%22%2722%21 %7D; optimizelyEndUserId=oeu6892721299353r0.9526657112221855; optimizelyBuckets=%7B%7D

JSESSIONID 来自我的应用程序,而 optimizelyXXX 元素似乎来自 optimizely.com,请参阅optimizely FAQ

这怎么可能,我该怎么办?ModSecurity 抱怨可能的注入。当然我可以禁用此规则,但我想了解发生了什么。

cookies session code-injection session-cookies optimizely

5
推荐指数
1
解决办法
1150
查看次数

使用“new Function(...)”的安全注意事项(在渲染期间,来自我的 Javascript 源的表达式)

我想用new Function(...)非常精简的代码生成一个函数。我想这样做

  • 避免自己解析表达式
  • 尽可能灵活。

eval()尽可能避免。但我不确定它是否足够安全使用new Function(...),这也被称为容易出现安全漏洞。

背景

我想管理菜单按钮的状态。所以,在定义按钮时,我想写一些类似的东西

 {
 ..., // More button definition
 state: "isInEditmode && (isWidgetSelected || isCursorInWidget),
 ...
 }
Run Code Online (Sandbox Code Playgroud)

在处理多个事件期间的 statechange 时,我将根据属性中的状态检查(总结)当前整体状态对象的状态states

因此,我将在渲染时生成一个函数并将其附加为 DOM 对象属性,而不是这样的 DOM 属性

 ...
 $el.stateFn = new Function("stateObj", "with (stateObj) {return " + item.state + ";}");
 ...
Run Code Online (Sandbox Code Playgroud)

测试状态:

 visible = $el.stateFn.call(currentStates, currentStates);
Run Code Online (Sandbox Code Playgroud)

with语句帮助我提供当前state对象的属性作为变量,这样上面的表达式就不需要像obj.isInEditmode.

安全问题

在我看来,这不会引入安全漏洞,因为附加到 DOM 对象的函数是在渲染时生成并从源读取的。还是我错了?我应该避免这种情况吗?

性能提示表示赞赏(评论)(我认为只要我Function在渲染期间评估一次新的,这是可以接受的)。

编辑 1

  • 我正在使用 Backbone.js。使用另一个框架是不可能的。
  • 某些菜单项需要绑定到不同甚至多个模型。 …

javascript security evaluation eval code-injection

5
推荐指数
2
解决办法
2241
查看次数

依赖注入和默认构造函数的使用

我正在尝试理解依赖注入的概念。下面是我尝试调试的示例。在这里,我创建了 Customer 类,我已将其依赖项注入到他的构造函数中。现在,当我调用this.Iorder.GetOrderDetails();Index方法时,它给我错误NullReferenceException并要求使用new关键字创建一个对象来调用该方法。当我将此调用this.Iorder.GetOrderDetails();移至另一个方法GetCutomerDetails()并在索引方法中调用该方法时,它起作用了。

问题:我无法理解为什么this.Iorder.GetOrderDetails() 方法调用在方法中不起作用 Index以及为什么它在方法中起作用GetCutomerDetails()

public  interface IorderDetails
{
    void GetOrderDetails();
}

public class CustomerModel : IorderDetails
{
    public void GetOrderDetails() {}
}
Run Code Online (Sandbox Code Playgroud)

控制器:

public class CustomerController: Controller
{
    private IorderDetails Iorder;

    //DI constructor  Injecting OrderDetails object 
    CustomerController(IorderDetails iorderObj)
    {
        if (iorderObj == null)
            throw new ArgumentNullException("orderObj should not be null");

        this.Iorder = iorderObj;
    }
    //Default constructor  
    public CustomerController() { }

    public ActionResult …
Run Code Online (Sandbox Code Playgroud)

c# dependency-injection code-injection

5
推荐指数
1
解决办法
5932
查看次数

mvc 将 httpcontext 注入服务层

在将 httpContextBase 注入到使用 unity 注入控制器的服务级别对象中时,我遇到了一个大问题。

样品控制器

public HomeController : Controller{
    private IWorkContext _context;

    public HomeController(IWorkContext context){
        _context = context;
    }

}


public WorkContext : IWorkContext{

    private HttpContextBase _httpContext;

        public (HttpContextBase httpContext){
            _httpContext = httpContext;
        }

        public void DealWithCookies(){
            //do some thing with http context and deal with cookies
        }
    }
Run Code Online (Sandbox Code Playgroud)

内部统一引导程序

container.RegisterType<HttpContextBase>().RegisterInstance(new HttpContextWrapper(HttpContext.Current) as HttpContextBase, new ContainerControlledLifetimeManager());

//With this line httpcontextbase is returned but as a singleton instead of new for each request.


   container.RegisterType<HttpContextBase>().RegisterInstance(new HttpContextWrapper(HttpContext.Current) as HttpContextBase, new PerRequestLifetimeManager());

//This …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc unity-container code-injection

5
推荐指数
1
解决办法
2577
查看次数

如何定位缺少 $injector 错误?

我正在将一些核心的角度内容移植到一个新项目中。现在我收到注入器错误,但堆栈跟踪/角度错误页面不显示有问题的注入错误的类名。我得到的只是

\n\n
Error: $injector:modulerr\nModule Error\n
Run Code Online (Sandbox Code Playgroud)\n\n

通常那里有一个类名。现在我必须检查每个类(数十个)并手动检查导入。难道就没有更好的办法吗?我在添加类时就看到了这种情况的发生。有时它会显示丢失的注入的名称,有时它只是显示为空白,否则堆栈跟踪会正确识别丢失/错误的注入。

\n\n

是否有一些额外的调试模式可以获取此信息?

\n\n

完整的(无用的)堆栈跟踪:

\n\n
Failed to instantiate module FSApp due to:\nError: [$injector:modulerr] http://errors.angularjs.org/1.2.16/$injector/modulerr?p0=FSApp&p1=Error\xe2\x80\xa6cape%2Fmain%2Fresources%2Flib%2Fangular-1.2.16%2Fangular.min.js%3A32%3A445)\n    at Error (native)\n    at http://fs/main/resources/lib/angular-1.2.16/angular.min.js:6:450\n    at http://fs/main/resources/lib/angular-1.2.16/angular.min.js:33:332\n    at Array.forEach (native)\n    at q (http://fs/main/resources/lib/angular-1.2.16/angular.min.js:7:280)\n    at e (http://fs/main/resources/lib/angular-1.2.16/angular.min.js:32:445)\n    at http://fs/main/resources/lib/angular-1.2.16/angular.min.js:33:18\n    at Array.forEach (native)\n    at q (http://fs/main/resources/lib/angular-1.2.16/angular.min.js:7:280)\n    at e (http://fs/main/resources/lib/angular-1.2.16/angular.min.js:32:445\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果您想尝试重现此情况,请提交您的更改。到处删除几个文件。运行你的角度应用程序。如果删除得足够多,您很快就会收到空白注射器错误。

\n

code-injection angularjs

5
推荐指数
1
解决办法
3477
查看次数

是否可以在shell脚本中使用命令注入而不使用eval?

我想知道,现在使用最新版本的sh,bash,ksh等可以通过执行这个(非常简单的)脚本来获取命令注入吗?

#!/bin/sh

echo "What is the name of the program you are looking for?"
read program
locate $program
Run Code Online (Sandbox Code Playgroud)

尽管如果他们有shell当然可以执行代码,我只是想知道变量是否可以包含恶意代码,例如在PHP中:

parameter=parameter;ls
Run Code Online (Sandbox Code Playgroud)

此问题中也可以忽略shellshock(env变量).

linux security bash shell code-injection

5
推荐指数
1
解决办法
5920
查看次数

Symfony-依赖项未插入我的实体侦听器类中

我的自动装配不适用于基本文件实体侦听器。

我有一个File实体类,它使用批注指定侦听器,例如:

/**

@Orm\Entity(repositoryClass="root\CoreBundle\Repository\FileRepository")
@Orm\EntityListeners({"root\CoreBundle\EventListener\Entity\FileEntityListener"})
@Orm\Table(
etc...
Run Code Online (Sandbox Code Playgroud)

FileEntityListener类的开始如下:

class FileEntityListener
{
private $encoderFactory;
private $logger;

public function __construct(FilesystemMap $filesystemMap, LoggerInterface $logger)
{
    $this->setFilesystemMap($filesystemMap);
    $this->logger = $logger;
}
Run Code Online (Sandbox Code Playgroud)

当侦听器启动时,没有将依赖项注入侦听器的构造函数中,并且我收到该构造函数的错误,说:

Type error: Too few arguments to function Epcvip\CoreBundle\EventListener\Entity\FileEntityListener::__construct(), 0 passed in /var/www/html/accounting/vendor/doctrine/doctrine-bundle/Mapping/ContainerAwareEntityListenerResolver.php on line 83 and exactly 2 expected
Run Code Online (Sandbox Code Playgroud)

该捆绑包是自动接线的,但是没有注入依赖项。

有人知道为什么这行不通吗?也许我缺少一个简单的配置步骤?

php dependencies code-injection autowired symfony

5
推荐指数
1
解决办法
1985
查看次数