web shell

Posted 香饼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web shell相关的知识,希望对你有一定的参考价值。

介绍:
为什么文件上传存在漏洞
上传文件时,如果服务器代码未对客户端上传的文件进行严格的验证和过滤,就容易造成
可以上传任意文件的情况,包括上传脚本文件(asp、aspx、php、jsp 等格式的文件)。
·危害
非法用户可以利用上传的恶意脚本文件控制整个网站,甚至控制服务器。这个恶意的脚本
文件,又称之为 webshell,也可将 webshell 脚本称为一种网页后门,webshell 脚本具有强大
的功能,比如查看服务器目录,服务器中的文件,执行系统命令等。 

原理:向服务器发送可以代码写成的文件,客户端通过远程连接,利用shell连接到服务器,并可对服务器进行操作。

 

一句话木马:

  <?php eval($_POST[\'test\']);?>

  原理:通过eval函数在php中执行。

菜刀工作原理:  

  通过我们上传的一句话木马,连接到被攻击的网站,到网站后台目录,可以执行新建,修改等功能。

大马、小马、一句话木马特点:  

  大马:体积大,功能全;会调用系统的关键函数;以代码加密进行隐藏

  小马:体积小,功能少;还有一个上传功能

  一句话木马:代码短,只有一行代码;使用场景大,可单独生成问价可插入文件;安全性高,隐匿性强,可变形免杀;框架不便,数据执行。

连接webshell常用工具:  

  菜刀:

    是一款专业的网站管理软件,用途广泛,使用方便,小巧实用。只要支持动态脚本的网站,都可以用中国菜刀来进行管理!在非简体中文环境下使用,自动切换到英文界面。UNICODE方式编译,支持多国语言输入显示。

    下载地址:http://www.maicaidao.co/

  蚁剑:    

     中国蚁剑是一款开源的跨平台网站管理工具,它主要面向于合法授权的渗透测试安全人员以及进行常规操作的网站管理员。是一款非常优秀的webshell管理工具。因为菜刀也许有后门(偷shell),不放心可以用蚁剑,蚁剑还可以看源码,功能也比菜刀强些

    下载地址:https://github.com/AntSwordProject/AntSword-Loader

 

  冰蝎:

    冰蝎与菜刀基本相似,也算是菜刀的代替者,需要安装java环境

    下载地址:https://github.com/rebeyond/Behinder/releases

  weevely:

    kali自带的菜刀,python编写的webshell工具,采用c/s模式构建,具有很好的隐蔽性,集服务器错误配置审计,后门放置,暴力破解,文件管理,资源搜索,网络代理,命令执行,数据库操作,系统信息收集及端口扫描等功能

    下载地址:https://github.com/epinna/weevely3  免安装的

 

主要分为:JS检测绕过、文件后缀绕过、文件类型绕过、文件截取绕过。

JS 检测绕过上传漏洞常见于用户选择文件上传的场景,如果上传文件的后缀不被允许,则
会弹框告知,此时上传文件的数据包并没有发送到服务器端,只是在客户端。览器使用
javascript 对数据包进行检测。

 

这时有两种方法可以绕过客户端 JavaScript 的检测
  使用浏览器的插件,删除检测文件后缀的 JS 代码,然后上传文件即可绕过。
  把需要上传文件的后缀改称允许上传的,如 JPG,PNG 等,绕过 JS 的检测,再抓包,把后
缀名改成可执行文件的后缀即可上传成功。

 

 文件上传漏洞修复意见:

  1、通过白名单的方式判断文件后缀是否合法,对文件格式限制,只允许某些格式上传。

  2、对上传后的文件进行重命名。

  3、对文件合适进行校验,前段跟服务器都要进行校验(前端校验扩展名,服务器校验扩展名、Content_Type等)

  4、将上传目录防址到项目工程目录之外,当做静态资源文件路径,并且对文件的权限进行设定,禁止文件下载的执行权限。

 

以上是关于web shell的主要内容,如果未能解决你的问题,请参考以下文章

Shellshell脚本练习

Shellshell 的执行流控制

shellshell-grep -v 排除多个输出结果

Shellshell中的常用基础命令

shellshell中各种括号的作用()(())[][[]]{}

Shellshell脚本中的变量