How to find out what programming language a website is built in?
And other Qs like these ^ .
Shortly: It would seem that at least in terms of web app development, we want to disclose as little information to the attacker as possible.
- Attackers want to determine the platform our web app is running on, but we want to trick them into believing it's a different platform than it actually is;
- We are advised to switch debug mode off because detailed exception info might leak portions of the source code of our app (not the platform's);
If we open-source our web app's server code, we willingly hand everyone these very pieces of information that the questions I linked to discuss how to hide; and even more information than that.
It would seem, therefore, that open-sourcing the app is one of the last thing one would want to do.
This is surprising to me because:
- Some think open-sourced apps are safer because more friendly eyes may look at the code, looking for exploitable bugs and submitting patches;
- Not open-sourcing the app because of aforementioned issues is security through obscurity, which is bad.
However, according to @Mason Wheeler's comment on this site:
I think that, if even a security tester can't figure out what language the site is built in, that makes it more secure because then no one will know which exploits to try. (Yes, there are occasionally valid use cases for security through obscurity.)
Therefore, is it agreed upon that open-sourcing the server-side code of a web app is a horrible idea?