通常,Web 应用程序可以呈现它喜欢的任何 HTML。因此,理论上,任何语言都可以呈现相同的 HTML 输出。
但是,我们可以通过一些方法尝试推断服务器端正在运行什么。例如,文件扩展名通常是致命的赠品(尽管它们在技术上可能是伪造的)。由于我在 ASP.NET 方面的经验,我知道我们可以识别 ASP.NET 应用程序的一种方法是在呈现的文档中存在 VIEWSTATE,尽管缺少视图状态并不一定意味着应用程序没有在 ASP 上运行。网
我们可以在服务器上运行一些操作系统/服务器指纹,但总的来说这并没有多大帮助——如今,即使是 Windows 服务器也可以运行相当多的应用程序平台。
还有哪些其他可用的分析技术可以帮助我们确定服务器上正在运行什么?某些语言还留下了哪些其他线索?
如果我们能够更好地理解我们的应用程序留下的工件,可能太小以至于我们没有注意到它们,我们可以通过从输出中删除它们来开始提高我们的安全性。