Ladon外掛-批量檢測網站是否使用Shiro
本文教大家如何用編寫Ladon外掛,並批量檢測網站是否使用Shiro。
為何不直接批量檢測是否存在反序列化漏洞?由於檢測Shiro是否存在反序列化漏洞,可能需要傳送多個KEY去檢測,意味著要發比較多的包,對於批量來說可能速度會很慢,所以我們改變策略,只發兩三個包先把使用Shiro的網站找出來,找出來之後再使用對應工具掃描目標站點。要知道批量傳送PAYLOAD和批量傳送正常請求對於WAF來說會有不同的結果,前者WAF不會攔截,後者可能就輕易被BAN掉IP。缺點不只是速度慢,還有被發現的風險。當然大家也可加上檢測序列化漏洞的程式碼,一鍵批量,畢竟大家遇到的環境不同,管理員的水平也不同,有些你掃到目標機器冒煙了管理員都不理你,這種水平的管理員,你怎麼搞都不會被發現啦。
支援版本
>= Ladon 5.0
模組型別
資訊收集
外掛功能
檢測指定網站是否使用Apache Shiro,工具可單獨使用,也可被Ladon呼叫批量檢測。
核心程式碼
判斷是否使用Shiro,通過檢測返回頭是否包含rememberMe即可。
private static void CheckShiro(string url) { try { HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url); request.Headers.Add("Cookie", "rememberMe=0"); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); //Console.WriteLine(String.Format("{0,-20}HTTP/{1} {2:d} {3}", "(Status-Line)", response.ProtocolVersion, response.StatusCode, response.StatusDescription)); for (int i = 0; i < response.Headers.Keys.Count; i++) { //Console.WriteLine(String.Format("{0,-20}{1}", response.Headers.Keys[i], response.Headers.Get(i))); if (response.Headers.Get(i).Contains("rememberMe=")) Console.WriteLine(url + " IsShiro"); } } catch (Exception ex) { //Console.WriteLine(ex.ToString()); } }
引數程式碼
1.支援指定URL
2.支援IP引數(主要讓Ladon批量掃描IP段進行更全的檢測)
程式碼說明:
當引數包含HTTP時為檢測已知URL,為IP時檢測常見的80、443、8080埠,特別是批量C段、B段等時,都已經做到C段或B段了,你的目的肯定是為了獲取更多更全的資訊拓展目標,當然你也可以加入目標已知的喜歡用的WEB埠,比如8081、8089、8000等,具體根據你的專案來修改。
string url = args[0]; if (url.ToLower().Contains("http")) CheckShiro(url); else { url = "http://" + args[0]; CheckShiro(url); url = "https://" + args[0]; CheckShiro(url); url = "http://" + args[0]+":8080"; CheckShiro(url); }
外掛用法
工具用法
IsShiro.exe http://192.169.1.8
IsShiro.exe 192.169.1.8
Ladon用法
Usage
Ladon target *.exe
Example:
Ladon http://192.169.1.8 IsShiro.exe
Ladon 192.169.1.8 IsShiro.exe
Ladon 192.169.1.8/24 IsShiro.exe
Ladon 192.169.1.8/16 IsShiro.exe
批量URL
目錄下放url.txt,裡面放入已知url即可,非同段IP的批量同理
http://192.168.1.8
http://10.23.4.56:800
Ladon IsShiro.exe
工具下載
最新版本:https://k8gege.org/Download
歷史版本: https://github.com/k8gege/Ladon/releases
外掛原始碼:小密圈可下載