http://js.passport.qihucdn.com/11.0.1.js?970506d365e969bd0e92a2611c18678e
document.write('')http://s7.qhres.com/static/ab77b6ea7f3fbf79.js
官网提供的代码进过二次方document.write的代码如下,这个js的代码如下:
(function (e) {
function t(e) {
var t = location.href, n = t.split("").reverse(), r = e.split(""), i = [];
for (var s = 0, o = 16; s < o; s++)i.push(r + (n || ""));
return i.join("")
}
var n = /([http|https]:\/\/[a-zA-Z0-9\_\.]+\.so\.com)/gi, r = e.location.href;
if (r && !n.test(r) && window.navigator.appName) {
var i = "//s.360.cn/so/zz.gif", s = document.getElementById("sozz"), o = s.src.split("?")[1], u = t(o), a = new Image;
r && (i += "?url=" + encodeURIComponent(r)), o && (i += "&sid=" + o), u && (i += "&token=" + u), o && (a.src = i)
}
})(window);分析发现
最终目的还是 img 请求提交,尼玛,于是,改造如下:
在phpcms v9的 phpcms/libs/functions/ 目录下,找到 extention.func.php 文件,添加如下代码:
/**
* 360推送 @www.zhoulujun.cn
*/
function getPushSoUrl($url){
$token="970506d365e969bd0e92a2611c18678e";
return $str="http://s.360.cn/so/zz.gif?url=".urlencode($url)."&sid=". $token."&token=".getPushToken($url,$token);
}
function getPushToken($url,$o){
$n = str_split($url,1);
$n=array_reverse($n);
$r = str_split($o,1);
$i=[];
for($s=0,$o=16;$stoken=$token;
}
// function __construct($token) {
// $this->token=$token;
// }
public function getPushToken($url,$o){
$n = str_split($url,1);
$n=array_reverse($n);
$r = str_split($o,1);
$i=[];
for($s=0,$o=16;$stoken."&token=".$this->getPushToken($url,$this->token);
}