Web安全-伪静态网页
初步認識
“偽靜態”顧名思義就是一種表面上看似是靜態網頁(以.html、.htm等結尾),不存在任何的數據交互,卻其實是動態網頁,存在數據交互的網站,具有這種特性的網頁被稱為“偽靜態網頁”。我們看到的偽靜態網頁其實是經過處理的,將動態網頁的id等參數通過URL重寫來隱藏,讓查看者以為是靜態網頁。
在平時的測試過程中我們經常會看到這樣一類奇特的地址:http://xxx.xxx.xx.xx:xxx/test.php/id/1.html (原型一般為:http://xxx.xxx.xx.xx:xxx/test.php?id=1 )。像這種類型的網址URL,往往是一種偽靜態網頁,遇到這種情況可以直接對".html"之前的參數加“'”進行判斷是否存在注入!
實際案例
大家都熟悉動態網站的SQL注入了,網上有很多資源。下面看看一次偽靜態網頁的注入點查找——手工注入判斷(和動態注入判斷方法一樣):
1、正常頁面顯示,如圖:
2、在網址加上" ' ",網頁不正常顯示,如下圖:
3、在網址加上" and 1=1 “,網頁正常顯示,如圖:
4、在網址加上” and 1=2 ",網頁不正常顯示,如圖:
由此可知該網頁為偽靜態網頁,存在SQL注入。
辨別方法
如果看到一個以.html或者.htm結尾的網頁,此時可以通過呢在在地址輸入框中輸入:javascript:alert(document.lastModified),來得到網頁最后的修改時間,如果得到的時間和現在時間一致,此頁面就是偽靜態,反之是真靜態;因為動態頁面的最后修改時間總是當前時間,而靜態頁面的最后修改時間則是它生成的時間。
實際意義
什么時候網站需要采用偽靜態功能呢?
偽靜態的利與弊
當然猶如一篇文章的作者所說的:"如果流量稍大一些使用偽靜態就出現CPU使用超負荷,我的同時在線300多人就掛了,而不使用偽靜態的時候同時在線超500人都不掛,我的IIS數是1000?!?/p>
確實是這樣的,由于偽靜態是用正則判斷而不是真實地址,分辨到底顯示哪個頁面的責任也由直接指定轉由CPU來判斷了,所以CPU占有量的上升,確實是偽靜態最大的弊病。
我們應該選擇偽靜態還是真靜態?
1、使用真靜態和假靜態對SEO來說沒有什么區別;
2、使用真靜態可能將導致硬盤損壞并將影響論壇性能;
3、使用偽靜態將占用一定量的CPU占有率,大量使用將導致CPU超負荷;
4、最重要的一點,我們要靜態是為了SEO。
所以:
1、使用真靜態的方法可以直接排除了,因為無論怎么生成,對硬盤來說都是很傷的。
2、既然真偽靜態的效果一樣,我們就可以選擇偽靜態了。
3、但是偽靜態大量使用會造成CPU超負荷。
4、所以我們只要不大量使用就可以了。
5、既然靜態只是給SEO看的,我們只需要偽靜態給SEO就行了,不需要給用戶使用。
6、所以我們只要在專門提供給SEO爬的Archiver中使用偽靜態就可以了。
總結
以上是生活随笔為你收集整理的Web安全-伪静态网页的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php boolean 全大写还是全小写
- 下一篇: php双引号解析漏洞