目录

  • 一. Webshell介绍
    • 1.1任务描述
    • 1.2 训练目标
    • 1.3 Webshell简介
    • 1.4 常见Webshell上传方式
      • 1.4.1 解析漏洞上传
        • (1)IIS目录解析漏洞
        • (2)文件解析漏洞
        • (3)文件名解析
        • (4)fast-CGI解析漏洞
        • (5)Apache解析漏洞
      • 1.4.2 截断上传
      • 1.4.3 后台数据库备份
      • 1.4.4 利用数据库语句上传
        • (1)MySQL数据库into outfile
        • (2)建立新表写入木马
        • (3)phpMyadmin设置错误
    • 1.5 Webshell的作用
    • 1.6 Webshell的种类
    • 1.7 WebShell隐蔽
    • 1.8 Webshell的使用
  • 二、菜刀使用

一. Webshell介绍

1.1任务描述

某天公司的网络运维人员发现公司的业务系统遭到了攻击,被挂了木马,导致公司数据泄露,并且黑客留下了后门。公司的运维人员对WebShell完全不了解,这该怎么办呢?

1.2 训练目标

理解Webshell的概念

掌握常见的Webshell上传方式

理解Webshell的作用与功能

掌握Webshell的分类

掌握Webshell的上传及利用

1.3 Webshell简介

Webshell,顾名思义:web指的是在web服务器上,而shell是用脚本语言编写的脚本程序。Webshell就是就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,可以对web服务器进行操作的权限,也可以将其称做为一种网页后门。Webshell一般是被网站管理员用于网站管理、服务器管理等等一些用途,但是由于Webshell的功能比较强大,可以上传下载文件,查看数据库,甚至可以调用一些服务器上系统的相关命令(比如创建用户,修改删除文件之类的),通常被黑客利用。黑客在入侵了一个网站后,通过一些上传方式会将asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,将自己编写的Webshell上传到web服务器的页面的目录下,然后通过页面访问的形式进行入侵,或者通过插入一句话连接本地的一些相关工具直接对服务器进行入侵操作,以达到控制网站服务器的目的。

1.4 常见Webshell上传方式

1.4.1 解析漏洞上传

现在对于不同的web服务器系统对应的有不同的web服务端程序,windows端主流的有IIS,Linux端主流的有Nginx。这些服务对搭建web服务器提供了很大的帮助,同样也对服务器带来隐患,这些服务器上都存在一些漏洞,很容易被黑客利用。

(1)IIS目录解析漏洞

比如:/xx.asp/xx.jpg虽然上传的是JPG文件,但是如果该文件在xx.asp文件夹下,那个iis会把这个图片文件当成xx.asp解析,这个漏洞存在于iis5.x/6.0版本。

(2)文件解析漏洞

比如:xx.asp;.jpg。在网页上传的时候识别的是jpg文件,但是上传之后iis不会解析;之后的字符,同样会把该文件解析成asp文件,这个漏洞存在于iis5.x/6.0版本。

(3)文件名解析

比如:xx.cer/xx.cdx/xx.asa。在iis6.0下,cer文件,cdx文件,asa文件都会被当成可执行文件,里面的asp代码也同样会执行。(其中asa文件是asp特有的配置文件,cer为证书文件)。

(4)fast-CGI解析漏洞

在web服务器开启fast-CGI的时候,上传图片xx.jpg,并写入一句话。访问路径xx.jpg/.php,就会在该路径下生成一个一句话木马shell.php。这个漏洞在IIS 7.0/7.5,Nginx
8.03以下版本存在。

(5)Apache解析漏洞

Apache解析的方式是从右向左解析,如果不能解析成功,就会想左移动一个,但是后台上传通常是看上传文件的最右的一个后缀,所以根据这个,可以将马命名为xx.php.rar,因为apache解析不了rar,所以将其解析为php,但是后台上传点就将其解析为rar,这样就绕过了上传文件后缀限制。

1.4.2 截断上传

在上传图片的时候,比如命名1.asp .jpg(asp后面有个空格),在上传的时候,用NC或者burpsuite抓到表单,将上传名asp后面加上%00(在burpsuite里面可以直接编辑HEX值,空格的HEX值为20,将20改为00),如果HEX为00的时候表示截断,20表示空格,如果表示截断的时候就为无视脚本中的JPG验证语句,直接上传ASP。

1.4.3 后台数据库备份

