风讯管理系统V4.0SP3搜集版权全分析
<script language="JavaScript">
<!--
function Get_Foosun_Server(){
var Userid="";
GetInfo(String.fromCharCode(83,121,115,67,104,101,99,107,86,101,114,46,97,115,112),String.fromCharCode(65,99,116,61,86,101,114));
GetInfo(String.fromCharCode(83,121,115,67,104,101,99,107,86,101,114,46,97,115,112),String.fromCharCode(65,99,116,61,78,101,119,115));
}
function GetInfo(url,Action){
var myAjax = new Ajax.Request(
url,
{method:'post',
parameters:Action,
onComplete:GetInfo_Receive
}
);
}
function GetInfo_Receive(OriginalRequest){
var Info="";
var Str_Info="";
Info=OriginalRequest.responseText.split("||");
if (Info[0]=="True"){
Str_Info=Info[2];
}else{
Str_Info="";
}
if (Info[1]=="Ver"){
$('Foosun_server_version').innerHTML=Str_Info;
}else if (Info[1]=="News"){
$('Foosun_server_announce').innerHTML=Str_Info;
}
}
window.οnlοad=Get_Foosun_Server;
//-->
这里就看到它是调用GetInfo()使用Ajax访问获取数据,然后显示出来。问题在这里了,它调用GetInfo()没有传递访问的地址,使用alert(String.fromCharCode(83,121,115,67,104,101,99,107,86,101,114,46,97,115,112));发现这个就是访问的页面SysCheckVer.asp,String.fromCharCode(65,99,116,61,86,101,114)是Act=Ver,String.fromCharCode(65,99,116,61,78,101,119,115)是Act=News,使用了ASCII码隐藏访问的页面和参数,一个检测版本,一个检测最新消息。
现在就要看SysCheckVer.asp这个文件了,打开一看,哗,一大堆代码,看到一个过程Function Replace_MF_default_Flag(f_File_Cont,f_NewsID,PageType),咋一看,就有疑问了,这个东西干嘛,而且一大堆的代码,好长的过程,然后我就不看了。但是想想又是通过它访问版本信息的,不可能啊,就拉了一下代码,发现在代码最后才有一段
Str_Act = Trim(Request.Form("Act"))
If Str_Act = "" Then Str_Act = "Ver"
Select Case Str_Act
Case "Ver"
StrInfo = Str_get(1)
Case "News"
StrInfo = Str_get(2)
Case Else
StrInfo = "||"
End Select
StrInfo = Split(StrInfo,"||")
If StrInfo(0)="True" Then
Response.Write "True||"&Str_Act&"||"&StrInfo(1)
ElseIf StrInfo(0)="False" Then
Response.Write "False||"&Str_Act&"||"
End If
哗靠,现在上面那么长的那个过程是没有用的,一大堆看不明白,放在上面是为了迷惑想看它代码的人,一大堆看不明白的就不看了,好在我拉到下面看了一下。现在分析ASP执行,主要是调用Str_get()返回的值给变量StrInfo,然后Response.Write写出来。查找Str_get()过程,在FS_InterFace\MF_Function.asp里找到
Function Str_get(Number)
On Error Resume Next
Str_UserID = Server.UrlEncode(Session("SessionCode"))
ThisIp = Server.UrlEncode(Request.ServerVariables("LOCAL_ADDR"))
ThisDomain = Server.UrlEncode(Request.ServerVariables("SERVER_NAME"))
ThisPort = Server.UrlEncode(Request.ServerVariables("SERVER_PORT"))
Str_Para = "?"&"VUsIp="&ThisIp&"&VUsDN="&ThisDomain&"&VUsPort="&ThisPort&"&UserID="&Str_UserID
If Number = 1 Then:Str_get = GetInfo(Recv(Session("SessionComm"))&Recv(Session("SessionComV"))&Str_Para):Else:Str_get = GetInfo(Recv(Session("SessionComm"))&Recv(Session("SessionComN"))&Str_Para):End If
End Function
这里就可以看到它会收集服务器的IP、服务器域名、服务器端口、序列号。然后调用GetInfo()过程,查找得知GetInfo()在FS_Inc\Function.asp里
Function GetInfo(GetPath)
Dim http,ErrContentLength,Report,ContentLength,ErrContent
ErrContent = ""
On Error Resume Next
Response.Clear
Set http=Server.CreateObject("Microsoft.XMLHTTP")
If Err Then
Err.Clear
Set http = Server.CreateObject("Msxml2.XMLHTTP")
If Err Then
ErrContent = "服务器不支持XML对象"
Err.Clear
End If
End If
If ErrContent<>"" Then
GetInfo = "False||"&ErrContent
Else
http.Open "GET",GetPath,False
http.Send
If http.readyState<>4 Then
GetInfo = "False||读取失败"
Else
GetInfo = "True||"&http.ResponseText
End If
End If
End Function
这个GetInfo(GetPath)就是使用XML通过GET方式访问,然后返回信息。参数GetPath就是要访问的地址,再往回看Str_get(Number)调用GetInfo()是这样的Str_get = GetInfo(Recv(a)&Recv(b)&Str_Para),再查找过程Recv(),也是在FS_Inc\Function.asp里
Function Recv(Str_Number)
Dim Arr_Number,Str_Return,Temp_i
Arr_Number = Split(Str_Number,chr(108))
Str_Return = ""
For Temp_i = LBound(Arr_Number) To UBound(Arr_Number)
Str_Return = Str_Return & Chr(Arr_Number(Temp_i)+31)
Next
Recv = Str_Return
End Function
Recv(Str_Number)就是还原字符串,通过ASCII码加31。现在主要就是要知道Str_get(Number)里的Session("SessionCode")、Session("SessionComm")、Session("SessionComV")、Session("SessionComN")里什么值了,使用Response.Write写出来,得到
Session("SessionCode")="111-1111111111111"
Session("SessionComm")="73l85l85l81l27l16l16l81l66l84l84l81l80l83l85l15l71l80l80l84l86l79l15l79l70l85l16"
Session("SessionComV")="87l70l83l15l66l84l81"
Session("SessionComN")="79l70l88l84l15l66l84l81"
这些值通过Recv(Str_Number)还原,得到
Recv(Session("SessionComm"))="http://passport.foosun.net/"
Recv( Session("SessionComV"))="ver.asp"
Recv( Session("SessionComN"))="news.asp"
到此,就都可以清楚它检测版本的过程了,检测版本地址是http://passport.foosun.net/ver.asp,包括搜集系统信息;获取最新信息地址是http://passport.foosun.net/news.asp
这个CMS为了隐藏检测和搜集版本、版权,做足了手脚,处处隐藏,还来个无用的代码迷惑……
转载于:https://www.cnblogs.com/qiuyi21/articles/1089766.html
风讯管理系统V4.0SP3搜集版权全分析相关推荐
- 第11章实验1:学生成绩管理系统V4.0
第11章实验1:学生成绩管理系统V4.0 某班有最多不超过30人(具体人数由键盘输入)参加期末考试,最多不超过6门(具体门数由键盘输入).参考学生成绩管理系统V3.0,用二维数组作函数参数编程实现如下 ...
- 第11章实验1:学生成绩管理系统V4.0(C语言)
第11章实验1:学生成绩管理系统V4.0 (前方空降提示:由于题目很长很长很长,代码在最后,翻到底才有哦.) 某班有最多不超过30人(具体人数由键盘输入)参加期末考试,最多不超过6门(具体门数由键盘输 ...
- 人事管理系统 v4.1.8(源码)
软件介绍: 人事管理系统适用于中小企业以及微型企业的人事管理系统. 人事管理系统采用utf8的编码方式,采用Thinkphp框架,轻量级的程序,支持手机版,Ipad,以及PC端.程序免费开源.提供免费 ...
- 学生成绩信息管理系统c语言,C语言写的学生成绩管理系统V4.0
学生成绩管理系统V4.0 学生成绩管理系统软件主要适用于成绩管理!这款软件具有成绩输入.各班成绩汇总分析.成绩打印.成绩综合排名等一系列功能.这款软件完全根据学校平常的学生成绩管理办法研发出来.运用先 ...
- 电商订单仓储ERP管理系统 v4.3.6.zip
电商订单仓储ERP管理系统是一款网店综合业务管理系统,它以网店订单为核心,集成商品.采购.仓储.营销(站内信.邮件.售后).物流.决策分析.财务等功能为一体的网店 ERP 软件系统.它充分利用电商务平 ...
- 易软门诊管理系统 v4.7 下载
Welcome to my blog! <script language="javascript" src="http://avss.b15.cnwg.cn/cou ...
- 智方6000系标准销售管理系统 v4.57 绿色
Welcome to my blog! <script language="javascript" src="http://avss.b15.cnwg.cn/cou ...
- 星月美容美发管理系统 v4.7 单机/网络版 免费
Welcome to my blog! <script language="javascript" src="http://avss.b15.cnwg.cn/cou ...
- PageAdmin企业网站管理系统 v4.0.17
介绍: PageAdmin企业网站管理系统是基于微软最新的MVC框架全新开发,强大的后台管理功能,良好的用户操作体验,可热插拔的插件功能让扩展更加灵活和开放,全部信息表采用自定义表单,可任意自定义扩展 ...
最新文章
- 老生常谈 String、StringBuilder、StringBuffer
- Kubernetes Nginx Ingress 安装与使用
- 设计模式复习-职责链模式
- JPDA 利用Eclipse和Tomcat进行远程调试 --转
- 完整叙述html的语法结构,html article介绍与语法结构
- python学习: 优秀Python学习资源收集汇总--转
- linux loop device
- zune linux_快速提示:在出售Zune HD之前,先擦除所有内容
- 前端学习(2592):当前用户显示
- thrift介绍及应用(一)—介绍
- 解决 An invalid domain was specified for this cookie
- [导入]MSIL: call callvirt
- Ubuntu21.04安装网易有道词典
- paip. c++ 调用.net dll 最好方式powershell 使用总结.
- Ubuntu18.04忘记超级用户root密码,重新设置密码
- 机关事业单位考勤统计和活动抽奖小程序
- 计算机显示器窗口成灰色,电脑显示器只显示灰色背光
- 慎用鲁大师 360等软件
- 微信开发笔记——微信网页登录授权,获取用户信息
- 数据预处理(四)——数据标准化
热门文章
- 车辆检测数据集(2)
- w ndows只能安装到gpt磁盘,安装win10系统时提示windows只能安装到GPT磁盘如何解决[多图]...
- 使用模拟工具Modbus poll 和PLC 通讯
- FeUdal Networks for Hierarchical Reinforcement Learning 阅读笔记
- Python+Excel数据分析实战:军事体能考核成绩评定(二)基本框架和年龄计算
- docker容器启动失败(Error response from daemon: error creating overlay mount to /app/docker/overlay2/)
- html中颜色的三种不同表示方法,表示颜色的有三种方式
- 如何将一个HTML页面嵌套另一个页面中
- 深度学习(十)-AI起名
- 嵌入式系统开发笔记62:分数等级转换(switch)