12岁初中生对学校网站的一次渗透测试....
本人7年级学生12岁 喜欢Pwn
我在web这一方面很菜 各位WEB大佬嘴下留情 就图个乐来看 主要还是给新手分享乐趣
Stage 1:信息收集
无聊的我登录上了学校主站 说实在找不到啥突破点 连个能交互的地方都没有...
主站这条路死了
所以我准备从其他角度来思考这个问题 于是 我打开了fofa 看看有没有啥子域名之类的
结果 hiehie 找到了学校培训部门的一个网站
根据我对学校的理解 我们学校是肯定不可能自己做模板的 应该是运用了其他的cms来建站的
而所谓cms 也就是其他的一些网站模板 具体可以是博客 商业化站之类的
打开了代理 dns开了 就用御剑扫描工具扫了一些 hhh 还真的扫描出来了
dedecms?! 织梦csm 非常古老的的cms了 我记得可能在我出生之前可能就存在了 那么 问题就出现了
越古老的模板一般都会拥有一些通用性的漏洞 而通用性的漏洞 可能会导致网站机密性 完整性的威胁 其中 我们把这些通用性漏洞 这样分开
0day 指被发现 但未被修复过的漏洞
1day 指被发现且被修复 但是由于漏洞发现时间比较早 补丁普及不完整的漏洞
nday 指发现且被修复的漏洞 通用性较低 因为漏洞修复已经较长时间 一般只有长期不更新的厂家才会中招
于是 我开始了我的漏洞寻找之路
版本号确定?
一开始 我就被网站的留言板块吸引了 一般来说 都会存在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解密之后 我们成功的获得了账户的密码 其中为了机密性考虑 我没有办法把密文给你们看
但是 我们已经获得 了账户的密码 现在 我们可以登录刚刚我们御剑扫描到的子站后台了
Stage 3:后渗透
在前面 我们提及到nday这个概念 而像这个版本的织梦cms nday可能是无法避免的 而还是不出意料的 我们搜索到了后台getshell的nday 远程命令执行 (rce漏洞) 攻击者可以通过精心构造的语句来远程控制网络服务器 可以执行任何命令
(其实应该是nday)
接下来 我们就开始漏洞利用吧
漏洞利用
关于漏洞的原理不再多说
首先 我们需要登录一个上传的接口 获取我们的token值 其中Token就在html当中
获取了Token值 我们就可以构造Payload了 payload结构如下
域名 + /dede/tpl.php?filename=moonsec.lib.php&action=savetagfile&content=<?php[PHP语句]?>&token=[Token值]
输入payload后 访问 域名 + /include/taglib/moonsec.lib.php 可以回显执行的任何php命令 在这里 我们可以插入一句话木马
成功获得Shell
总结
我画了个思维导图
本文转自:知乎 原作者Ret2Rttr,侵删