来源:电子取证及可信应用协创中心,作者:Hayden
某类Web网站系统因为存在文件上传漏洞,文件包含漏洞,被Hacker利用后进行了批量的渗透,造成一大部分网站的后台被植入后门,对相关企事业单位造成不良影响。
0x01概述
其实,这个漏洞就是由于对于上传的文件校验不够严格,导致出现了文件上传漏洞,同时利用了网站存在的文件包含漏洞,使得Hacker能够获取Webshell
得到的信息如下,以下内容为从Hacker电脑中获取得到的数据
0x02恶意文件概述
1、getshell.py?你看着名字,它又酷又直白!
看一下文件内容,怎么样?是不是一眼就看出来这是一个针对文件上传漏洞的网站写的脚本!
再看一下这一段,是不是就了解这是用来批量渗透的了?结合上面,可以推出,web-site.txt是准备要渗透的url集合,输出的good.txt是成功拿到webshell的集合!
2、下面的web-site.txt的部分内容,大概有一万多条数据!放心,我的打码水平是一流的,哈哈。
3、看一下good.txt内容,看看成功了多少?竟然有500多条成功的数据,黑产确实不容小觑啊!
4、在getshell.py脚本中可以看出,该脚本上传了两个文件,分别是logo.ico和confg.php。
logo.ico,单从文件的后缀名看的话是一个图片类型的文件,但是打开一看这界面,显然不是!
5、让我们用Winhex看一看
5.1 logo.ico的头部,GIF89a图片欺骗攻击…… php代码,然后下面还有定义密码(百度一下这个hash值,有惊喜!) 看到这里基本套路就很明显了,这是一个伪造的php木马,然后定义密码,便于菜刀连接或者其他方式控制,为了验证猜想,接着向下看
5.2 利用 rot13对主要的php代码进行编码,目的是为了过狗!(逃避网站的安全检测)逃避网站的安全检测)后面的eval函数,用来执行命令。
6、普通的小马的话,被成功上传以后,直接使用中国菜刀连接就可以实现入侵的功能了,从getshell.py脚本来看,这个logo.ico上传成功之后,又上传了一个confg.php文件,再看一下confg.php文件的内容
显然,这里利用了php的文件包含漏洞,将logo.ico的内容解析成php代码,尽管webshell的最终地址是/xxx/xxx/xxx/confg.php,但起关键作用的文件仍是logo.ico文件!
0x03攻击概述
Uplodifly是存在文件上传漏洞的php文件
1.1首先验证cookie是否有效,以及验证文件的数据类型(为了便于截图,代码变成两行)
1.2直接访问的话,Response为error
1.3 根据定义,传递一个validString值‘1’,结果返回变化,出现后面的filedata 要求
1.4、从getshell.py脚本中可以看出,反1.1中的验证,传送的数据如下
1.5、uploadify.php文件,需要提供文件的上传路径,文件名等
getshell.py继续对抗验证,post提交data值,folder的值(确定文件存储的位置),文件名等(红色箭头部分全部无意义,表单中无要求)
1.6 上传confg.php文件同理
0x04模拟渗透
1将uploadify.php 搭载在测试服务器中,并简单利用脚本测试
2、访问目标shell地址,如下,果然是一个大马。
3、输入password,前面MD5值查出来的结果(admin),可以看见服务器已经被攻陷!
4、同时看到上传的对应的文件、
5、说明此漏洞的利用及脚本的渗透复现成功