我认为安全测试人员收集有关 Web 应用程序如何工作以及最终使用哪种语言编写的信息是基础。
我知道 URL 扩展、HTTP 标头、会话 cookie、HTML 注释和样式表可能会泄露一些信息,但它仍然很难且不能保证。
所以我想知道:有没有办法确定网站背后的技术和框架?
我认为安全测试人员收集有关 Web 应用程序如何工作以及最终使用哪种语言编写的信息是基础。
我知道 URL 扩展、HTTP 标头、会话 cookie、HTML 注释和样式表可能会泄露一些信息,但它仍然很难且不能保证。
所以我想知道:有没有办法确定网站背后的技术和框架?
如果您无权访问服务器,则无法 100% 确定,因此只能猜测。这里有一些线索:
login.php
很可能是 PHP 脚本。X-Powered-By: PHP/7.0.0
意味着页面是由 PHP 呈现的。Warning: Division by zero in /var/www/html/index.php on line 3
以 PHP 为例。CREATOR: gd-jpeg v1.0 (using IJG JPEG v90), default quality
,这可能有助于猜测使用的是哪种语言。/
和/index.php
是否是同一页。/humans.txt
和您可能还想知道该网站是使用框架还是 CMS 构建的,因为这将提供有关所使用语言的信息:
/wp-content/
目录中,则表示已使用 WordPress。请注意,来自服务器的所有信息都可能被篡改以欺骗您。您应该始终尝试使用多个来源来验证您的猜测。
为了猜测编程语言,您可以按照下面详述的三步方法进行操作:
在底部的网站页面上搜索以下短语:
->
"由 XXX 提供支持"
->
"由 XXX 自豪地提供支持"
->
"在 XXX 上运行"
->
...
在网站上搜索它是否会参加任何可以从技术角度谈论网站的会议
阅读浏览器下载的 HTML 代码
启动Network Tab
开发人员工具栏并研究浏览器和服务器之间的交换。
搜索一些已知的隐藏页面:
wget -head http://the-site.com/private/admin
如果您获得 200,则该站点可能运行在公开(免费、付费等)可用的软件上。
您可以查找网站产生的一些错误。
在搜索引擎中输入的一些关键字:
您甚至可以猜测后端使用的技术:
查找网站行业流行的技术
找出竞争对手正在使用的技术
查找该网站与其他竞争对手的比较。
这些比较可能会谈论正在使用的技术
这些网站可以为您定位的网站提供很好的信息。他们可能已经为您完成了部分工作。
http://w3techs.com/sites
=> 输入您要定位的网站的网址,然后查看已检测到哪些技术(客户端或服务器端)。
请注意,该网站必须在前 1M Alexa 排名中。
http://stackshare.io/search/q=<keyword >
=> <keyword>可以是任何公司名称、网站名称等
您在步骤 1中找到的证据可能是错误的,因为网站所有者可以更改它们。试着找出这些证据之间的矛盾。排除矛盾的证据。
合并步骤 2中各种来源和您的证据之间的证据。再次排除矛盾的证据。
在下表中恢复所有发现。
+-------------+-----------+------------------+ ... +----------+-------+--------+
| EVIDENCES | ON SITE | Search Engine 1 SOURCE n SCORE PCT (%)
+-------------+------------------------------+ ... +----------+-------+--------+
| PHP 7 | X | X | X | 3 | 300/n
+-------------+------------------------------+ ... +----------+-------+--------+
| Wordpress | | X | X | 2 | 200/n
+-------------+------------------------------+ ... +----------+-------+--------+
...
+-------------+------------------------------+ ... +----------+-------+--------+
| EVIDENCE m | | | | | (100*SCORE)/n
+-------------+------------------------------+ ... +----------+-------+--------+
最后,您可以说“我有 XX% 的信心认为该网站在 YY 上运行(证据 i)”。
除了 Wappalizer 浏览器扩展之外,还有几个网站可以检测给定网站的技术支持: