The History of Webshell

Way back when, once upon a time, webshell meant a product. It was like having a shell for the web, one that you could buy.

Positive Software sold WebShell 2.2 in November 1998, as a browser application to manage files on your website. The oldest saved copy of the company site advertises it as a finished commercial release. Version 2.2 wasn’t the first, meaning that product name was already in use before the archive captured it the first time.

Today that word never seems to mean ordinary commercial software sold to people running web servers. We now speak of the almost complete opposite. It assumes unauthorized attackers have left scripts on servers they have cracked into. And yet, a harmless product name was in use for at least four years before anyone started calling it an attack method.

To be fair, the history of the web and shell both run a long time before webshell. So we should pay tribute to the roots.

First, however, look at the tools often cited as webshell origins, related to the rise of PHP in the early 2000s. c99 and r57 are the attack scripts of the mid-2000s. Each carries a date in its own code. r57 came from the Russian group RST, which was publishing by 2003, and the tool is attributed to 2004. c99 gives its author as tristram of the Captain Crunch Security Team, and carries a version history running back to November 2004, eight months before its download page was archived on ccteam.ru in July 2005. These groups were naming their tools with a technique that wasn’t new.

To put it another way, attackers wanted admin-level authorization. They wanted the same tools that admins already had, without the authentication step. Martin Geisler released PHP Shell by 2000, the year in its own copyright header, which ran commands on a web server through a browser. His own notes call it a stand-in for a telnet login, for maintaining your own site. Ugh, telnet should give you a clue about the level of security awareness back then. Rohitab Batra released CGI-Telnet, the same thing in Perl, and it was on his site by April 2001. Both were written and described as administrative software. You know, the thing telnet was terrible for because it was cleartext.

The capability for a webshell actually goes all the way back to the NCSA web server of 1993, which introduced the Common Gateway Interface, which let a web page run an outside program, and Server-Side Includes, which ran a shell command and placed its output into the page. Running commands on a server through a web request was possible in the first year the web had servers. The phf flaw, usually dated to its loud 1996 warning, was the widespread abuse of something the web was known to be doing to itself three years earlier.

And that brings us back to the roots, that running commands on someone else’s machine is old. The tool known as rsh (remote shell) shipped with Unix in 1983 and, as the name suggests, ran commands on another computer across a network. A webshell is just that, a shell running over the web, and really should have been named wsh, or at least websh.

The shell itself? It goes all the way back to 1965. Louis Pouzin coined the word at MIT for the command language of Multics, at the turn of that year. It’s worth looking at three things he came up with. He built the shell as an ordinary program rather than part of the operating system, which means anything able to reach it can hand it commands. He deliberately made a typed command and a stored program interchangeable, each able to stand in for the other. And he took his handling of commands and their arguments from earlier work by Christopher Strachey, inheriting the problem of quoting: deciding which characters in an input are data and which are instructions to be carried out.

Let me repeat that last thought. Data and commands are mixed. Every command injection since that decision has been a failure of that concept. He would have known better, had he studied the history of information security.

So in terms of priors, the webshell was something to make the first two work exactly as designed in the 1960s, using a new protocol thirty years later. Perhaps here’s a way to illustrate it:

Date Form Where What it shows
1998-11 WebShell 2.2 psoft.net commercial file manager; oldest saved copy, name already older
2000-03 WebShell freshmeat the same product in a software directory
2003-01 Webshell SecurityFocus BID 6527 a hosting panel feature of that name, in a security bulletin
2003-01 Webshell xfocus, translated the word carried into Chinese, still a product name
2003-05 webshell xfocus articles lowercase and unexplained, while describing an attack
2003-11 webshell xfocus the word explained as a mechanism
2005-04 webshellv001.rar xfocus tools the word as a filename

To expand on those latter exciting bits, in January 2003 a security bulletin reported a flaw in a web hosting control panel with a feature named Webshell, and a Chinese security site translated that bulletin the same month. In both the word is capitalized and names a product. By May the same site used it lowercase and unexplained, in the middle of technique: upload a webshell, and write the webshell onto the target. By November a writer was explaining the mechanism in the same terms, that calling the file in a browser is what forms a webshell. By 2005 it was a filename, webshellv001.rar, and one item in a list of ways into a server, beside telnet.

Oh, telnet, thank god you’re gone.

The January bulletin and the May usage seem like a collision or the same thread. They are not, and reflect two different words. January gives the H-Sphere product, capitalized. May gives the ordinary term for an attacker’s script. That suggests the use of webshell as an ordinary term can be dated to that spring.

Technically, as one would expect, the Chinese hackers had worked with the remote shell over the web technique well before they adopted the English word. They wrote about 网页木马, web page trojan, on the xfocus forum from 2002. They ran ASP木马 and the 海阳顶端网 trojan, and that tool’s own site lists its versions, 第一版 and 2003版 among them, using the word webshell exactly nowhere. The technique wasn’t being labeled webshell yet.

I did find an interesting exception, on one of my favorite platforms ever. An account named quack described breaking into an IRIX server on xfocus, on a page dated August 2000, and used “web shell” in the attacker’s sense: the way he ran commands through the website before obtaining a proper shell. The saved copy dates from 2003, but I couldn’t find one earlier, so the 2000 timeframe is based on that later capture. Arguably that’s the earliest possible use, while I sit with the first confirmed use of the word in May 2003.

All that is to say Phrack ran seventy issues between 1985 and 2021 and never seemed to adopt the term. I queried nearly 1,000 articles and found webshell zero times. That contrasts with 2,730 lines that mention shell. Thirty-six years and not a drop.

So there’s the history. A commercial admin tool, a web-based file manager sold in 1998, carries the earliest use of the term anyone has found, and years later attackers picked it up to describe the same thing without authorization. The Chinese hackers between 2003 and 2005 are where the word settled into use as an attack method. The tool is in fact a nod to the shell designed in 1965 being reached over the web.

marcant Exposes AfD Nazism by Offering Them a Microphone

Here is another banger investigation by marcant of the German Nazi (AfD) Party, which is basically just letting them expose themselves as the hate platform.

For those who don’t speak German:

Holocaust Denial and Antisemitism

20:02

That the Nazis murdered very many Jews, I wouldn’t say that.

20:26 to 20:35, marcant tells them “over six million”

No, that’s not true. It was two million.

20:41, marcant asks for his source

The news. But not the lying press.

Lying press is a Nazi slogan.

21:04

Two million, maximum.

21:20

We’re living in today’s time now, not in the Jew-time.

Jew-time for the AfD was when?

21:24

What was done to people during Corona, that’s history, from then until now.

41:55 to 42:07, asked “Did the Holocaust happen?”

Are you trying to fuck with me? Dude, what’s wrong with you? Are you a Jew or what?

Are you a Jew, as a reaction? Welcome to the AfD.

Nazi Era and Colonial Apologia

2:43 to 2:54, asked what Germany did in Africa under the Kaiser

Germany didn’t commit any invasion.

3:02 to 3:12

I stand by that history. From 1871 until today.

3:21 to 3:37, asked about 1933 to 1945, then why it should be rejected

Not good. I don’t reject it. It’s history. It’s German history. I don’t entirely reject [1933 to 1945]. I wouldn’t call it a negative history.

There it is. The AfD saying out loud that time under Hitler wasn’t negative.

3:45 to 4:20, asked what was positive about it, then who changed Hitler. He never says the name.

The transformation of that one by the SPD. Probably the mayor of Vienna, who had great influence on him. Dr. Karl Lueger. I can only recommend it. Clears a lot up.

29:48 to 30:02

Who dropped the bombs on Dresden? Not the Germans. You need to engage with history and go into detail.

More like who caused Dresden to be bombed. The answer is Hitler.

Slurs

4:20 to 4:29, on the Greens

That filthy scum.

33:14 to 33:22

The Left are criminals. They’ve proven it. Wall shooters and all. And you’ve got such “Kanake” in there with you.

German sailors and colonial administrators in the Pacific adopted “Kanake” (Polynesian word for human) in the 19th century to mean (tan skinned) laborers from islands, which by the 1970s became a racist insult to mean “non-white” laborers being imported to rebuild Germany (Turkish, Arab, Middle Eastern, or southern European).

Violence Against Children

