高版本正方教务系统上传后缀过滤不严导致能直接上传Webshell

在旧版本中有一个利用插件上传文件的漏洞,但是在新版本中已经没有了这个插件.这个漏洞是由于过滤不严造成的,可以直接上传Webshell进行提权,由于代码在DLL中,全国大部分高校均有此漏洞,影响范围很大,90%以上的学校均可使用这个方法进行提权 上传函数仅判断是否包含".asp" ".php"".exe"字符串 因此可以直接上传如CER格式的Webshell进行提权 jwggfbb.cs [php] private void btn_sc_Click(object sender, EventArgs e) { if (Strings.InStr(this.loFile.get_PostedFile().get_FileName(), ".asp", 0) > 0) { this.RegisterStartupScript("Startup", ""); } else if (Strings.InStr(this.loFile.get_PostedFile().get_FileName(), ".php", 0) > 0) { this.RegisterStartupScript("Startup", ""); } else if (Strings.InStr(this.loFile.get_PostedFile().get_FileName(), ".exe", 0) > 0) { this.RegisterStartupScript("Startup", ""); } else { this.tcf = false; this.Button1_Click(); if (!this.tcf) { if (StringType.StrCmp(this.scms, "1", false) == 0) { this.data_dir.set_Text(ConfigurationSettings.get_AppSettings().get_Item("HTTP1") + "/wbwj/" + this.lstrFileName); } if (StringType.StrCmp(this.scms, "2", false) == 0) { this.data_dir.set_Text("wbwj/" + this.lstrFileName); } } } }[/php] scglwj.cs [php] private void Button2_Click(object sender, EventArgs e) { if (Strings.InStr(this.loFile1.get_PostedFile().get_FileName(), ".asp", 0) > 0) { this.get_Response().Write(""); } else if (Strings.InStr(this.loFile1.get_PostedFile().get_FileName(), ".php", 0) > 0) { this.get_Response().Write(""); } else { this.Button1_Click(); string mysql = "insert into jwggfbb (GGBT,GGZW,FBDW,FBSJ,YXQX,mxddx,mxxdx,fbnr,scip) values ('" + this.ggbt.get_Text() + "','" + ConfigurationSettings.get_AppSettings().get_Item("HTTP1") + "UpLoad/" + this.lstrFileName + "','" + this.fbdw.get_Text() + "',to_char(sysdate,'YYYY-MM-DD hh:mi:ss'),'" + this.yxqx.get_Text() + "','','','wjgl','" + this.get_Request().get_UserHostAddress() + "')"; OracleConnection objConnection = new OracleConnection(ConfigurationSettings.get_AppSettings().get_Item("MyConn") + this.zhj.jiemi(ConfigurationSettings.get_AppSettings().get_Item("MyPwd"), this.zhj.str_jm)); if (Module1_sjf.checksql(mysql)) { OracleCommand objCommand = new OracleCommand(mysql, objConnection); objConnection.Open(); objCommand.ExecuteNonQuery(); objConnection.Dispose(); this.DataGrid1.set_EditItemIndex(-1); this.zhj.BindtoGrid("select * from jwggfbb where fbnr='wjgl' order by fbsj,yxqx", this.DataGrid1); } } } [/php] 当为asp文件时会提示不能上传asp文件 直接将asp大马改成CER格式 直接上传无鸭梨 麻麻再也不用担心我的学习啦 文件存放在网站根目录的wbwj文件夹中 虽然叫wbwj但是还是没有限制运行权限,直接提权得到服务器权限  

1 条评论

  1. X谁谁怀孕

    这个必须得知道管理员账户的啊

发表评论