[代码审计]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 总结

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

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

posted @ 2017-11-28 18:32  水泡泡  阅读(1105)  评论(0编辑  收藏  举报