如果有源文件的話,分析的方法有:
1)看文件後綴。如 *.asp,*.jsp,*.php 。不過現在很少有網站會把真實的開發語言用作後綴。
比如我用 jsp 開發,我回故意寫成 *.asp 。這樣服務器可以抵抗壹定的攻擊(效果有限)。
2)可以從語法方面分析,不同語言特有的語法。列舉如下:
jsp:
編譯器指示 <%@ 編譯器指示 %>
聲明 <%! 聲明 %>
表達式 <%= 表達式 %>
程序代碼段/小型指令 <% 程序代碼片段 %>
註釋 <%-- 註釋 --%>
--------------------------------------------------------------------------------
asp :
<% ... %>
五大對象:
request對象
response對象
server對象
application對象
session對象
--------------------------------------------------------------------------------
php:
<?php ... ?>
大量的 $ 符號(語法組成,用來取變量)
--------------------------------------------------------------------------------
妳只要熟悉 asp,jsp,php 很容易就能看出來了(人工方法)。
妳要通過程序去判斷的話(網頁源文件到string webstr;中),我提供的意見是盡可能多的提取 asp,jsp,php 的不同的點(各自的特征),用這些特征在網頁源文件中匹配。匹配到某種編程語言的特征也多,那麽是使用那種編程語言的可能性越大。
匹配的準確率建立在妳提取的不同語言的特征數目。特征數目越高,匹配正確的可能性越高。