12:14 to 12:27, on AfD MEP Arno Bausemer, alleged to have hit a 14-year-old in the head with a baseball bat in Stendal, now under LKA investigation. Asked if that was disproportionate.

The children need to know what they’re allowed and not allowed to do. I don’t see it that way. You know what my grandma always said? When children don’t know what to do, they’re like a plant. They have to be tied up so they grow straight.

Children have to be tied up to prevent them learning. Welcome to the AfD.

Fascism Inversion

8:23

When CDU, SPD, Left and Greens join together, that’s fascism.

Joining together to collaborate is the literal opposite of a uni-party fascist system.

9:44 to 9:52, asked why Ukraine is fascist

Our government supports Hitler-fascists in Ukraine who tattoo swastikas on themselves.

Have they not noticed Twitter is now branded as a swastika?

10:17

Left-fascist, rainbow-fascist, and worst of all the finance-fascists. That’s the CDU.

Finance fascists? The AfD targets the CDU tactically, to out-extreme the extremists.

45:33 to 45:42, on Merz

BlackRock-infested, the whole lobby behind him.

Russia

39:38 to 39:43, asked who attacked whom

Putin had his justification.

37:49, evidence that Ukraine is safe now for deportations

I know a Ukrainian woman in Kyiv who parties every weekend.

39:18 to 39:28, on Zelensky requesting aid

I’d rather die than be a beggar like him for money.

Deportation

Speaker is 13 years old, blurred in the video.

25:47 to 25:55

You shouldn’t bring all the foreigners into the country, or war refugees. Because most foreigners just cause trouble here.

48:16 to 48:37

The ones who just come here, only cause trouble, rape women, should be deported, or not let in in the first place.

48:53 to 49:20, asked whether his Ukrainian classmate should be deported even if that means being killed by a missile

Yeah, really. Sure, it’s not nice for him to be killed, but he offers our country nothing.

Threats, Harassment, Smears

5:20 to 5:28, after marcant says he was bullied for years at school

I bet they tied a sausage around your neck at school so anyone would play with you.

14:34 to 15:17

Get lost. When I see you, you have to get aggressive. You’re an idiot. You’re nuts. Get lost. With us you’ve got no chance.

50:58 to 51:02, rival streamer on camera, after marcant spoke with the 13-year-old

I just want to document that marcant has a weakness for interviewing little children.

54:27 to 54:33

Come here, say it to my face. If you dare.

“AI Own” and the Techbro Dream of Plantation Life

The plantation was the original demonstration that total ownership and total incapacity coexist. If you think that history clue sounds a lot like today’s techbro fascination with AI, then this post is for you.

A new post called “Everything I own, owned” is worth a critical assessment of what drives the author and how it reflects the state of risk management in society.

Source: schlarpc “Everything I own, owned”, August 23, 2026

First, reflect on how the slave plantation owner held absolute legal dominion over land, buildings, people. He could not plant, could not harvest, could not repair, could not cook his own food. Every practical competence lived in the people he kidnapped, raped and held hostage. Travelers’ accounts of the antebellum South repeatedly note decaying great houses, exhausted soil, deferred maintenance everywhere. Dominion without stewardship produces negligence and decay as its normal condition.

Source: Internet image search for disgusting relics of slavery excesses and owner negligence. “Nutt’s Folly” was being built by workers and craftsmen who left to join the Union army, defend the country against the Slaveholder Rebellion

Second, reflect on the fear of the Plantation owner. The master feared his own property. Slave revolts, poisoning, arson. The entire apparatus of patrols and pass laws existed because ownership of what you cannot understand and did not build is a permanent state of anxiety. The plantation owner claims mastery, while having nothing to back it up.

When you read the “I own” post, you find a voice of someone who declares himself dominant over the monitor, refusing and denying its “popup” for self-care, yet afraid to touch it himself. He claims he is doing the reverse engineering work, while it really is a prompt for AI and he is entirely dependent on the machine that did it. The fear is structural, produced by the gap between what he insists he commands and what he actually comprehends.

“Are we the baddies?” Source: Mitchell and Webb sketch in which Nazi officers realize they are not the good guys.

