0x00 通用案例:
0x01 漏洞分析:
任意用户登陆漏洞:
首先看一下前台注册用户过程文件user/reg.asp
用户注册成功后,将用户信息插入表“base_user”表
这里用户角色roleid被写死了,这里是6,有些是5
接下来看看后台登陆文件\Admin\login.asp
这里后台登陆也是直接从base_user表里面取出用户信息进行对比的
这样的话我们注册的前台普通用户也能登陆后台admin了
但是这里有roleid的限制,虽然普通用户登陆了后台,但是是没权限使用功能的,没有功能模块,空白页面
后台操作的权限控制是通过文件admin/checkuserpopedom.asp控制的
从这里可以看到,根据AdminUserID从base_user表中取出用户信息AdminRoleID
主要是这里的AdminRoleID就是后台功能模块的判断标准
通过此AdminRoleID判断此用户是否有权限操作后台响应功能模块
但是这里我们看到
AdminUserID直接从cookie中取得,用户完全可控了
所以我们前台注册的用户,通过登陆后台后,在修改COOKIE中的AdminID为管理员ID,0或者1即可登陆管理员账户了,导致了任意用户登陆漏洞
0x02 SQL注入漏洞
而且这里的AdminUserID没有通过处理,导致SQL注入漏洞
0x03 GetShell
这里的GetShell需在IIS环境下进行
文件admin/templetedit.asp,这里可以添加模板也可以修改原先模版
从代码可以看到,在保存文件时,主要后四位为html,或者后三位为htm即可,没有处理文件内容
所以当在IIS情况下,我们可以修改保存文件名为111111.asp;.html,或者111111.asp;.htm即可
文件内容为一句话木马,或者webshell内容