界面安全性系列2-Webshell

一.Webshell是什么?

  webshell就是asp,php,jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门。

二.Webshell可以做什么?

  黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。。

三.Webshell主要模式

  


下面是别人总结的几种方式,我加了描述和自己的一些看法和经历

1. 直接上传获取webshell

       通过上传文件功能,比如评论图片等,这类主要是后台需要验证上传文件。比如mimetype后缀名。

       我们网站出现过一次情况验证了mimetype,在对上传文件后move文件到上传目录的时候取了file[‘name’]做最后的拼接, 而验证是验证了file['tmp_name']的对应mimetype和后缀。

       攻击者通过修改post的数据包里面的name值使得上传后的文件从png转成了php。。。解决办法当然是把name值也进行了验证

2.添加修改上传类型

       很多管理后台允许修改前台上传功能的支持的文件类型,而通过攻击这部分将对应的文件类型增加进去,然后通过前台的上传就可以了。

       这个主要是功能防范,如果用的是开源的系统,没需求使用该功能可以直接将修改支持文件类型的功能裁剪掉 。。

3.利用后台管理功能上传webshell

      这部分其实也是后台的一些功能漏洞,允许修改一些配置文件,直接将配置文件暴露在前端访问。

       或者比如增加友情链接功能 直接在友情链接出将代码写入比如http://aa.com</div><?php eval($_GET['aaa']);?> 之类的嵌入到友情链接的页面,这样友情链接的功能直接就成了webshell

4. 利用后台管理向配置文件写webshell

      跟3也是类似的,将代码写到一些文件里。对应的文件里就有了可执行的代码。

5. 利用后台数据库备份及恢复获取webshell

    主要是利用后台对access数据库的“备份数据库”或“恢复数据库”功能,“备份的数据库路径”等变量没有过滤导致可以把任意文件后缀改 为asp,从而得到webshell

6. 利用数据库压缩功能

7 asp+mssql系统

8. php+mysql系统

     SELECT …… INTO OUTFILE

9. phpwind论坛从后台到webshell的三种方式

10 .也可以利用网站访问计数系统记录来获取webshell


后面几个主要结合mysql注入,或者系统功能等,将对应的shell代码写到某个地方,再通过保存或者sql备份导出等功能将对应的sql里面存放的植入代码导入到指定位置的指定后缀文件比如aa.php等



三.Webshell防范

从根本上解决动态网页脚本的安全问题,要做到防注入、防暴库、防COOKIES欺骗、防跨站攻击等等,务必配置好服务器FSO权限。最小的权限=最大的安全。

防范webshell的最有效方法就是:可写目录不给执行权限,有执行权限的目录不给写权限。


我的经验是将上传和运行目录隔离,或者服务器分开。在关键功能上进行严格防范。有点废话。。


在允许上传文件的网站和web应用中,应当应用下面的一系列最佳实践方法。这些实践方法将有助于你保证web应用的上传文件的安全性。

  定义一个.htaccess文件,只允许访问指定扩展名的文件。

  不要把.htaccess文件和上传文件放在同一个目录里,应该放在父目录里。

  一个典型的只允许 gif, jpg, jpeg 和 png文件的.htaccess文件应当包含下面的代码(根据你的需求做调整)。这样也能阻止双扩展名攻击.

  deny from all order deny,allow allow from all

  如果可能,把文件上传到root目录以外的目录里。

  禁止覆盖已存在的文件(以阻止.htaccess覆盖攻击)

  创建一个mime-type白名单列表。(只允许这个列表里的Mime-type)

  生成一个随机的文件名,并且加上此前生成的文件扩展名、

  不要只依赖客户端验证,这不够。理想的是既有客户端验证也有服务器端验证。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值