• “百度杯”CTF比赛 九月场 YeserCMS


    打开题目

    进入后是一个cms,但肯定的是这个cms不叫yesercms

    于是我们开始随便翻翻,寻找信息,后台我也看了除了一个登陆界面,就没有其他的提示信息。

    最后在文档下载的评论栏里发现,这个cms的真正名称是cmseasy。

    上网去查cmseasy的漏洞

    然后大致查了下应该是sql注入漏洞

    于是构造报错注入测试一下

    回显内容,还告诉了我们这个sql语句的完整内容,总共3个字段,其实后面的NULL都可以不要了

    接下来拿表名,因为表名一好几个用group_concat发现updataxml只能够返回32字节,于是显示不全

    然后寻思着用limit,结果40多条表,要输40多次,幸好不是上千条。。。。。

    想着有没啥更快捷的方法(本人sql语句学的差呀)

    然后查到了mid函数,虽然也没有提升多快,但是毕竟一次可以显示1条半的数据(充分利用32个字符)

    语法  mid(字符串,起始位置[,显示长度])

    用mid结合起group_concat来进行对整个表的浏览。

    每次起始位置+31,大概20多次就能把所有表查完

    emmm明显我们有用的表示后面2个,进去看看

    usergroup里面的内容

    user里面的内容(还是太长了,用mid每次剪切)

    明显我们要的是管理员的账号

    然后再看uer表里面有几行,结果只有1行,那么肯定就是管理员了

    我们只要username和password

    返回内容

     后面是个HASH,估计是MD5加密,去解下密(绝了之前那个md5解密网站要钱了。。。)

    http://www.dmd5.com/md5-decrypter.jsp贴个网站,ophcrack官网太慢了

    好了,我们可以愉快的登陆后台了

    http://2288dc3709514c708665247af0070463ee7275a18d124db6.game.ichunqiu.com/index.php?case=admin

    进去后,找不到上传点,在模板一块发现可以看部分的源码,那么我们想的是在浏览源码的时候返回flag.php

    在打开源码前需要点击编辑按钮,抓下点击编辑按钮时的包

    这个id是文件名,那么我们要找到flag.php就需要路径到根目录下

    这里我不知道目前路径是在哪里了,就一级一级的往回退,退了2级目录后发现有回显内容了

     总结:在找是什么CMS的时候,真的要细心,而且这个SQL报错注入漏洞,只能用别人已经发现的,自己根本不可能审计出来。。。。最后的改包,不是看writeup根本就想不到。虽然这次主要还是练习了报错注入的几个方法。

    路虽远,行则必达。

  • 相关阅读:
    高并发系统设计(十九)【注册中心】:微服务架构结合RPC框架如何做到分布式系统寻址?
    高并发系统设计(十八):【RPC框架】10万QPS下如何实现毫秒级的服务调用?
    you-get 库的使用方法
    vue 全局注册signalr
    将Minio.exe注册成windows服务
    NPOI 常用方法封装
    利用NPOI给excel文件中添加图片
    Oss 对象服务存储前端方法封装
    C# 常用方法扩展及封装记录
    PostgreSQL配置密码复杂度策略
  • 原文地址:https://www.cnblogs.com/sijidou/p/9179018.html
Copyright © 2020-2023  润新知