微信功能變數名稱檢測、防封,微信跳轉技術揭秘(一) -- 功能變數名稱檢測原理及防封方案

来源:https://www.cnblogs.com/myron1024/archive/2019/05/14/10863280.html
-Advertisement-
Play Games

背景 一、微信檢測手段 二、功能變數名稱被封常見因素 三、功能變數名稱檢測原理 四、檢測代碼(C#) 五、防封方案 六、參考資料 背景 最近因為業務需要,在研究微信跳轉,功能變數名稱防封檢測等東西,網上搜集了很多很多資料,發現居然這麼簡單的一點東西 居然有人專門做成系統拿去賣錢.. 系統功能就只是個微信跳轉而已,微信跳外部 ...


 

背景

最近因為業務需要,在研究微信跳轉,功能變數名稱防封檢測等東西,網上搜集了很多很多資料,發現居然這麼簡單的一點東西 居然有人專門做成系統拿去賣錢.. 系統功能就只是個微信跳轉而已,微信跳外部瀏覽器  或者瀏覽器跳到微信內..  而且搜出來很多家這種收費的系統,界面都一模一樣.. 真的是無語了。聽說這還屬於灰產... 我把這些弄出來是不是也可以拿去賣錢了?哈哈哈。

 

在網上搜索了很多相關的資料和帖子,發現很多都是大同小異的,原理其實都差不多, 但是搜了很多,它就是不把關鍵代碼和原理告訴你... 也是,告訴你了 還怎麼賺錢呢,哈哈哈.不過既然是做技術的,既然人家不告訴你,那就只要自己研究了。研究了幾天,算是有點結果了。就把所有看過的帖子里例舉出來的原理和方案,以及我自己的總結寫一下。

 

一、微信檢測手段

微信檢測違規的兩個手段:a)系統的自動檢測 b)微信工作人員的人工檢測。
1、人工的檢測重要是源於多用戶投訴舉報,微信後臺有一個警報機制,在多少時間內積累充足的舉報次數,將列入風險名單,對風險名單中 篩出來的,工作人員可能就會介入檢測來確認
2、微信後臺自動檢測(檢測頁面內容、關鍵詞、描述和圖片,URL、IP、友鏈黑名單等等...)

當微信功能變數名稱被屏蔽被攔截後,如下圖,說明已經進入黑名單了

 

二、功能變數名稱被封常見因素

功能變數名稱被封,確實有很多因素,簡單列舉下:

1、功能變數名稱歷史,有過違規記錄,風險名單中的重點高頻檢測。;
2、qq和微信是不同的監測機制,同時兩邊推廣很危險,會被封的很快;
3、網站流量大,微信里有個傳播2000次就被屏蔽的問題,比如分享賺錢的平臺;
4、誘導分享傳播,即使是合法營銷,也會被封;
5、內容 標題 關鍵詞 描述 主體 頁頭頁腳 有風險違規詞的,被系統輪詢測到了;
6、項目競爭大,同行舉報過多,有人開發了模擬人為無限次舉報的軟體;
7、有的是封鏈接不封功能變數名稱,因為是第三方平臺,比如有贊平臺等。
8、 關聯,伺服器 IP 友鏈 鄰居有違規的,重點檢測。
9、圖片,視頻,對於明顯特征或復用度高的違規圖片,系統是能識別的

 

三、功能變數名稱檢測方法

搜索資料的過程中,發現了好幾個說可以檢測的方法,但實際上有的方法已經失效,有的方法效果也不太好:

1、利用微信公眾號介面 生成微信短連接

  看別人帖子里說的檢測原理是:

  1)生成短短鏈接後,程式定期去請求打開地址,判斷是否重定向到 weixin110.qq.com/xxxx 等地址去. 如果重定向過去了則說明基本是打不開了。

  2)還有的是程式請求打開地址,然後用程式識圖 看界面上是否存在紅色大圓點..如果存在則說明被封禁了,需要換個地址重新生成.  大概就這兩種.. 

  這種方式至少看到過兩篇文章說過,但是效果好像都不太理想,有的甚至生成短鏈接後秒封..而且需要微信公眾號操作,我這邊業務不設計到這個,也沒有運營的公眾號,所以沒有深究這個方法。

2、網頁版微信抓包

  此方法意思也就是 通過抓包,抓取打開微信里的鏈接時請求校驗地址是否合法的介面, 但是這個方法我也嘗試過,抓不到介面,正常鏈接跳轉沒有校驗的請求,被封禁的地址 就直接打不開了。後面也試了網上找的其他介面,也無效。

  請求的都是 weixin110.qq.com 開頭的地址.. 但是實際上沒什麼用..比如下麵這個... 點擊就沒反應

  https://weixin110.qq.com/cgi-bin/mmspamsupport-bin/newredirectconfirmcgi?main_type=2&evil_type=20&source=2&url=https%3A%2F%2Fcandy.one

3、“官方”檢測介面

  下麵這個是網上找到的另外一個說是可以檢測地址的介面,看這Url確實像是個檢測地址的介面對吧?呵呵,但是實際也沒什麼用..打開沒反應,不跳轉,頁面也沒有任何輸出..

  https://wx2.qq.com/cgi-bin/mmwebwx-bin/webwxcheckurl?requrl=http%3A%2F%2Fwww.penhot.com

