Posts

Showing posts from October, 2015

Preventing Cross-Site Request Forgery (CSRF) Attacks in ASP.NET Web API

Cross-Site Request Forgery (CSRF) is an attack where a malicious site sends a request to a vulnerable site where the user is currently logged in Here is an example of a CSRF attack: A user logs into www.example.com, using forms authentication. The server authenticates the user. The response from the server includes an authentication cookie. Without logging out, the user visits a malicious web site. This malicious site contains the following HTML form: <h1> You Are a Winner! </h1> <form action = "http://example.com/api/account" method = "post" > <input type = "hidden" name = "Transaction" value = "withdraw" /> <input type = "hidden" name = "Amount" value = "1000000" /> <input type = "submit" value = "Click Me" /> </form> Notice that the form action posts to the vulnerable site, not to the malicious site...

Executing PowerShell scripts from C#

Image
Please refer the original post from here http://blogs.msdn.com/b/kebab/archive/2014/04/28/executing-powershell-scripts-from-c.aspx I n today’s post, I will demonstrate the basics of how to execute PowerShell scripts and code from within a C#/.NET applications. I will walk through how to setup your project prerequisites, populate the pipeline with script code and parameters, perform synchronous and asynchronous execution, capture output, and leverage shared namespaces. Update 8/7/2014 : Here is the downloadable solution file. Update 11/5/2014 : Added a section on execution policy behavior. Prerequisites: First, ensure that PowerShell 2.0 or later is installed on the system you are developing on. The features used below will not be supported on PowerShell 1.0. Next, start by making a new console application (targeting .NET 4.0) in Visual Studio. In the solution explorer, add a project reference to the System.Management.Automation assembly * . On my machine (PowerShe...

How to create custom attribute in web.config

1. Add a class file in AppCode with any name and add the following code -------------------------------------------------------------------------- public class FeedElement : ConfigurationElement {     [ConfigurationProperty("Key", IsKey = true, IsRequired = true)]     public string Key     {         get { return (string)this["Key"]; }         set { this["Key"] = value; }     }     [ConfigurationProperty("Value", IsKey = true, IsRequired = true)]     public string Value     {         get { return (string)this["Value"]; }         set { this["Value"] = value; }     } } [ConfigurationCollection(typeof(FeedElement))] public class FeedElementCollection : ConfigurationElementCollection {     protected override Configura...