Third, reflect upon the Plantation accounting system. It recorded the estate as the owner’s achievement. Bales produced, acres cleared, all credited to the man who directed. The “I own” post says the GitHub repos fill with “generated-slop docs” credited under his name, where the churn hours are tallied like labor extracted, the usual byline on a false mastery narrative. The system that erases the laborer from the output is what seems to be left intact 160 years after the Slaveholder Rebellion was lost. When you know history of 1800s American “management” practices, here we see only the laborer has changed.

The post’s actual argument, stripped of the framing, is simply this: I told a machine what I wanted, it produced artifacts I mostly validated against real hardware, and now I’m worried other people will do the same thing maliciously.

Ok, so that’s a legitimate observation trying to elevate himself as dangerous by discovery, a form of self-loathing popularized in superhero comics. Who should have the power of Beowulf, strength of 30 men in one hand? However, this is different because the “Everything I own, owned” title transforms directed labor into personal mastery, which is precisely the ideological move that invokes plantation logic and makes it invisible to the person performing it.

The plantation owner doesn’t understand cotton or corn mash at the level the labor does. He understands command. He mistakes the power to direct for the competence to produce. Then he takes ownership of the output and writes about what he accomplished. Therefore the post title belongs to the agent. He specified goals. Claude did the reasoning, the tool use, the cross-validation, the documentation, the patch generation. This guy says he typed “keep going” and such 98 times and then called it his agent-driven research.

Here’s more detail on a specific example. He rejects his monitor manufacturer’s authority, from actual engineers who actually understand OLED degradation, and instead practices unexamined authority over Claude, whose outputs he also won’t fully trust. He’s too afraid to flash the patch. So he rejects the expert, says he commands the labor, and then can’t use his “own” product.

Source: Antislavery Almanac, 1840

My ASUS ROG Swift PG42UQ monitor was actually where I started, because I got annoyed at the pop-up overlay that comes up every once in a while that tells me to run “pixel cleaning”. I have never intentionally run pixel cleaning on this monitor and I never will, I don’t care, and I would like for that overlay to go away forever. […] The pixel cleaning warning turns out to have no native way to disable it, and it’ll always show up after 8 hours of runtime. Oh well. Claude did find the appropriate area to patch to kill the functionality though. I haven’t actually been brave enough to write a modified firmware to the thing yet – it’s a pretty expensive monitor – but I’ll get there at some point.

I feel like I’m reading an Plantation owners guide to making bourbon, forcing a black man to figure it out and distill faster, where the ignorant Slaver even says he’s afraid to drink his “own” drink.

Source: Jack Daniel

He believes he has maximized freedom from constraint (no pixel cleaning, no vendor tools, no authority over his hardware) and yet he hasn’t achieved the actual capacity to act effectively. His monitor is now neglected and governed by nobody. Not the manufacturer, not him.

Negative liberty is being mistaken for positive liberty.

There’s a Dunning-Kruger smell to this, where he has enough knowledge to feel confident rejecting expert guidance, and not enough to act on his own alternative. The reverse engineering process gives him procedural knowledge (how the firmware works), which he mistakes for the actual level of institutional knowledge embedded in the pixel cleaning feature. Years of OLED panel engineering and failure-mode data ignored, because of ignorance.

That’s someone craving epistemic autonomy without working to reach epistemic competence. He performs the dance of Enlightenment (reject received authority, reason from first principles) and stops far short, before the discipline that makes his moves legitimate. The Enlightenment actually demanded rigorous self-examination and accountability for conclusions. He substitutes automated, routine technical procedure for the discipline of thinking. Oh, the irony of becoming a useless cog while claiming to own the machine. Running reverse engineering tools is not even close to the same as understanding what the manufacturer knows about long-term OLED degradation, let alone electronics maintenance.

His github repo also shows pinned work with ATF Form 5320.23 generator (NFA firearms transfer paperwork), reverse engineering RH25 thermal weapon optics, and “rof-gui — Quantifies your dakka” (rate-of-fire measurement).

In conclusion, a graduate of North Carolina State University offers danger through a presence that withdraws accountability. He calls himself the “100% snowman” and ends “Everything I own, owned” with a melting face. The snowman melts in cheerful dissolution, like an invisibility privilege: I did something alarming, you should be afraid of it/me, shrug, melt.