您现在的位置是:焦点 >>正文
dtcms漏洞
焦点827人已围观
简介2023年11月,一个做外贸独立站的朋友半夜给我发消息,说网站首页被挂了一个博彩页面,服务器上多出几个没见过的aspx文件。我让他查一下DTCMS版本,果然是V3.3——那个已经两年没更新过的老版本。 ...
2023年11月,一个做外贸独立站的朋友半夜给我发消息,说网站首页被挂了一个博彩页面,服务器上多出几个没见过的aspx文件。我让他查一下DTCMS版本,果然是V3.3——那个已经两年没更新过的老版本。这事不新鲜,但每次遇到还是觉得可惜,因为DTCMS本身底子不差,栽在安全上实在冤枉。
DTCMS是国内一款老牌的开源内容管理系统,基于.NET开发,早年做企业站和商城的人用得不少。它的代码结构说不上优雅,但功能齐全,二次开发也算方便。问题出在安全审计上——官方更新慢,社区贡献的补丁零零散散,很多用户装完就不管了,版本停留在V2.x或V3.x的大有人在。
最典型的漏洞是文件上传。DTCMS后台的上传接口对文件类型做了白名单,但校验逻辑写在了客户端JavaScript里。抓包改个后缀,直接传aspx马上去,服务器照单全收。我见过一个案例,攻击者用默认管理员账号admin/123456登录后台,传了个伪装成jpg的webshell,路径是/upload/202311/xxx.aspx。从登录到拿shell,全程不到三分钟。
SQL注入也跑不掉。V3.2之前的版本里,/tools/submit_ajax.ashx这个接口处理用户提交的数据时,直接把参数拼进SQL语句。构造id=1 and 1=2 union select ...就能拖库。有个做机械设备的客户,网站被拖走了全部产品数据,连带客户询盘记录一起泄露。攻击者后来拿这些数据去敲诈,开口要两个比特币。
还有个容易被忽略的点:DTCMS默认数据库是Access,文件放在/data/目录下,文件名是dtcms.db。如果服务器没配好MIME类型,直接访问这个路径就能下载整个数据库。里面存着管理员密码的MD5哈希,拿去cmd5.com一查,弱密码瞬间还原。我试过十几个DTCMS站点,至少三个能直接下到数据库文件。
后台路径也是明牌。/admin/或者/manage/,默认账号密码写在官方文档里。很多站长装完不删install目录,不改进后台路径,不改默认密码。这三件事只要做一件,攻击成本就能翻好几倍,但偏偏大多数人一件都不做。
修复方案其实不复杂。升级到最新版,哪怕官方更新慢,社区也有非官方的安全补丁。后台目录改名,加IP白名单。上传接口重写,服务端做文件头校验,禁止执行权限。数据库换成SQL Server或者MySQL,别用Access。Web.config里把/data/和/upload/目录的脚本执行权限关掉。
说句不中听的,DTCMS的漏洞大部分不是技术难题,是态度问题。官方停更了,用户也不上心,装完就往那一扔。等被挂马了、被拖库了、被搜索引擎标红了,才想起来找人修。修一次的钱,够请人做十次安全加固。这笔账,很多人算不过来。
我现在遇到用DTCMS的客户,第一件事就是查版本,第二件事就是翻日志看有没有异常上传。十次里有八次能翻出点东西,有时候是几年前的webshell,有时候是没清理干净的测试文件。这些站点就像没锁门的仓库,路过的人推一把就开了。技术债这东西,欠着不还,迟早要连本带利吐出来。
Tags:
相关文章
apache shiro身份验证绕过漏洞
焦点Apache Shiro的身份验证绕过漏洞,说白了就是攻击者能骗过登录检查,以未授权身份访问受保护资源。这不是理论上的威胁,CVE-2020-1957、CVE-2020-11989、CVE-2020- ...
【焦点】
阅读更多web前端教程视频
焦点我见过太多人倒在web前端的第一道坎上——不是不懂HTML标签,而是被视频教程里那些动辄两小时的“从入门到放弃”给吓退了。今天不聊虚的,直接拆解一套真正能跑起来的《web前端教程视频》该长什么样。 开 ...
【焦点】
阅读更多内鱼滑跪小组
焦点《内鱼滑跪小组》 凌晨两点十七分,超话里炸了锅。某顶流被拍到在夜店搂着两个女生,视频糊得像用座机拍的,但粉丝们还是从手指关节弧度认出了自家哥哥。工作室装死三小时后,凌晨五点四十一分,一封手写道歉信准时 ...
【焦点】
阅读更多