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


 

背景

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

 

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

 

一、微信檢測手段

微信檢測違規的兩個手段: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

 


免責聲明!

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



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