uploadify上传无反应_【取证实战】Hacker利用某类网站的文件上传漏洞批量渗透

来源:电子取证及可信应用协创中心,作者:Hayden

某类Web网站系统因为存在文件上传漏洞,文件包含漏洞,被Hacker利用后进行了批量的渗透,造成一大部分网站的后台被植入后门,对相关企事业单位造成不良影响。

2a70f846f93d2c0b372207800c6ad848.png

0x01概述

其实,这个漏洞就是由于对于上传的文件校验不够严格,导致出现了文件上传漏洞,同时利用了网站存在的文件包含漏洞,使得Hacker能够获取Webshell

得到的信息如下,以下内容为从Hacker电脑中获取得到的数据

5e961836b31957c5ed9aa469a3956b9c.png

0x02恶意文件概述

1、getshell.py?你看着名字,它又酷又直白!

772777af7a84af782e7e0083610e2c8b.png

看一下文件内容,怎么样?是不是一眼就看出来这是一个针对文件上传漏洞的网站写的脚本!

8c563a4716c365ce11664385f134a2a5.png

再看一下这一段,是不是就了解这是用来批量渗透的了?结合上面,可以推出,web-site.txt是准备要渗透的url集合,输出的good.txt是成功拿到webshell的集合!

0bf494e99e57c2ed322bccc81c19dd3a.png

2、下面的web-site.txt的部分内容,大概有一万多条数据!放心,我的打码水平是一流的,哈哈。

6218555c01ac03fa61883e123a111c10.png

75743ca3d45ac4b399350fab61102cfd.png

3、看一下good.txt内容,看看成功了多少?竟然有500多条成功的数据,黑产确实不容小觑啊!

cf535451b095649936ecfcfb06480fa6.png 

4、在getshell.py脚本中可以看出,该脚本上传了两个文件,分别是logo.ico和confg.php。

logo.ico,单从文件的后缀名看的话是一个图片类型的文件,但是打开一看这界面,显然不是!

f2b66907f575666750e6f8a2d838420b.png

5、让我们用Winhex看一看

5.1 logo.ico的头部,GIF89a图片欺骗攻击……  php代码,然后下面还有定义密码(百度一下这个hash值,有惊喜!) 看到这里基本套路就很明显了,这是一个伪造的php木马,然后定义密码,便于菜刀连接或者其他方式控制,为了验证猜想,接着向下看

2f093ce544ad6c53eb3b35681ba81aeb.png

5.2 利用 rot13对主要的php代码进行编码,目的是为了过狗!(逃避网站的安全检测)逃避网站的安全检测)后面的eval函数,用来执行命令。

b67e774071bd5ce02fbe841c8fe577c0.png

6、普通的小马的话,被成功上传以后,直接使用中国菜刀连接就可以实现入侵的功能了,从getshell.py脚本来看,这个logo.ico上传成功之后,又上传了一个confg.php文件,再看一下confg.php文件的内容

54c8ad2490661d3c0061fe9de3800c3f.png

显然,这里利用了php的文件包含漏洞,将logo.ico的内容解析成php代码,尽管webshell的最终地址是/xxx/xxx/xxx/confg.php,但起关键作用的文件仍是logo.ico文件!

0x03攻击概述

Uplodifly是存在文件上传漏洞的php文件

1.1首先验证cookie是否有效,以及验证文件的数据类型(为了便于截图,代码变成两行)

39d4f876bf13a2e22f9c07751ddbedf5.png

1.2直接访问的话,Response为error

7c4df925ed4e0060f70d746f5f462234.png       1.3 根据定义,传递一个validString值‘1’,结果返回变化,出现后面的filedata 要求

44a08f827b248160db492639c7172939.png

1.4、从getshell.py脚本中可以看出,反1.1中的验证,传送的数据如下

2ce868cf93401d96e151a1e5f6b97521.png

1.5、uploadify.php文件,需要提供文件的上传路径,文件名等

5bd660c06ac6c6618fc5b03158a0f327.png

getshell.py继续对抗验证,post提交data值,folder的值(确定文件存储的位置),文件名等(红色箭头部分全部无意义,表单中无要求)

00b6280e37bea0b6c1d7e1de0ddaec60.png

1.6 上传confg.php文件同理

0x04模拟渗透

1将uploadify.php 搭载在测试服务器中,并简单利用脚本测试

d5c85623bca66dd74b5fc0caba581840.png

2、访问目标shell地址,如下,果然是一个大马。

19b6ab72d7b329aba2db42012a794507.png

3、输入password,前面MD5值查出来的结果(admin),可以看见服务器已经被攻陷!

9f121efe1eb1f41adeaabf4d4972a61e.png

4、同时看到上传的对应的文件、

4c2c7622f110fbb63ad2036d5e281309.png

ae2a3e97f052647598ef43e67971d495.png

5、说明此漏洞的利用及脚本的渗透复现成功

ffb3ed631680d77314aedb050bbaf54e.png

a51fc9d5eecff31f32a254134cff4a7f.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在SSM(Spring + SpringMVC + MyBatis)框架中使用Uploadify文件上传,首先需要在前端页面引入Uploadify插件,并编写相应的HTML和JavaScript代码来实现文件上传功能。在SpringMVC中需要编写文件上传的Controller来处理上传的文件,并在Controller中使用MultipartFile对象来接收文件数据,然后将文件保存到服务器的指定目录中。同时,还需要在Spring的配置文件中配置文件上传相关的Bean和参数,以确保正常的文件上传功能。 在处理文件上传的Controller中,可以使用MultipartFile对象的方法来获取文件的原始名称、大小、类型等信息,并对文件进行合法性校验,例如限制文件类型、大小等。接着将文件保存到服务器的指定目录中,可以使用File的相关API来实现文件的保存和写入操作。 在MyBatis中,若需要将文件信息保存到数据库中,需要创建相应的实体类来映射文件的信息,并编写相应的Mapper接口和SQL语句来实现文件信息的插入、查询等操作。 综上所述,使用Uploadify文件上传需要在前端引入插件并编写相应的HTML、JavaScript代码;在SpringMVC中编写文件上传的Controller来处理文件上传,并在Spring的配置文件中配置文件上传相关的Bean和参数;在MyBatis中编写相应的实体类、Mapper接口和SQL语句来实现文件信息的插入、查询等操作。通过以上步骤,就可以在SSM框架中成功实现Uploadify文件上传的功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值