工具:weevely
介绍:主要用于生成PHP后门文件。
功能:
流程记录:
第一步:生成密码为123456,位置在本机桌面上的后门文件,目的是用于上传。
weevely generate 123456 /root/桌面/backdoor.php
第二步:尝试上传正常图片文件
可能出现的错误:
提示很明显,是没有相关的权限,粗暴的解决方法是所有都给最高权限777,但是从专业角度来看,这样不好。可是,我新手,随意。命令:
chmod -R 777 /opt/lampp
由于防御等级我选择的是低级,所以,正常图片文件上传可以,后门shell上传也可以。看一下源代码:
首先分析前端代码。提交的方式是表单POST提交。选择文件按钮的name是"uploaded",这就说明后端肯定是用$_POST来收集uploaded的值。
upload按钮对应的就是表单的submit提交按钮。只要用户选择好文件,一旦点击提交,那么后端就会利用$_POST来收集到对应的文件。
那么,这里就有可能存在一个漏洞。那就是,后端是否对收集到的文件信息做检测?比如若是要求提交图片信息,那用户提交视频会怎样?这里的PHP代码必须得做出筛选,否则就会产生严重的漏洞。
第三步:验证是否存在上面所说的漏洞,提交weevely生成的后门shell。然后利用weevely远程连接
可以看出,文件上传在了往上面两级的hackable……后门的文件夹中。于是,结合当前页面的url,就可以推断出我们shell后门的正确地址url。利用weevely远程访问即可。
命令: weevely URL [password]
像这么容易就上传异类文件成功的,说明PHP后台代码安全方面写的实在是不好。当然,这是我刻意将防御等级变成low的结果。
远程连接后可以干嘛?目前,还没有接触到提权的知识。所以,我只能随便看看,只要该系统中有相关的可读文件,那么我们都可以看。可以让攻击者得到更多的系统信息。(只要攻击者会相关的命令)
下面,进行后端代码的分析:
很明显,这里的代码就是,用户只要上传了,就给用户存储,不管用户上传的是什么玩意儿。因此攻击者可以攻击成功。