4、可用介面

  http://qbview.url.cn/getResourceInfo?appid=31&url=http://www.wangzhesha.com

  找了很久終於才找到這個可以檢測的介面.. 雖然表現形式上 算不上是真正的API形式吧.. 但是也能檢測出是否有沒有被封禁來。

  後面的url改成你想要檢測的地址,如果沒有被封禁,則會跳轉到目標地址去,如果地址被封禁了,則會在頁面上提示出來。那麼如何用程式檢測出來呢?道理也很簡單,判斷請求響應的結果是否重定向了就行。代碼如下

 

四、檢測代碼

  

 1 [HttpPost]
 2 public ActionResult Check()
 3 {
 4     var url = Request["Url"]?.ToString() ?? "";
 5     try
 6     {
 7         var strUrl = "http://qbview.url.cn/getResourceInfo?appid=31&url=" + url;
 8         HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(strUrl);
 9         httpWebRequest.Method = "GET";
10         // 一定要設置 AllowAutoRedirect 為false,否則如果請求包含重定向,則請求的響應會返回重定向之後的頁面內容...
11         httpWebRequest.AllowAutoRedirect = false;
12         //httpWebRequest.ContentType = "application/x-www-form-urlencoded";
13         HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
14         Stream responseStream = httpWebResponse.GetResponseStream();
15         StreamReader streamReader = new StreamReader(responseStream, Encoding.UTF8);
16         string strResult = streamReader.ReadToEnd();
17         int result = (int)httpWebResponse.StatusCode;
18         // 若302跳轉了則表明功能變數名稱正常, 沒有跳轉說明被封禁了
19         return Content(result == 302 ? "1" : "0");
20     }
21     catch (Exception ex)
22     {
23         return Content("-1");
24     }
25 }

 

利用這個介面,就可以自己寫出一個功能變數名稱檢測的API啦!

 

五、防封方案

1、微信里的入口功能變數名稱最好用備案功能變數名稱。並且要加白名單
2、不要QQ和微信同時用一個鏈接去推廣
3、網站內容 關鍵字、描述 圖片等,不能出現敏感詞
4、屏蔽舉報按鈕(此方法失效,嘗試過,但是對於現在的微信而言沒用.. 還是可以舉報)
5、結合微信超級跳轉技術,利用大站的跳轉漏洞,使用CDN,刪除跳轉來源等等.. 儘可能提高Url在微信里的存活時間,微信跳轉方法和原理詳情請看另一篇隨筆《微信功能變數名稱檢測、防封,微信跳轉技術揭秘(二) -- 微信跳轉揭秘

 

六、參考資料

 

1.http://www.penhot.com/read-study/1732.html
2.https://www.jianshu.com/p/50cefada7cbb
3.https://blog.csdn.net/weixin_44358823/article/details/86551792
4.https://www.orzlee.com/index.php/web-development/2019/01/28/wechat-domain-name-is-blocked-and-automatically-replaced-domain-name.html
5.https://short.huanghanlian.com/p/5cac62d26748ea3010382f4f
6.https://www.cnblogs.com/stumpx/p/10154484.html

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1、封裝類似lower()的函數 2、封裝類似upper()的函數 3、封裝類似find()的函數 4、封裝類似rfind()的函數 5、封裝功能類似isdigit()的函數 6、封裝功能類似partition()的函數 ...
  • day23 01 類的命名空間 一、初識面向對象複習 定義類: class 函數:方法 動態屬性 變數:類屬性 靜態屬性 過程: (1)_init_方法:初始化:def _init_(self,參數) python幫我們創建了一個對象self 每當我們調用類的時候就會自動觸發這個方法 在_init_ ...
  • 隨著動態語言的流行(Ruby,Groovy,Scala,Node.js),Java的開發顯得格外的笨重;繁多的配置,低下的開發效率,複雜的部署流程以及第三方技術集成難度大. 在上述環境 下,Spring Boot應運而生.它使用"習慣優於配置"(項目中存在大量的配置,此外還內置一個習慣性的配置,讓你 ...
  • java中的同步器是指什麼? 哪些類是使用AQS實現的? 分散式環境中怎麼實現同步? ...
  • 零基礎學編程,用python入門是個不錯的選擇。下麵我們就介紹一下0基礎學習Python的技巧和方法。當然,也包括一些學習的心態指導。 ...
  • 1. 前言 我去年寫過一個在UWP自定義控制項的 "系列博客" ,大部分的經驗都可以用在WPF中(只有一點小區別)。這篇文章的目的是快速入門自定義控制項的開發,所以儘量精簡了篇幅,更深入的概念在以後介紹各控制項的文章中實際運用到才介紹。 "ContentControl" 是WPF中最基礎的一種控制項,Win ...
  • 這裡講下,quartz這種任務調度程式的簡單使用 這是使用的quartz的3.x 版本 2.x 版本與此稍有區別,可以在網上查看2.x版本教程 使用語言為c# quartz的使用分為幾個步驟 其中2步驟也可以放到步驟5後面 另外,別忘記在nuget管理器中引入quartz 代碼如下 運行程式,效果圖 ...
  • 1新建NetCore項目,我這裡NetCoreSDK版本是2.2.0。 2.進入NuGet程式包官網 : https://www.nuget.org,搜索以下兩個包並安裝到項目中。 Microsoft.Extensions.Logging.Log4Net.AspNetCore Log4Net 打開項 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...