日志泄露与GetShell事件详解:学习防范与处理策略

在一次攻防演练中,我们遭遇到一个基于ThinkPHP框架开发的站点,该站点存在日志泄露问题,故事从这个泄露事件开始。

信息收集

  1. 功能点查看 在进入站点后,我们进行了信息收集,发现仅有三个功能点。逐个进行查看时,第一个功能点返回404,似乎有条”狗”看着家。进入第二、第三个功能点,发现是注册表单,而第三个也为404。怀疑是否还有隐藏功能点,通过目录扫描找到了eclipse配置文件泄露,获取项目内的所有功能点信息。
  2. ThinkPHP框架日志泄露 使用工具扫描时发现站点存在eclipse配置文件泄露,进一步得知站点基于ThinkPHP框架开发。通过工具 ThinkphpGUI 下载了日志泄露工具。

渗透测试

  1. 功能页面访问 逐一访问功能页面,发现两个上传点,尝试上传时遇到403错误。发现后台路径被改,上传被阻止,功能点也被修改或删除。
  2. 日志分析与Sql注入 在翻阅日志时,惊讶地发现日志中存在Sql执行语句。发现Sql语句闭合异常,由此可以通过 ThinkPHP日志泄露 + Sql注入进行攻击。成功获取数据库版本和权限信息。
  3. 文件读取与Webshell获取 对具有验证码的功能进行手测,成功获取到MariaDB数据的版本信息与权限信息。通过目录扫描找到demo目录,发现物理路径,进而成功读取文件。最终使用union select语句写入Webshell,成功获取Shell权限。

防范与处理策略

  1. 列数判断与Webshell写入 使用union select语句进行列数测试,发现列数不匹配。通过手动判断列数成功写入Webshell文件,提醒在进行注入时需注意列数匹配问题。
  2. 安全建议 不建议使用上述笨拙方法,因为某些表的列数可能较多,建议在进行注入前先进行列数判断。同时,该案例中发现安全狗未能阻止攻击,强调了加强综合安全措施的重要性。

文章结束,通过这次事件我们深入学习了防范与处理策略,提高了对日志泄露与攻击手法的认识。

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容