• [代码审计]eml企业通讯录管理系统v5.0 存在sql注入


    0x00 前言

    上周五的时候想练练手,随便找了个系统下载下来看看。

    然后发现还有VIP版本,但是VIP要钱,看了一下演示站,貌似也没有什么改变,多了个导入功能?没细看。

    搜了一下发现这个系统,压根就没有过滤。。注入点一堆

    0x01 后台登录绕过

    这个系统很简单,就一个后台,登录不进去都是废话

    系统用了MVP模式,用的是smarty模板

    没有安装页面,数据库自己创建好,把压缩包的sql文件导进去,然后就可以正常使用了。

    这么说这个系统就两个前台页面了,一个注册页面,一个登陆页面。

    先看注册页面。

    看看代码逻辑

     没有任何过滤,就直接把用户名带进数据库了。

    用burpsuite看一下,报错了

     sqlmap是直接能跑的。

    然后就是登录页面了,没有任何过滤,而且这里用了fetchrow(),判断有没有数据返回就进去了。

    这里就是我们常说的万能密码了,同样可直接跑sqlmap。

    那么直接万能密码登录后台,数据库都懒的跑了,登录成功了。

    这个系统进入了后台就没有什么数据可言了。

    正如前言所说的,没有任何过滤,有sql语句的地方几乎都是存在注入的。

    不一一列举出来了。

    0x02 紧急更新

    今天再到官网看了一下,发现出来个紧急更新。

     把包下载下来,用beyond compare对比看了一下。发现几乎所有的地方都进行了过滤。

     那么这个过滤函数_RunMagicQuotes是怎么过滤的呢?

    先看一下有没有开启魔术引号,但这个在php 5.4就已经移除了.如果没有开启的话,就用addslashes来过滤。

    那么我们之前的注册,登录页面的注入是已经被过滤掉了,看来是周末有人给作者发邮件了。。。

    仔细找了一下,发现没办法注入了。

    由于是session,没有cookie,也不存在伪造cookie一说。

    那么也只能到此为止了。

    0x03 总结

    多写写文章,就算这种很简单的,写写也好。

    一个系统越简单,该补的地方补了,攻击点少了,安全也相对上去了。

  • 相关阅读:
    数据提交
    Python网页信息抓取
    Python语法学习
    Elasticsearch5.x 升级-插件
    LeetCode 33 搜索旋转排序数组
    按之字形顺序打印二叉树
    股票的最大利润
    LeetCode 1143 最长公共子序列
    对称的二叉树
    两个链表的第一个公共结点
  • 原文地址:https://www.cnblogs.com/r00tuser/p/7911453.html
Copyright © 2020-2023  润新知