加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码网 (https://www.900php.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 策划 > 正文

黑客常提到的“webshell”究竟是什么?

发布时间:2019-03-11 09:54:58 所属栏目:策划 来源:信息安全我来讲你来听
导读:副标题#e# 最近在我的黑客攻防视频教程里多次提到了webshell这个名词,很多朋友就私信问我webshell 究竟是什么啊?为什么很多黑客技术资料里都有提及它? 今天我们就以本篇文章内容给大家详细介绍一下webshell技术! 一、 什么是webshell 1. 简介 webshell,顾
副标题[/!--empirenews.page--]

最近在我的黑客攻防视频教程里多次提到了"webshell"这个名词,很多朋友就私信问我"webshell" 究竟是什么啊?为什么很多黑客技术资料里都有提及它?

今天我们就以本篇文章内容给大家详细介绍一下"webshell技术“!

一、 什么是webshell

1. 简介

webshell,顾名思义:"web" - 显然需要服务器开放,"shell" - 取得对服务器某种程度上操作权限。webshell就是就是web的一个管理工具,可以对web服务器进行操作的权限,也叫webadmin。

webshell是以asp、php、jsp等网页文件形式存在的一种命令执行环境,也称其为一种网页后门。一般说来,当Hacker入侵一个网站后,会把这些asp、php木马的后门文件放在该网站的web目录中,和正常的网页文件混杂,其命名可能和正常的文件命名很类似,让人无法第一眼通过文件名判断其为后门文件。然后呢,他就可以利用web请求的方式,用asp或者php木马后门控制网站服务器,包括上传下载文件、查看数据库、执行任意程序命令等一系列操作。

webshell

2. 基本分类

webshell根据脚本可以分为PHP脚本木马,ASP脚本木马,也有基于.NET的脚本木马和JSP脚本木马。

根据功能分为大马与小马,小马通常指的一句话木马,例如:通常把这句话写入一个文档里面,然后文件名改成xx.asp。然后传到服务器上面。这里eval方法将request("pass")转换成代码执行,request函数的作用是应用外部文件。这相当于一句话木马的客户端配置。服务器配置(即本机配置):

这里通过提交表单的方式,将木马提交上去,具体的做法是将定义一个对象IP,然后以文本方式写入newvalue里面的内容(newvalue的内容在textarea定义),写入以覆盖的方式产生ASP文件,然后执行这个脚本。其中客户端中的value代表的是表单的名字,必须跟服务端(本机)的post提交中的表单名一样,所以这里的value可以为任意字符,相当于一个密码之类的东西,但是这个'密码'是明文的,可以截取下来。PHP的一句话原理跟以上的原理差不多,就是语言的差别导致语法不同。这就是小马的基本工作原理。

大马的工作模式简单的多,他没有客户端与服务端的区别,就是一些脚本大牛直接把一句话木马的服务端整合到了一起,通过上传漏洞将大马上传,然后复制该大马的url地址直接访问,在页面上执行对web服务器的渗透工作。但是有些网站对上传文件做了严格的限制,因为大马的功能较多,所以体积相对较大,很有可能超出了网站上传限制,但是小马的体积可以控制(比如把代码复制很多遍,或者在一个乱码文件中夹入代码),但是小马操作起来比较繁琐,可以先上传小马拿到webshell,然后通过小马的连接上传大马拿到服务器。

3. 基本原理

可执行脚本:

  • HTTP数据包($_GET、$_POST、$_COOKIES、$_SERVER[args]等)

数据传递

执行传递的数据:

  • 直接执行(eval、system、passthru等)
  • 文件包含执行(include、require等)
  • 动态函数执行($a="phpinfo";$a();)
  • Curly Syntax执行(${'ls'})
  • preg_replace(第一个参数存在'/e')
  • ob_start函数
  • 回调函数(array_map等)
  • 反序列化(unserialize等)

二、 webshell常见获取方式

1. 上传漏洞获取WebShell

首先说我们最常见的,已经讲过的上传漏洞,通过上传一句话木马等,获得服务器的执行权利。

文件上传漏洞主要有以下几种情况:

  • MIME类型绕过漏洞
  • 文件扩展名绕过漏洞
  • 文件内容检测绕过类上传漏洞
  • 空字节截断目录路径检测绕过类上传漏洞
  • 我们可以将Request包的Content-type修改,就可以成功绕过了服务端MIME类型检测,像这种服务端检测http包的Content-type都可以用这种类似方法来绕过

检测解析导致的文件上传漏洞:

  • IIS6.0站上的目录路径检测解析绕过上传漏洞
  • Apache站上的解析缺陷绕过上传漏洞
  • htaccess文件上传解析漏洞

这其中的技术点主要是使用Bp修改一些请求的参数,包括使用00截断操作文件名,更改类型,当然还有二进制连接等手段。

还有一些编辑器存在漏洞导致的文件上传,比如FCK编辑器。

2. sql注入获取webshell

一直以来,都以为sql注入都是用来暴露和查询关键信息的,其实对于数据库操作来说,SQL注入攻击可以获取WebShell其实就是在向服务器写文件。(注意:这里我们需要得到网站的绝对路径)所有常用的关系数据库管理系统(RDBMS)均包含内置的向服务器文件系统写文件的功能。

MySQL:

  1. select into outfile(dumpfile) //MySQL写文件命令  
  2. # 例如:  
  3. select "<?php echo 'test'; ?>" into outfile "F:wwwtest.php"; 

那么其它关系数据库管理系统同样的原理写文件,就不在过多介绍了。

3. 数据库备份获取WebShell

(编辑:源码网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读