Saturday, May 23, 2009

Yet Another Dark Ass Blog


Every two-bit security hack, has been, and wannabee (like me) has a dark blog. It's edgy. A throwback to those old h@><0r days of dark blue type on a black background and a shitload of pr0n links.

Although, right now, doing a quick Googie against BlogSpot I can't find any. Not one.

Are they turning away from the Dark Side? Could be. They have, after all embraced (barf) FaceBook and Twitter. Every man Jack.

Which brings me to my latest creation: mrhinkydink.wordpress.com

A couple of weeks ago I mentioned my issues with Google Pages. Well, I got tired of waiting for them to shit or get off the pot, so I moved the Proxy Project Notes lock, stock, and proverbial barrel over to WordPress.

Three hours of cut & paste.

When I was finished I noticed they had an import feature.

Dang.

Lucky for me it didn't support Google Pages. Lucky in that I didn't feel like a complete idiot after finding that feature.

But I made a mental note that they do BlogSpot pages because they pissed me off last week. They flagged Murder/Suicide as a "SPAM blog" and threatened to delete it!

How RUDE!

I may use my newfound WordPress skillz to move it over and see what it looks like. Besides, BlogSpot has some idiosyncracies that piss me off (I'm sure WordPress has a few but I haven't discovered those yet).

After all that cutting & pasting I spent another three hours archiving the Google Pages site "as is" on GoDaddy. Now that I have two backups, Google can go ahead and move that site over at will, like they threatened in the first place. If I like the results - and I do believe I won't - I'll leave it.

In the meantime I'll keep hacking away at WordPress.

Saturday, May 16, 2009

Why I Love StreetView



View Larger Map
See the lightpole on the left? It's a killer lightpole.

Some poor woman waiting for a bus got killed when it hit her on the head after a truck knocked it down.

See the bus shelter? Well it was removed sometime between the time the StreetView was recorded and the woman got killed.

Pissed off the local residents (see the KDKA News video).

If that bus shelter had still been there it might not have been fatal.

Awesome stuff.

Saturday, May 09, 2009

A UT Experiment This Weekend


I ran across the "linux32" command the other day, which is supposed to force 32 bit programs to run as 32 bit programs in a 64 bit environment.

From the online descriptions I can't tell if it actually does anything astounding (or at all), but I started up all three ( EXP4, BITCH House, & Classic]i[ ) servers on the AMD64 box with this thing anyway.

Play was smooth, but... what the fuck... it's always smooth for me!

We'll see what happens.

I've been playing as PIG_VIRUS for a couple of weeks now.

See you online.

Happy Fragging!

MySQL ODBC Hell


You can roll your eyes and pass on this one. I don't care.

Like most people, I started using databases after I ran out of rows in Excel. But I passed on Microsft Access. Never cared for it. Can't stand it.

Now, I'm a database abuser, still stuck in that old Excel mindset. What I call a "database" is what most knowledgeable people would call a "Big Fucking Table" (or "BFT"). I cram everything I can into a table and use SQL queries to get what I want out of it. It's a very brute force approach.

The Proxy List is a good example of this. 1.75 million rows of junk gathered over the past year to make a crappy Web page. I do basically the same thing at work and lately I ran into a brick wall with a MySQL BFT that pulls data from multiple MSDE BFTs.

MSDE is the Lite version of Microsoft SQL Server (MSSQL).

The point of this exercise is to mash together a bunch of Little Big Fucking Tables (LBFTs) into one Really Big Fucking Table (RBFT). The actual, real life solution would be to just make one RBFT in the first place, using MSSQL instead of MSDE. The reality is I can't justify the licensing costs for MSSQL so I have to use MySQL instead.

Plus there is a lot of cruft in the LBFTs that I don't need in the RBFT (I don't want a Really Really Big Fucking Table, or RRBFT, because I don't have the disk space). I can ignore all that by writing an SQL query.

So I made a Distributed Transaction Services (DTS) package that used the MySQL ODBC driver to pump the data between the LBFTs and my RBFT.

It worked fine for over a month, or about five and a half million rows. Then it stopped, complaining about running out of memory.

Naturally, I Googled the error.

I found that a lot of people were running up against this problem. I tried every fix posted in every link I could find - usually twiddling settings in the MySQL ODBC driver - but nothing worked.

So in desperation I fired up Wireshark to see what was going on over the network between the three boxes - the MSDE server with the data, the MSSQL server with the DTS package, and the MySQL server with the RBFT - in this process, and I found the answer.

And it was pure stupidity.

In the first step, the ODBC driver pulled the entire RBFT over the network from the MySQL box to the MSSQL server with the DTS package. It would then run out of memory and die.

Well, DUH!

The actual first step of the DTS package is "Get the data from the MSDE server". The second step is "Put the data on the MySQL server". At least, this is how the DTS package is designed.

How it works is something completely different.

With that discovery, I added a temporary, empty BFT to the MySQL database, changed the DTS package to use that instead of the RBFT, and scheduled a cron job to move the temporary BFT to the RBFT. After the move, all the rows in the temp BFT are deleted, cleaning it out for the next run.

No more ODBC "out of memory" issues. For now.

I'm not sure who is to blame here. After all, it is the ODBC driver that ran out of memory. That is a fact. But it is very tempting to point the finger at Microsoft, although they're just the middleman in this transaction. Did the DTS coordinator ask the ODBC driver for the entire table? Or does the ODBC driver always need a full copy of the data it's going to work on, whether you use it in a DTS package or as a data source for an Excel spreadsheet? Is this an issue with ODBC drivers in general?

I don't know. I do know I'm not interested in doing the research to find out the answers to these questions. I just want this shit to work.

When I Googled the problem, very few people were reporting any success with any of the posted solutions.

And nobody ever said "use a temporary table, dumbass".

Tuesday, May 05, 2009

Bahrain: A Year Later


Last year, I reported on a flood of open proxies in Bahrain.

Starting in April, picking up in May, and bursting at the seems in June and July, I found hundreds of open proxies listed by the various proxy lists I raid hourly (I never actually scan for proxies. I collect everything I can find online - usually through Google - test, and report).

Bahrain was awash with open proxies. Then, in August, it stopped.

In the end I had tested almost 17,000 proxies and found more than 2200 open proxies. On closer inspection, most appeared to be public access points or some type of consumer grade router. Nearly all were owned (notice I didn't say "pwned") by Bahrain Telecomm.

One by one, the open proxies eventually went dark and that was that. There were a couple later in the Fall but nothing like June and July of '08.

Today I ran across this article, which states:
Security company Trend Micro, has recently warned that Internet community in Bahrain is at high threat from the rising cybercrime. The security firm has sterilized over a million infected PCs throughout the Middle East during Q1 2009, out of which, 159,228 were located in Bahrain...

Security researchers believe that high Internet use in Bahrain is the prime reason behind the increase in the nation's cybercrime. As far as the figures by Trend Micro are concerned, Internet usage in the country has increased 525%, which indicates that currently 34.8% Bahrainis are susceptible to cybercrime.
Fancy that.