題
在瀏覽器中瀏覽了網頁之后,下一步就是查看其HTML源代碼。盡管這種方法很簡單,但仍然非常值得去做。查看源代碼有兩項作用;它可以幫助你發現最明顯的安全問題,但最重要的是,它使你能夠為將來的測試建立一個比較基準。對攻擊失敗之前和之后的源代碼進行比較,你就能夠調整你是輸入,了解到哪些通過了,哪些沒有通過,并再次嘗試。
解決方案
我們推薦使用Firefox,你已經在2.1節中學會了它的安裝。首先瀏覽應用中你所感興趣的網頁。
右擊,并選擇“查看源文件”或從菜單欄選擇“查看”→ "源文件"。
我們推薦Firefox的主要原因是因為它的彩色顯示。如圖3-1所示,使用這種顯示方式,HTML標簽和屬性都要容易理解得多。相比之下,Internet Explorer在記事本中打開網頁。就會難讀得多。
討論
作為比較基準,訪問HTML源代碼會非常有幫助。最常見的Web漏洞涉及到向Web應用提供惡意輸入以修改HTML源代碼。在測試這些漏洞時,驗證測試通過或失敗的最簡單的方法就是檢查源代碼是否被惡意更改。
當心一切未經更改就寫進源代碼中的輸入。我們將在第8章討論輸入驗證,然后許多應用根本就不對輸入進行驗證。在開始討論更加復雜的內容之前,不妨在源代碼中搜索你剛剛提供的輸入。然后,使者將可能的危險值作為輸入,比如HTML標簽或JavaScript,并注意它是否未經修改就直接顯示在源代碼中。如果是這樣的話,那么這就是個警示信號。
注意,你可以像搜索任何其他Firefox頁面那樣搜索HTML源代碼(根據具體情況,使用Ctrl+F或(Windows徽標鍵)+F)。
在以后的秘訣和章節中,我們將使用工具來自動搜索、解析和比較源代碼。記住基本要點;通常,可以通過重復地手動檢查源代碼以檢查怎樣做才能使它通過篩選程序或編碼找出漏洞。
注意:你在這里看到的靜態源代碼不能反映JavaScript或AJAX功能所做的任何更改。
搜索微信公眾號:TestingStudio霍格沃茲的干貨都很硬核
天是劉小愛自學Java的第78天。
感謝你的觀看,謝謝你。
話不多說,繼續前端之CSS的學習:
其中在頭條搜索中也有很多關于CSS的干貨教程,專業又詳細,點擊下方卡片搜索“CSS”了解更多
CSS,全稱是Cascading Style Sheet,翻譯過來就是層疊樣式表。
它有一個非常厲害的功能,就是美化網頁。
本質上HTML也可以美化網頁,但是CSS更加地強大,可以實現很多HTML不能實現的功能。
CSS有一個核心標簽叫style,也就是樣式的意思,CSS本身也就是可以設定各種各樣的樣式。
用一個例子來說明:
<style>標簽,放在<head></head>標簽里面。
①h1的美化
如果純用HTML,是沒法對標題進行顏色設置的。
但使用CSS,就可以對標題進行各種樣式的設置,上圖只舉了顏色這個例子。
②字體的美化
字體是可以在HTML中設置屬性的,比如顏色(color),比如大小(size)…
而CSS等于是將這些屬性抽取出去了,專門放在<style>標簽中了。
這樣有什么好處?
降低耦合度,分工更加地明確,CSS專門用來美化,HTML專門用于結構搭建,如果想設定格式,指定CSS就好了。
這個就有點類似于Java中方法的封裝,或者說經典三層架構。
Service層專門負責具體的業務邏輯,Dao層專門負責數據庫的查詢,Service想訪問數據庫,調用Dao層就好了。
CSS一共有三種引入方式。用例子說明:
①行內樣式
直接在標簽中添加style屬性,也能起到引入CSS的效果。
但是為了降低耦合度,一般在HTML主干中只搭建結構,設定樣式專門交給CSS來做。
②內部引入
也就是一開始的那個例子,sytle標簽是放在head標簽中的。
除了這兩種,還有一種外部引入方式:
③外部引入(一)
可以自定義一個CSS文件,在里面寫自定義的樣式。
然后在HTML文件中使用style標簽引入該CSS文件即可,其中引入格式如下:
@import+CSS文件路徑。
和Java中的導包很類似,文件路徑中的“..”表示回到上一層。
④外部引入(二)
除了使用style外,還可以使用link標簽外部引入:
關于這三種引入方式的優先級:
行內引入是最優先的。
內部引入和外部引入,就看哪個離HTML文件主體近(就近原則)
選擇器的作用在于:可以幫我們從頁面上獲得對應的標簽。
其中有最基本的三種選擇器:
①id選擇器
格式為:#+id名{}
關于id我做了個測試,發現不能用純數字,老實說我還挺奇怪的,一般id不都是純數字么。
就當是CSS的命名規則好了,不能是純數字,否則沒有作用。
其中id選擇器是唯一的,也就是一個id在一個HTML文件中只能有一個。
②類選擇器
格式為:.+類名{}
類是可以有多個的,比如同樣是font標簽,相同的id只能有一個,但是相同的類可以有多個。
③標簽選擇器
格式為:標簽名{}
HTML中是有很多標簽的,可以直接使用過標簽作為選擇器,上圖例子中是font標簽。
關于這三種選擇器的優先級:
id選擇器最大,類選擇器次之,標簽選擇器最小。
這其實也很好理解:
id選擇器最精準,優先級越高(例子中①哪怕也是myClass類,標簽也是font),但樣式還是按照id選擇器設定的來。
除了三種基本選擇器外,還有好幾種選擇器:
①層級選擇器
格式為:div+空格+標簽名{}
標簽與標簽之間是用空格隔開的。
在HTML中有一個div標簽,這個標簽和CSS結合起來很有用。
比如上述例子中,同樣是h1標簽,但是只渲染div標簽中的h1標簽。
②并集選擇器
格式為:div+逗號+標簽名{}
標簽與標簽之間是用逗號隔開的,也就是相當于將標簽選擇器并起來了,同時修改多個標簽的樣式。
③屬性選擇器
格式為:標簽名[屬性名="對應的值"]{}
font標簽中有很多屬性,CSS可以指定其中對應的屬性。
比如size=“3”的才修改樣式,其中哪怕font默認字體size為3,但是沒有寫出size屬性,也不會修改其樣式。
④偽類選擇器
格式為:標簽名+冒號+對應的狀態
所以為什么叫偽類?
并不是修改的某個具體的類修改,而是對標簽對應的狀態進行修改。
其中關于CSS選擇器真的太多太多了,可以查詢W3C官方文檔,如下圖:
這還是我截圖的一小部分,其它的截不下了,一共有幾十種。
想要完全把它學習下來真心需要花一定的時間,但我畢竟還是以學Java后臺為主,對前端只做一個基本的了解。
以后有機會再做做總結什么的,估計也沒什么機會了……
謝謝你的觀看。
如果可以的話,麻煩幫忙點個贊,謝謝你。
家好,我是大澈!
本文約800+字,整篇閱讀大約需要1分鐘。
感謝關注微信公眾號:“程序員大澈”,免費領取"面試禮包"一份,然后免費加入問答群,從此讓解決問題的你不再孤單!
*請認真填寫需求信息,我們會在24小時內與您取得聯系。