查看this login page,具體來說,標有「退回成員」一節中的表格。正如您可以通過查看HTML或使用Firebug等工具進行驗證一樣,實際表單包含四個標籤:電子郵件地址和密碼各一個,名爲「memberAlready」的不可見輸入包含值「yes」,和一個圖像形式的提交按鈕。到目前爲止,完全通用。但是,如果您在提交表單的位置檢查表單數據(在另一個瀏覽器上使用Tamper Data或其等效方法,則會看到另外兩個表單字段已被潛入響應中:ACTION(loginCheckout ).x和ACTION(loginCheckout).y。Mystery .x和.y表單字段 - 這些是從哪裏來的?
它們都有兩位數的整數值,這表明它們只是用來驗證提交者是一個真正的瀏覽器而不是機器人。在某種程度上涉及到提交按鈕,它的定義如下:
<input type="image" name="ACTION(loginCheckout)" value="Login" src="/images/login/login.gif">
什麼confusi對我來說,即使在瀏覽器中禁用了JavaScript,這些額外的表單域也會出現。所以他們可能不只是某個事件處理程序插入的東西。此外,如果以編程方式提交表單(例如,通過在JavaScript控制檯中運行document.forms [1] .submit()),則額外字段不會生成,並且登錄嘗試失敗。這表明插入字段取決於基本的HTML表單提交機制之外的東西。但是,如果它不是JavaScript,那麼這個「東西」可能會是什麼,我不知道。
有沒有人認識到這種模式或有理論如何驗證字段被插入?
謝謝 - 我希望我能接受這兩個答案。 – GSnyder 2012-04-12 04:02:41
沒問題,很樂意幫忙。 ;) – 2012-04-12 23:37:22