某一天,準備某東白條還款的時候,忽然看見界面底部有個廣告條。javascript
廣告的內容看着怪怪得感受。
如圖:
html
點開其中一個廣告條的內容
java
他們本身自己就是電商平臺,並且本身有金融分期的能力,怎麼會有這樣的廣告條接入第三方的分期功能呢。jquery
想一想多是被植入廣告了吧。蠻好奇這個是怎麼進去的。app
正好路由器有個抓包的功能,試試看。dom
打開抓包功能,而後打開APP,而後逛了一下相關的頁面,點了一下彈出來的廣告。ui
粗暴的抓了兩段。而後拿下來用Wireshark看了一下。spa
打開內容,都快嚇到了。code
白條內容頁面這樣涉及到錢、款、隱私等等信息的頁面,竟然還走的http協議!!!(買不起CA數字證書能夠去大家友商QCloud那裏申請免費的呀,雖然只有DV證書)orm
大概過濾了一下內容,很容易就找到了
順道帶走了好多的信息。
而後,應該就是這個請求被修改了吧。(並且在請求參數裏帶上經緯度信息如今看來卻是蠻危險的事情!!!)
具體的內容,有個 iframe 在裏面。不肯定後面那一小段的亂碼是啥。
感受這段代碼不像是jd本身的。
由於頁面裏面引入了libs.baidu.com/jquery/1.7.0/jquery.min.js
,
而jd本身引入的是static.360buyimg.com/finance/mobile/base/1.0.0/js/lib/??zepto-1.1.4.js,fastclick.js
拿出來的html內容。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1" /> <script type="text/javascript" src="http://libs.baidu.com/jquery/1.7.0/jquery.min.js"></script> </head> <body style="margin: 0px;"> <iframe src="http://btm.jd.com/?lng=121.329011&lat=31.134046&un_area=2_2834_51987_0&sid=a114317f9499807570ea1d4fbdf62dfw&_t=1477486222983" style="width: 100%; height: 100%" frameborder="no" scrolling="auto"></iframe> <script type="text/javascript"> $("iframe").height($(document).height()); function change() { if (document.domain.indexOf(".") != -1) { try { document.domain = document.domain.substring(document.domain.indexOf(".") + 1) } catch (a) {} } } function init() { try { if (window.frames[0].location.href != "about:blank") { var b = window.frames[0].document; if (b) { $(b).ready(function() { var e, c = $(b).find("meta[name='viewport'][content]"); if (c.size()) { $(document).find("meta[name='viewport']").attr("content", c.attr("content")); var d = c.attr("content").match(/initial\-scale=(["']?)([\d\.]+)\1?/); d && (e = parseInt(1 / parseFloat(d[2]))) } document.title = b.title; $(b).find("body").width($(window).width()); $(window.frames[0]).bind("unload", _close_callback); $(window.frames[0].document).find("a, form").attr("target", "_top"); _show_callback(e) }); return } else { change() } } } catch (a) { if (a.code == DOMException.SECURITY_ERR) { change() } } window.setTimeout(init, 500) } function _show_callback(b) { b = b || 1; var a = "http://118.178.108.0/js/banner/index.html"; a += ((a.indexOf("?") != -1 ? "&" : "?") + "_us=" + encodeURIComponent("MEsrYjl0WDZwaVBQeGRleUxJR2gzUT09")); $("body").append('<div style="position: fixed; z-index: 9999; width: 100%; height: ' + (b * 60) + 'px; left:0px; right:0px; bottom: 0px; overflow: hidden;background: rgba(255,255,255,0.8);"><span onclick="_close_callback()" style="position: absolute; right: 0px; width: ' + (b * 20) + "px; height: " + (b * 20) + "px; cursor: pointer; z-index: 999999; background-color: rgba(0,0,0,0.3); color: white; font-weight: bolder; line-height: " + (b * 20) + "px; text-align: center; font-size: " + (b * 20) + 'px;">..</span><iframe src="' + a + '" frameborder="no" scrolling="no" style="width: 100%; height: 100%"></iframe></div>') } function _close_callback() { $("body > div").remove() } $(document).ready(init) </script> </body> </html>
今天刷微博的時候看到了這樣一條內容。
要是誰動點歪腦筋,篡改的是其餘的請求裏的內容,故事估計就多了。