小学生把自己学校的网站搞了!

全栈架构社区

共 2970字,需浏览 6分钟

 ·

2022-02-11 02:35


相关阅读

300本计算机编程的经典书籍下载

AI全套:Python3+TensorFlow打造人脸识别智能小程序

最新人工智能资料-Google工程师亲授 Tensorflow-入门到进阶

Java架构全阶段七期完整

黑马头条项目 - Java Springboot2.0(视频、资料、代码和讲义)14天完整版

Spring核心编程思想

2T架构师学习资料干货分享

作者:Ret2Rttr

来源:zhuanlan.zhihu.com/p/417528231

本人7年级学生12岁 喜欢Pwn

今天这篇文章来源于知乎上一个叫Ret2Rttr的分享,作者自称是一名六年级的小学生。文章主要记录的是他针对自己学校网站的一次渗透测试,过程非常有趣,所以分享给各位读者朋友。


上周三,闲着无聊,准备上学校网站看看,想我这种Pwn狗,自然是对Web没啥希望了。。但是,我还是觉得上学校网站看看 说不定呢~ 所以 我上了学校网站 开始了渗透......

Stage 1:信息收集


无聊的我登录上了学校主站 说实在找不到啥突破点 连个能交互的地方都没有...



主站这条路死了


所以我准备从其他角度来思考这个问题。于是,我打开了fofa看看有没有啥子域名之类的。结果,hiehie 找到了学校培训部门的一个网站。



根据我对学校的理解,我们学校是肯定不可能自己做模板的 应该是运用了其他的cms来建站的,而所谓cms也就是其他的一些网站模板,具体可以是博客、商业化站之类的。打开了代理,dns开了,就用御剑扫描工具扫了一些。hhh 还真的扫描出来了!



dedecms?! 织梦csm,非常古老的的cms了。我记得可能在我出生之前可能就存在了。那么,问题就出现了。越古老的模板一般都会拥有一些通用性的漏洞。而通用性的漏洞 可能会导致网站机密性、完整性的威胁。其中,我们把这些通用性漏洞这样分开:


版本号确定?


一开始,我就被网站的留言板块吸引了。一般来说都会存在XSS漏洞。XSS攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的 也就是说XSS漏洞就像是一个捕兽夹,当具有管理员权限的站长访问被植入XSS脚本的网页时,可能会被盗取权限。



准备了攻击载荷,虽然可能性小但是还是准备试一试。但是在留言之后有一段动画。我看了看,好像爆了CMS版本!我打开手机慢动作,拍了下来上面写着:



确认了版本号,找针对这个版本的通用性漏洞就不难了。所以,我打开了珍藏已久的DEDEcms扫描器~ 看看有没有nday漏洞。


Stage 2:漏洞利用



经过漫长的等待 好像似乎扫描到了一个nday 于是 我打开了nday扫描中的url 似乎好像有信息泄露漏洞!

INSERT INTO `dede_member` VALUES('1','xxxx','admin','2604ccf7b8a4a852cxxxxxxxx','admin','xxx','100','0','0','0','xxxxxxx@qq.com','10000','10','0','','0','','xxxxxx','','xxxxxxx79','xxxxxxx','-1');


这好像是sql数据库的备份 里面记录了 admin 账号的登录md5加密后密码 其实 一般网站的登录密码校正就是和数据库中使用同一加密算法加密过的密文来做比对 所以说 我们只需要逆向破解这串md5密文 我们就可以获得admin账号密码



通过md5解密之后,我们成功的获得了账户的密码。其中为了机密性考虑,我没有办法把密文给你们看。但是,我们已经获得了账户的密码。现在,我们可以登录刚刚我们御剑扫描到的子站后台了。



不出意料的我们登录了后台。但是,我们的渗透还没有结束。现在,我们需要获得整个网站的shell权限,也就是服务器的权限。


Stage 3:后渗透


在前面我们提及到nday这个概念,而像这个版本的织梦cms,nday可能是无法避免的。而还是不出意料的我们搜索到了后台getshell的nday。远程命令执行 (rce漏洞) 攻击者可以通过精心构造的语句来远程控制网络服务器,可以执行任何命令。另外搜索公众号互联网架构师后台回复“2T”,获取一份惊喜礼包。



(其实应该是nday)


接下来,我们就开始漏洞利用吧。


漏洞利用


关于漏洞的原理不再多说。-->DedeCMS V5.7 SP2后台存在代码执行漏洞 - 0DayBug - 博客园 (cnblogs.com)。首先,我们需要登录一个上传的接口,获取我们的token值。其中Token就在html当中



获取了Token值,我们就可以构造Payload了 。payload结构如下。
域名 + /dede/tpl.php?filename=moonsec.lib.php&action=savetagfile&content=[PHP语句]?>&token=[Token值]


输入payload后 访问

域名+/include/taglib/moonsec.lib.php


可以回显执行的任何php命令。在这里我们可以插入一句话木马。



成功获得Shell!


总结


我画了个思维导图


补充:之后的Webshell和获得信息泄露的不是同一个站,是一个可以说是镜像站,但是密码还是登进去了。

全栈架构社区交流群

 「全栈架构社区」建立了读者架构师交流群,大家可以添加小编微信进行加群。欢迎有想法、乐于分享的朋友们一起交流学习。

扫描添加好友邀你进架构师群,加我时注明姓名+公司+职位】


看完本文有收获?请转发分享给更多人


往期资源:
Flutter 移动应用开发实战 视频(开发你自己的抖音APP)
Java面试进阶训练营 第2季(分布式篇)
Java高级 - 分布式系统开发技术视频
浏览 85
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报