題
在瀏覽器中瀏覽了網頁之后,下一步就是查看其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霍格沃茲的干貨都很硬核
天給大家帶來一種標準化的橢圓形的搜索框,話不多說,直接放圖。
我相信大家在很多網頁上一定見過這種搜索框,那么這種搜索框到底是怎么做的呢?不要著急,聽我慢慢給您講來。
<form class="message"><input type="text" name="sousuo" class="input" placeholder="冬瓜搜索"/> </form> <a href="#" class="search">搜全網</a>
3. 下來就是用css來美化它了。這里我們會用到boder元素。
4. 話不多說直接放代碼。
.message{position:absolute; left: 600px;top: 16px;} .input{width: 300px;height: 50px;font-size: 15px;padding-left: 20px;border: 1px solid #DCDCDC;border-top-left-radius: 25px;border-bottom-left-radius: 25px;background-color: #F5F5F5;}.input:focus{border-color: #FA8072;outline: none;color: #FA8072; }.search{position:absolute; left: 900px;top: 15.5px;width: 90px;height: 49.3px;border: 1px solid #DCDCDC;border-top-right-radius: 25px;border-bottom-right-radius: 25px;font-size: 16px;text-align: center;line-height: 48px;color: #FFFFFF;background-color: #FA8072;text-decoration: none;}.search:hover{background-color: #F08080;}
5. 在css代碼中有一個關鍵的屬性,那就是border-top-left-radius和border-bottom-right-radius以及其他的相反方向。
小伙伴們看明白了嗎?快去動手試試吧。
Lunr.js是個用于瀏覽器的輕量級 JavaScript 全文搜索引擎。它為JSON文檔建立索引,并提供一個簡單的搜索界面來檢索與文本查詢最匹配的文檔對于一些小型的博客、開發者文檔或 Wiki 網站來說,完全可以通過它實現站內離線搜索:
對于已經將所有數據存儲在客戶端中的Web應用程序,也能夠在客戶端上搜索該數據也是很有意義的。這樣可以節省在服務器上添加額外的壓縮服務。本地搜索索引將更快,沒有網絡開銷,并且即使沒有網絡連接也將保持可用。
目前Github上star數6.6k
https://github.com/olivernn/lunr.js
var idx = lunr(function () {
this.field('title')
this.field('body')
this.add({
"title": "Twelfth-Night",
"body": "If music be the food of love, play on: Give me excess of it…",
"author": "William Shakespeare",
"id": "1"
})
})
然后再像下面這樣
idx.search("love")
這將返回一個匹配文檔列表,其中包含與搜索查詢的匹配程度以及與該匹配相關的任何關聯元數據的分數:
[
{
"ref": "1",
"score": 0.3535533905932737,
"matchData": {
"metadata": {
"love": {
"body": {}
}
}
}
}
]
只需在要使用它的頁面中包含lunr.js源文件。所有現代瀏覽器均支持Lunr.js。
npm install lunr
(翻譯或不夠準確)
在之前的文章中介紹過另一個全文搜索庫FlexSearch.js,感興趣的小伙伴也可以去看一看介紹,在這里也提前祝大家新年快樂,萬事如意,身體健康!
*請認真填寫需求信息,我們會在24小時內與您取得聯系。