在一些企业的后台管理系统中,里面有一项功能是备份数据库(比如南方cms里面就有备份数据库的功能)。可以上传一张图片,图片里面含有一句话木马,或者将大马改成jpg格式,然后用数据库备份功能,将这张图片备份为asp等其他内容可以被解析为脚本语句的格式,然后再通过web访问就可以执行木马了,但是这种方法很老了,现在大多数的cms已经把这种备份的功能取消了,或者禁用了。

1.4.4 利用数据库语句上传

(1)MySQL数据库into outfile

这种方式的前提必须是该网站有相应的注入点,而且当前用户必须要有上传的权限,而且必须有当前网页在服务器下的绝对路径。方法是用联合查询,将一句话木马导入到网站下边的一个php文件中去,然后使用服务端连接该网站。但是上述方法条件过于苛刻,一般遇到的情况很少。

(2)建立新表写入木马

一些开源cms或者自制的webshell会有数据库管理功能,在数据库管理功能里面有sql查询功能,先使用create table shell(codetext);创建一个名字叫做shell的表,表里面有列明叫做code,类型为text。然后使用insert into shell(code) values(‘一句话马’),这里讲shell表中的code列赋值为一句话的马,然后通过自定义备份,将该表备份为x.php;x然后就被解析成为php然后执行了,这里不是x.php;x就一定能够解析为php,不同的web服务器上面的服务程序不同,然后过滤规则也不同,可能会使用其他的方式。

(3)phpMyadmin设置错误

