不可見(hidden)input標簽觸發XSS


在尋找XSS的過程中,會發現從POST或者URL中參數拿到INPUT中存放,但這些input都是hidden不可見的,通過F12調試,查看構造出來的代碼確實存在點擊事件,但是總是觸發不了

通過網上查詢資料,最總找到使用一個比較高級一點屬性accesskey=""來觸發不可見標簽事件,accesskey是HTML語言標簽中的一個全局屬性

 <input type="hidden" name="" accesskey="x" onclick="alert(/xss1/)">

使用方式:


提示: 各種瀏覽器下accesskey快捷鍵的使用方法:

IE瀏覽器

按住Alt鍵,點擊accesskey定義的快捷鍵(焦點將移動到鏈接),再按回車.

FireFox瀏覽器

按住Alt+Shift鍵,點擊accesskey定義的快捷鍵.

Chrome瀏覽器

按住Alt鍵,點擊accesskey定義的快捷鍵.

Opera瀏覽器

按住Shift鍵,點擊esc,出現本頁定義的accesskey快捷鍵列表可供選擇.

Safari瀏覽器

按住Alt鍵,點擊accesskey定義的快捷鍵.

經過測試,只有FireFox通過。比較遺憾

最總解決方案思路

  • F12 在控制台使用js代碼通過dom定位input
  • 使用js修改input type屬性值為text,然后點擊事件觸發

<input type="hidden" id="xss" value="123"  onclick="alert(/xss2/)">
控制台輸入:
 document.getElementById("xss").setAttribute("type","text");

其實更加高級一點就是將修改屬性的那一步一並封裝到input事件中,就是代碼長了一點

在最近項目中遇到的是代碼中可能使用了某種過濾規則,導致我輸入<>或者(),只要走中間加入字母就會被攔截,無奈使用了跳轉展現出來觸發效果,使用了window.location.href='xxx'


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM