首先来看看后台登录文件的源码.
\kuaifan\module\admin\login.module.php
$db 这个库是没有问题的,提交单引号会被加斜杠过滤。
这时我们发一个比较显眼的函数,admin_log()
跟踪一下发现:
\include\libs\functions\admin.func.php
看了一下SQL语句,发现 htmlspecialchars 只停留在了系统自带的提示字符上 (admin_log 函数的第一个参数),而对用户所控制的 $user 变量 (第二个参数)并没有过滤。难道是当时程序员喝醉酒了?
那么这个log体现在哪里呢
我们从上面的SQL可以看出来,数据是进入了 guanliyuan_rizhi 这个表。
接下来查找一下哪些文件读取了guanliyuan_rizhi这个表。
找到了在下面这个文件中读取了 guanliyuan_rizhi 这个表的地方。
\include\libs\plugins\function.kuaifan_adminrizhi.php
OK,
再来看看,哪个文件引用了这个这个函数。
经过查找,发现了一个临时文件引用了这个函数。
可以看见,输出的地方也没有经过过滤,看源码不难知道这是一个后台的功能。应该是属于查看日志类的东西。