phpMyadmin用来管理网站数据库的一个工具,其中config.inc.php为其配置文件,在查看的该文件的时候,如果cfg[‘Servers’][cfg[‘Servers’][cfg[‘Servers’][i][‘auth_type’]参数的值设置没有设置(默认为config)说明在登陆数据库的时候没有做相应的验证,可以直接连入数据库,而且在Mysql在一些版本下面默认登陆都是以root用户进行登陆(即管理员),所以登陆进去为最大权限。但是root一般只能本地登陆,所以必须创建一个远程登陆用户。用远程登陆用户登陆之后,创建一个表,然后再将一句话木马写入。

1.5 Webshell的作用

(1)一方面,webshell被站长常常用于网站管理、服务器管理等等,根据FSO权限的不同,作用有在线编辑网页脚本、上传下载文件、查看数据库、执行任意程序命令等。

(2)另一方面,被入侵者利用,从而达到控制网站服务器的目的。这些网页脚本常称为WEB脚本木马,比较流行的asp或php木马,也有基于.NET的脚本木马与JSP脚本木马。国内常用的WebShell有海阳ASP木马,Phpspy,c99shell等。

1.6 Webshell的种类

Webshell根据脚本可以分为PHP脚本木马,ASP脚本木马,也有基于.NET的脚本木马和JSP脚本木马。在国外,还有用python脚本语言写的动态网页,当然也有与之相关的Webshell。根据功能也分为大马与小马,小马通常指的一句话木马。

1.7 WebShell隐蔽

WebShell后门具有隐蔽性,一般有隐藏在正常文件中并修改文件时间达到隐蔽的,还有利用服务器漏洞进行隐藏,如"…"目录就可以达到,站长从FTP中找到的是含有“…”的文件夹,而且没有权限删除,还有一些隐藏的WebShell,可以隐藏于正常文件带参数运行脚本后门。WebShell可以穿越服务器防火墙,由于与被控制的服务器或远程过80端口传递的,因此不会被防火墙拦截。并且使用WebShell一般不会在系统日志中留下记录,只会在网站的web日志中留下一些数据提交记录,没有经验的管理员是很难看出入侵痕迹的。

1.8 Webshell的使用

利用上传漏洞可以直接上传我们的一句话木马about.php,命名为about.php主要是为了WebShell的隐藏。拿到webshell,我们使用中国菜刀进行连接,进行下一步的操作。

二、菜刀使用

传送门
菜刀使用

Webshell介绍相关推荐

  1. 054 webshell介绍与文件上传漏洞

    文章目录 本来想把关于大马.小马.菜刀,蚁剑,upload-labs(部分实验)等小型实验展示单独出一章节内容,后来想想还是整合在一起吧.所以说这一章节的内容会 ¥¥¥有点多¥¥¥ 一:漏洞概述 二: ...

  2. 上传漏洞学习——upload-labs 闯关(一)

    文章目录 一.漏洞介绍: 1.什么是文件上传漏洞: 2.什么样的网站会有文件上传漏洞: 3.文件上传漏洞的危害: 4.webshell介绍: 4.1.webshell的分类: 4.2.几种经典的web ...

  3. 数据库语法整理及WAF绕过方式

    数据库语法整理及WAF绕过方式 原文链接请点击:https://www.cnblogs.com/ruoli-s/p/15355611.html 关系型数据库 关系型数据库:指采用了关系模型来组织数据的 ...

  4. 渗透测试 ( 0 ) --- XSS、CSRF、文件上传、文件包含、反序列化漏洞

    漏洞数据库:https://www.exploit-db.com/google-hacking-database 1.渗透测试 实用 浏览器插件 chrome.edge 插件:搜索 cookie,安装 ...

  5. 059 提权与反弹shell

    文章目录 一:权限提升概述 二:windows提权 2.1: 启动项提权 2.2:系统漏洞提权 2.2.1:笔记 2.2.2:部分截图 2.2.3:收集到的漏洞列表: 2.2.4:windows200 ...

  6. Vulnhub靶机渗透之Me and My Girlfriend

    本专栏是笔者的网络安全学习笔记,一面分享,同时作为笔记 前文链接 WAMP/DVWA/sqli-labs 搭建 burpsuite工具抓包及Intruder暴力破解的使用 目录扫描,请求重发,漏洞扫描 ...

  7. 一次完整的从webshell到域控的探索之路

    前言 内网渗透测试资料基本上都是很多大牛的文章告诉我们思路如何,但是对于我等小菜一直是云里雾里. 于是使用什么样的工具才内网才能畅通无阻,成了大家一直以来的渴求. 今天小菜我本着所有师傅们无私分享的精 ...

  8. linux脚本读取mssql数据库,WebShell通过SQL语句管理MSSQL

    最近在做一个网络安全相关项目的渗透测试,在拿到了服务器的webshell之后,需要进一步渗透,服务器上有较高权限的软件只剩SQL Server 2005了,而且在webshell中通过SQL Serv ...

  9. php隐藏webshell_【web端权限维持】利用ADS隐藏webshell

    0X01 前言 未知攻,焉知防,在web端如何做手脚维护自己拿到的权限呢?首先要面临的是webshell查杀,那么通过利用ADS隐藏webshell,不失为一个好办法. 0X02 利用ADS隐藏web ...

最新文章

  1. 开源性能测试工具JMeter快速入门(一)
  2. 结对编程1 - 四则运算生成器的改进(201421123040,60,61)
  3. STM32 CAN错误管理
  4. C语言实用算法系列之memcpy、memmove函数原理与实现
  5. mysql change index_MySQL · 引擎特性 · Innodb change buffer介绍
  6. AI人工智能ML机器学习DL深度学习
  7. numpy.random模块常用函数
  8. 再战JavaScript
  9. 怎样用调用资源管理器explore.exe打开指定的文件夹
  10. oracle的db的容量计算公式,Oracle如何精确计算row的大小
  11. android获取悬浮窗权限,Android 悬浮窗权限校验
  12. 立Flag 学习Ng - 1
  13. [Ubuntu 18.04][CPU]MindSpore V1.0源码安装初体验(直播结束)
  14. linux 触屏校准命令,tslib-触摸屏校准
  15. 关于穿透冰点还原等还原软件的方法
  16. 计算机硬盘格式化与储存原理
  17. 为知笔记 | 快速收集有价值的网页,微博,邮件!
  18. 程序设计——票务管理系统
  19. 饥荒服务器账号问题,求救,游侠平台的 饥荒服务器问题 请教高手指教下
  20. python立即关机_Python之电脑好帮手—自动定时关机

热门文章

  1. Python指令汇总(一)
  2. java导航栏母版页_母版页导航栏选中解决方案
  3. sql中时间判断符号_大于号_小于号
  4. sys-calendar.js带节假日的日历插件
  5. 工作站黑屏或卡死解决方法及其他问题
  6. 开源的自私行为如何让人们倦怠的;对企业开源状态的思考;等开源之道一周评论2020 07 06...
  7. 独家专访 ASF 董事会主席 Craig Russell:Apache 之道—— ASF 20年成功秘诀丨二叉树视频...
  8. 从零开始制作一款游戏
  9. [C语言]左值和右值
  10. Ubuntu Server系统安装及远程登录