2023西南赛区ciscn -- do you like read

Attack

打开后一个商城页面

在login as admin那里有个登录页面,账号admin,密码爆破即可得到admin123

2023西南赛区ciscn -- do you like read_第1张图片 也可以在book.php?bookisbn=1进行sql注入得到密码,这里发现是没有注入waf的 

2023西南赛区ciscn -- do you like read_第2张图片

登录进来是一个Book List的管理页面,同时在审计源码时也发现了后门文件。是个绕过disable_function的脚本,并附带了so库,直接就能用

2023西南赛区ciscn -- do you like read_第3张图片

在添加书籍出结合源码还可以看出存在一个文件上传的洞

2023西南赛区ciscn -- do you like read_第4张图片 

2023西南赛区ciscn -- do you like read_第5张图片

有一个黑名单验证,这里比赛时是上传.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';
    }

2023西南赛区ciscn -- do you like read_第6张图片

 

你可能感兴趣的:(复现,经验分享,安全)