标签: code-injection

ASP.NET中的SMTP头注入?

我的ASP.NET网站有一个全局错误处理程序,当Web应用程序中出现任何类型的错误时,它会向我(和另一个开发人员)发送电子邮件.我们最近收到一条错误,其中包含我们从未听说过的电子邮件地址的CC.可怕的是,发送错误电子邮件的开发人员列表在编译的ASP.NET代码中进行了硬编码.我们没有看到如何添加CC.

我们也非常怀疑犯规行为,因为导致错误的请求是尝试使用我们的某个表单发送垃圾邮件.发送请求的IP地址也列在http://www.projecthoneypot.org/上.

我们现在最好的猜测是,请求在某种程度上是错误的,它在电子邮件中注入了CC标头.问题是我们无法弄清楚如何做到这一点.我们正在使用System.Net.Mail发送电子邮件,它似乎可以防止这种情况.MailMessage对象的主题只接受一行,因此您不会创建带有CC行的多行主题.在MailMessage中设置to和cc地址似乎非常强大.而且我看不出你如何在消息体中添加CC头.我找不到任何关于此的信息,我很想知道这是否是一个真正的问题.

编辑:有人要求代码.它有点长,但它是:

public class Global : System.Web.HttpApplication
{
    protected void Application_Error(Object sender, EventArgs e)
    {
        // Get the last exception.
        Exception objException = Server.GetLastError();

        // Work out the error details based on the exception.
        string ErrorType = "";
        string ErrorDescription = "";
        string ErrorHtml = "";

        if (objException == null)
        {
            // This should never occur.
            ErrorType = "Unknown Error";
            ErrorDescription = "Unknown Error";
        }
        else if (objException.GetType() == typeof(HttpException))
        {
            // This will occur when …
Run Code Online (Sandbox Code Playgroud)

asp.net security smtp code-injection

8
推荐指数
1
解决办法
2678
查看次数

将javascript注入javascript函数

我有一个奇怪的问题,我需要将一些javascript注入另一个javascript函数.我正在使用一个锁定的框架,所以我无法更改现有的功能.

我得到的是这样的

function doSomething(){...}

...***

我可以操纵***(上面)但是我不能改变doSomething函数...相反,我需要以某种方式在doSomething代码的末尾注入几行代码.

我需要这样做的原因是自定义框架调用doSomething(),这导致从我需要提取的服务器返回一个ID.这个ID只在doSomething函数中引用,所以我无法捕获它,除非我向该函数注入代码(除非我遗漏了一些东西).

有没有办法做到这一点?

javascript function code-injection

8
推荐指数
3
解决办法
2万
查看次数

安全的Python Markdown库

我想让用户留下富文本评论,可能使用markdown.我已经安装了Reddit上使用的库,但我担心去年发生的javascript注入攻击,特别是因为我还不清楚攻击是如何完成的.我还应该关注评论安全性吗?是否有一个测试字符串,我可以通过我的系统来检查reddit相同的缺陷?

python security markdown sanitization code-injection

8
推荐指数
1
解决办法
1034
查看次数

如何防止LDAP注入

我们正在构建一个通过php使用LDAP的应用程序,我开始想到有什么办法可以注入到LDAP中,更好的是如何防止LDAP注入?

php ldap code-injection

8
推荐指数
1
解决办法
3134
查看次数

用Spring Annotation替换<constructor-arg>

有一种方法可以用Annotation替换constructor-arg吗?

我有这个构造函数:

public GenericDAOImpl(Class<T> type) {
    this.type = type;
}
Run Code Online (Sandbox Code Playgroud)

我需要在我的Facade中注入:

@Inject
private GenericDAO<Auto, Long> autoDao;
Run Code Online (Sandbox Code Playgroud)

问题是我不知道如何在costructor中传递参数的值.

先感谢您

[更多信息]我试着解释我的问题.

<bean id="personDao" class="genericdao.impl.GenericDaoHibernateImpl">
        <constructor-arg>
            <value>genericdaotest.domain.Person</value>
        </constructor-arg>
</bean>
Run Code Online (Sandbox Code Playgroud)

我想只使用注释转换该代码.有人可以解释一下吗?

java generics spring annotations code-injection

8
推荐指数
1
解决办法
1万
查看次数

如何在运行时将IL注入方法

标题或多或少都说明了一切.根据这篇文章,我想出了这个:

public static unsafe void Replace(this MethodBase destination, MethodBase source)
{
    IntPtr srcHandle = source.MethodHandle.GetFunctionPointer();
    IntPtr dstHandle = destination.MethodHandle.GetFunctionPointer();

    int* dstPtr = (int*)dstHandle.ToPointer();
    *dstPtr = srcHandle.ToInt32();
}
Run Code Online (Sandbox Code Playgroud)

这实际上有效...偶尔--.-

例如,这是有效的.

public static class Program
{
    public static void Main(string[] args)
    {
        MethodInfo methodA = typeof(Program).GetMethod("A", BindingFlags.Public | BindingFlags.Static);
        MethodInfo methodB = typeof(Program).GetMethod("B", BindingFlags.Public | BindingFlags.Static);

        methodA.Replace(methodB);

        A();
        B();
    }

    public static void A()
    {
        Console.WriteLine("Hai World");
    }

    public static void B()
    {
        Console.WriteLine("Bai World");
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,这不是(SEHException).我所做的就是改变定义函数的顺序.

public static …
Run Code Online (Sandbox Code Playgroud)

.net c# il code-injection

8
推荐指数
1
解决办法
4322
查看次数

从WPF的内部渲染到Directx应用程序

我有一个WPF应用程序,用于在实时流中覆盖HUD.最初的想法是为xsplit(一种用于呈现实时流的流行应用程序)创建一个插件,以显示WPF应用程序的内容.这种方法的问题在于,向xsplit的COM接口渲染位图对于释放应用程序的CPU性能造成很大损害(我相信在xsplit的COM接口中存在问题以及使用RenderTargetBitmap对CPU征税).

我一直在寻找将叠加层直接渲染到游戏中(目标DirectX应用程序),因为它提供了许多好处.主要是它规避了xsplit中的性能问题,但也打开了应用程序,直到各种流和捕获应用程序.


我对DirectX不是很有经验,但我认为这是解决方案的大纲

  1. 初始化WPF应用程序并捕获WPF的Direct3d设备(通过此方法)

  2. 查找并挂钩目标DirectX应用程序的EndScene调用(使用EasyHook + Slimdx)

  3. 在钩住的DirectX应用程序的顶部渲染WPF设备表面的内容


我的主要问题是如何使用SlimDX完成第3步.我希望解决方案可以某种方式重用表面而不依赖于复制,因为目标是不影响钩子应用程序的性能.我也希望能够限制区域并支持透明度.我也想知道在钩住的DirectX应用程序的设备中使用WPF的Direct3d设备是否会导致任何不稳定.

任何见解都将不胜感激,谢谢.

directx wpf overlay code-injection slimdx

8
推荐指数
1
解决办法
2065
查看次数

Spring没有类型的独特bean

我在Spring中有两个服务组件有点麻烦.

我有这个组件:

@Component
public class SmartCardWrapper 
Run Code Online (Sandbox Code Playgroud)

还有这个:

@Component
public class DummySmartCardWrapper extends SmartCardWrapper
Run Code Online (Sandbox Code Playgroud)

该服务自动装配,但弹簧因此次尝试失败:

org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [com.cinebot.smartcard.SmartCardWrapper] is defined: expected single matching bean but found 2: [dummySmartCardWrapper, smartCardWrapper]
Run Code Online (Sandbox Code Playgroud)

为什么它不使用类名?

spring code-injection javabeans

8
推荐指数
1
解决办法
1万
查看次数

在带有茉莉花的angularJS内注入服务的测试控制器

我试图了解如何使用jasmine和angularJS测试我的代码.我用控制器和注入服务编写了一个测试项目.现在我想测试控制器并试图模拟注入的服务.但我没有找到一种方法来测试我的控制器"到达"功能.这是我的jsfiddle:http://jsfiddle.net/2fwxS/

controller.js:

angular.module('myApp.controllers', [])
    .controller('MyCtrl', ['$scope', 'MyService', function ($scope, MyService) {
    $scope.User = {};
    $scope.HasUserArrived = false;
    $scope.Arrived = function(firstname, lastname) {
    $scope.HasUserArrived = MyService.Arrive(firstname, lastname);
    return $scope.HasUserArrived;
    }
}]);
Run Code Online (Sandbox Code Playgroud)

services.js:

var myApp = angular.module('myApp.services', []).
  value('version', '0.1');

myApp.factory('MyService', [function () {
    return {
        HasArrived: false,
        Arrive: function (firstname, lastname) {
            this.HasArrived = false;

            if (firstname && lastname) {
                this.HasArrived = true;
            }

            console.log("User has arrived: " + this.HasArrived);
            return this.HasArrived;
        }
    }
}]);
Run Code Online (Sandbox Code Playgroud)

我找到了一些类似的解释,其中$ provide可能是正确的解决方案(如何为角度控制器和服务编写茉莉花测试? …

testing tdd code-injection jasmine angularjs

8
推荐指数
1
解决办法
1万
查看次数

带注入的定制 Serilog 水槽?

我创建了一个简单的 Serilog 接收器项目,如下所示:

namespace MyApp.Cloud.Serilog.MQSink
{
    public class MessageQueueSink: ILogEventSink
    {
        private readonly IMQProducer _MQProducerService;
        public MessageQueueSink(IMQProducer mQProducerService)
        {
            _MQProducerService = mQProducerService;
        }
        public void Emit(LogEvent logEvent)
        {
            _MQProducerService.Produce<SendLog>(new SendLog() { LogEventJson = JsonConvert.SerializeObject(logEvent)});
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

消费微服务的启动方式如下:

        var configurationBuilder = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build();
        var appSettings = configurationBuilder.Get<AppSettings>();

        configurationBuilder = new ConfigurationBuilder().AddJsonFile("ExtendedSettings.json").Build();

            Host.CreateDefaultBuilder(args)
                .UseMyAppCloudMQ(context => context.UseSettings(appSettings.MQSettings))
                .UseSerilog((hostingContext, loggerConfiguration) => loggerConfiguration.ReadFrom.Configuration(hostingContext.Configuration))
                .ConfigureServices((hostContext, services) =>
                {
                    services
                        .AddHostedService<ExtendedProgService>()
                        .Configure<MQSettings>(configurationBuilder.GetSection("MQSettings"))
                })
                .Build().Run();
Run Code Online (Sandbox Code Playgroud)

appsettings.json 的 serilog 部分如下所示:

  "serilog": {
    "Using": [ "Serilog.Sinks.File", "Serilog.Sinks.Console", "MyApp.Cloud.Serilog.MQSink" ], …
Run Code Online (Sandbox Code Playgroud)

c# code-injection serilog ilogger

8
推荐指数
1
解决办法
5899
查看次数