### 简要描述:
在旧版本中有一个利用插件上传文件的漏洞,但是在新版本中已经没有了这个插件.这个漏洞是由于过滤不严造成的,可以直接上传Webshell进行提权,由于代码在DLL中,全国大部分高校均有此漏洞,影响范围很大,90%以上的学校均可使用这个方法进行提权
### 详细说明:
上传函数仅判断是否包含".asp" ".php"".exe"字符串 因此可以直接上传如CER格式的Webshell进行提权
jwggfbb.cs
```
private void btn_sc_Click(object sender, EventArgs e)
{
if (Strings.InStr(this.loFile.get_PostedFile().get_FileName(), ".asp", 0) > 0)
{
this.RegisterStartupScript("Startup", "<script language='javascript'>alert('不能上传asp文件!!');</script>");
}
else if (Strings.InStr(this.loFile.get_PostedFile().get_FileName(), ".php", 0) > 0)
{
this.RegisterStartupScript("Startup", "<script language='javascript'>alert('不能上传php文件!!');</script>");
}
else if (Strings.InStr(this.loFile.get_PostedFile().get_FileName(), ".exe", 0) > 0)
{
this.RegisterStartupScript("Startup", "<script language='javascript'>alert(不能上传exe文件,请压缩后上传!!');</script>");
}
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);
}
}
}
}
```
scglwj.cs
```
private void Button2_Click(object sender, EventArgs e)
{
if (Strings.InStr(this.loFile1.get_PostedFile().get_FileName(), ".asp", 0) > 0)
{
this.get_Response().Write("<script language='javascript'>alert('不能上传asp文件!!');</script>");
}
else if (Strings.InStr(this.loFile1.get_PostedFile().get_FileName(), ".php", 0) > 0)
{
this.get_Response().Write("<script language='javascript'>alert('不能上传php文件!!');</script>");
}
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);
}
}
}
```
### 漏洞证明:
当为asp文件时会提示不能上传asp文件
[<img src="https://images.seebug.org/upload/201307/3021153758af2fef36df4c42e478005c4e4c75f0.png" alt="1.PNG" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201307/3021153758af2fef36df4c42e478005c4e4c75f0.png)
直接将asp大马改成CER格式 直接上传无鸭梨 麻麻再也不用担心我的学习啦
[<img src="https://images.seebug.org/upload/201307/30211624f3e06e9a354065a06cb6e7a9e5d619ba.png" alt="2.PNG" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201307/30211624f3e06e9a354065a06cb6e7a9e5d619ba.png)
文件存放在网站根目录的wbwj文件夹中 虽然叫wbwj但是还是没有限制运行权限,直接提权得到服务器权限
[<img src="https://images.seebug.org/upload/201307/3021171105994d25b4b123163c1eb3e784894e50.png" alt="3.PNG" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201307/3021171105994d25b4b123163c1eb3e784894e50.png)
暂无评论