Attack
打开后一个商城页面
在login as admin那里有个登录页面,账号admin,密码爆破即可得到admin123
也可以在book.php?bookisbn=1进行sql注入得到密码,这里发现是没有注入waf的
登录进来是一个Book List的管理页面,同时在审计源码时也发现了后门文件。是个绕过disable_function的脚本,并附带了so库,直接就能用
在添加书籍出结合源码还可以看出存在一个文件上传的洞
有一个黑名单验证,这里比赛时是上传.htaccess文件,然后图片马getshell即可,不过连上马后发现权限不够,无法readflag。最后用了之前看到的bypass_disablefunc.php,重新改了一下.so文件的路径就可以readflag了(这里注意路径要改)
最后的payload:
/www/bootstrap/test/bypass_disablefunc.php?cmd=/readflag&outpath=/tmp/xx&sopath=/var/www/html/bootstrap/test/bypass_disablefunc_x64.so
Defense
主要是文件上传点和后门点的修补,sql影响不大
那么我们可以把的预留后门直接删除,然后把文件上传那里改成白名单限制
$ext = pathinfo($image, PATHINFO_EXTENSION);if (strtolower($ext) == 'jpg'|| strtolower($ext) == 'png' || strtolower($ext) == 'gif' || strtolower($ext) == 'bmp') {$image = $_FILES['image']['name'];}else {$image = pathinfo($image, PATHINFO_FILENAME) . '.jpg';}