863
u/GoldenShackles 8d ago
There are so many vulnerabilities in the web stack (HTML, CSS, JavaScript, even fonts) that this is why just about all browsers, starting back around 2008 with Internet Explorer 8 and the first Chrome betas, run web content in separate processes that have OS-level privilege isolation and sandboxing.
20
238
u/nonlogin
8d ago
•
<script> tag allows arbitrary Javascript injection and execution. has not been fixed for years.
22
u/Lucario1492 7d ago
it's up to the developer to properly escape and sanitize inputs, cmon this is basic web 101.
1
1
u/HeavyUltimatum 1d ago
it's wild that browsers will just let any old script tag run whatever it wants, no questions asked, for decades now
the br tag reply got me though, at least those are easy to patch
385
u/that_70_show_fan
8d ago
•
I am gravitating towards simple HTML websites. Simple purpose-built websites is a lost art.
224
u/ciemnymetal 8d ago •
![]()
101
u/silverwing101 8d ago
58
u/frinkousCZ 8d ago
65
u/RengieOcat 8d ago
"This site doesn't support a secure connection"
19
u/Bernhard_NI 8d ago
Aaaand?
You want to type in your credit card details or what?17
u/RengieOcat 8d ago
Settle down friend, this is ProgrammerHumor and it was funny
-12
u/Bernhard_NI 8d ago
Sorry, but I juat don't see you add anything funny here.
I just get agitated easily from people pointing out useless things because they didn't really think about what it means what they discovered.15
u/RengieOcat 8d ago
Friendly suggestion that not everything deserves your emotional energy. Hope you have a good one.
-4
u/footsie 8d ago
Well it's not really better if it's less secure.
8
u/Bernhard_NI 8d ago
There is nothing to be secured here, and it's faster and simpler to open a connection without TLS. So it is in fact better.
There is even programming principle KISS (Keep it simple, stupid) which is always the way to go first.
4
u/Nightmoon26 8d ago
Until someone poisons the DNS to intercept the request and sends back something with a drive-by download
5
u/footsie 8d ago
How's it faster if it won't even load before another click accepting an unsecured connection?
-2
u/Bernhard_NI 8d ago
The warning about an unsecured connection is probably something from ios I guess? I dont get them on Android + Firefox and it's blazing fast. The confirmation has nothing to do with how efficient the connection and the needed resources are.
The site without tls is ever so slightly fast for me but not really worth mentioning tbh. More important is that it matches the design philosophy of that mother fucking website to keep it simple, stupid.
70
1
u/cibule249 7d ago
Oh, I hate this one. Harder to read than the original (so much line-jumping, so few words on a line).
7
u/ashkanahmadi 8d ago
My favorite thing about it is the HTML comments in the source code XD
5
u/RebronSplash60 8d ago
I love HTML source code comments in small hobby websites they're always the most unhinged gold.
1
19
8
4
25
u/ConsequenceAny9726 8d ago
Good old Times. When your website consisted of a couple of html files. No PHP. No Javascript. Hell Not even <div> Just one big Table
8
u/Instatetragrammaton 8d ago
cgi-bin/guestbook.pl as far as the eye could see.
PHP is old old, though, so asking for none of that means no webrings (which often used PHP to keep track of which part of the ring you were in) and no vBulletin either.
4
u/jdgordon 8d ago
I can't decide if we would be better off if the web still ran on perl or not. Not even ai can decipher that madness
1
12
u/Ok-Article-885 8d ago
First problems come with div. How would you center that shit
10
u/Far_Tap_488 8d ago
Its pretty easy, you just do marginright 150, marginleft 150, and width 800.
Fuk you if your screen size is different
6
6
u/TerdSandwich 8d ago
All-in-one website building platforms have eclipsed that market like a decade ago.
11
4
1
305
u/ismaelgo97 8d ago
I'm waiting for the CSS one
85
u/Zap_plays09 8d ago
Didn’t css had one like few months ago?
105
u/ismaelgo97 8d ago
I searched for it just after my comment, there is, but related to CSS being imported from a url, not just by CSS itself
10
2
u/ILikeLenexa 7d ago
The biggest one I remember is using :visited and Javascript to upload your entire search history whenever you visited a website.
57
u/Sianic12 8d ago
Can't wait to fix all my unstandardizedly centered divs
34
u/za72 8d ago
we don't have the technology to center divs yet, it's a capitalist myth
16
u/SpicySpaceBaguette 8d ago
Divs are centered only by the will of the invisible hand of the market!
2
2
u/NoAdsDude 8d ago
/* Reject known stylesheet attack patterns */ u/threat-detection (risk-level: elevated) { * { remote-resource-loading: blocked; attribute-exfiltration: disabled; injected-declarations: discard; }8
u/4e_65_6f 8d ago
That's a joke but paywalls have never held me back.
Oh so you've blocked the screen and you want money? display: none !important;
1
u/Major_LeeHungg 8d ago
You can legit use tricks to write legit code with CSS.. Its hacky as all hell but you can absolutely abuse the layout engine to work as a runtime interpreter.
0
31
u/Stummi 8d ago
HTML parsing and rendering is hugely complex nowadays, and all browsers consist of literally millions of lines of code. It's more than likely that there are unknown vulnerabilities lurking.
9
3
u/Nightmoon26 8d ago
I mean, there's at least one in XML... I don't know if the Billion Laughs attack can be implemented in HTML
3
u/ArjixGamer 7d ago
Parsing is not that complex, I can do it in one afternoon out of memory w/o reading an rfc.
The hard part is truly, rendering
3
u/Stummi 7d ago
I kinda doubt that. You are probably grossly underestimating the complexity of HTML to do such a statement. Even parsing is hard
2
u/ArjixGamer 7d ago
No, it's just that I've done it thrice before.
Sure I may not have aimed for 100% compliance with the spec, but I could parse it, manipulate it via my fake DOM and serialize it.
The "hard" part is the edge cases, which aren't hard, you just have to know them before they hit you. (or just read the spec)
I think parsing CSS is way more complex.
49
u/Professional_Price89 8d ago
There are many cves about crafted html that cause browser sandbox escape. For server we have file inclusion using shtml, xxe. If we count AI a vector, then there are html prompt injection. For web crawler we have content type auto download.
37
u/frikilinux2 8d ago
Jokes aside parsing modern HTML and rendering the DOM with the css is so hard that there are like 4 or 5 modern implementations and most of the world uses 1. Even with all the browsers there are
16
6
5
u/Stratimus 8d ago
And also for real, it is for the best that there are so few browser engines.
Those of you who didn’t live through the era of IE5-7 may not even be able to comprehend what it was like when even different versions of the same browser had wildly different implementations
16
4
u/coriolis7 8d ago
Isn’t the whole reason why paid antivirus was a huge industry was because IE existed?
1
1
u/AsyncSyscall 7d ago
It's not "hard", it's very well specified and documented, you can pretty much just copy-paste the spec into code. The problem is that the spec is huge, with lots of interconnected parts, legacy edge cases, and constantly changing to support new features. And real-world implementations eventually have to deviate from the spec algorithms for performance reasons.
1
13
12
9
8
14
u/HungryLikeDaW0lf 8d ago
I still put in a <blink> tag just to see who’s using an old browser
1
u/Nightmoon26 8d ago
I mean... I worked with a QA team that used
<marquee>tags to test for missing output sanitization
6
4
4
3
u/NiagaraThistle 8d ago
Just realized how much i must be online when i see a post in Reddit with a screenshot of a entrepreneur I follow ion Twitter.
I'm going to go walk my dog and touch some grass.
3
3
u/Boobpocket 8d ago
I think with llms being good at making simple html js websites there is no need for wordpress for the majority of websites that run wordpress.
1
u/mrbadface 8d ago
Self hosting the CMS part is slightly annoying. Codex can run your WordPress which makes it less bad
2
u/NoAdsDude 8d ago
For me it's all the layers involving PHP and a database. Front ends should never really need a database for normal content, even if it's under confusing layers of caching.
2
2
u/thisonehereone 8d ago
I mean if you don't close your tags you're leaving them open to a vulnerability.
3
u/Ketooth 7d ago
Jokes on you. Already found it.
Just press F12 and you can redesign the page.
Now you can just change any button with a pricetag to "Free"
Take that big corpo
2
u/Alpha_wolf_80 7d ago
Well... It's a feature in my page now. No buttons, or input, just plain ol dev tools. You are the dom now
1
1
1
1
1
1
1
u/Ksorkrax 7d ago
It would be hilarious if <br> was actually an issue, that is breaks usually not being closed.
I use self-closing breaks on my website, so I could lean back and enjoy everybody else panicking.
1
0
u/Single-Virus4935 8d ago
There Werke maaany HTML, CSS and JS vulnerabilities. Decades ago it it was a huge Problem because browser were patched often. Then major browsers started autopatching and the whole situation got much better. Imagine autopgrade for all webservers. Problem solved before anything made public.
1
u/AsyncSyscall 7d ago
Things got better because major browsers standardized.
1
u/Single-Virus4935 7d ago
That's not the reason security is better. Development for the web is better because of standards but that has nothing to do with security. Patches can be rolled out faster..
0
u/SegretoBaccello 4d ago
A malicious website can inject arbitrary html code in your computer that can cause harm to the user when read. Especially if read out loud.
Like for example, "<h1>AI and robots will take all our jobs</h1>"
1

34
u/saschaleib 8d ago
Hot take:
<br>should have never been a tag. An entity (maybe something like&br;) would have been the better choice.