关卡1
攻略
上传php文件,提示允许的上传类型为jpg、png、gif
打开抓包软件,并没有上传错误的这条报文记录,可判断:上传文件的验证在前端
#制作符合前端要求的一句话木马
上传后缀名为jpg,内容为一句话木马的文件,并抓包修改后缀名
通过复制图片地址,确定上传后的文件路径
通过木马执行命令
此次管卡犯的错误
PHP一句话木马
- eval没有加@
查了资料后@在PHP的意思是:屏蔽错误信息的提示 - 代码结尾未写分号
执行木马的路径
我错在获取路径后的木马文件删掉,输入参数
关卡2
攻略
使用关卡1的方法
.傻眼了,直接成功了,
分析一波
正常流程是上传.php文件,抓到包后,修改content-type类型。
关卡1和关卡2有细微差别
- 关卡1通过前端验证-根据后缀名
- 关卡2通过后端验证-根据MINI类型
过程分析
过了关卡1和2的方法,概括来说就是实际是PHP文件以JPG的壳去上传,当抓包软件抓到包的那一刻,恢复本来样貌。
关卡1
- JPG的壳是为了过前端的检测程序(文件后缀名)
- 恢复PHP的真身,是为了执行一句话木马
关卡2
- JPG的壳是为了content-type以image/jpg的状态出现
- 恢复PHP的真身,是为了执行一句话木马
当然关卡2可以直接上传php文件抓到包的时候,修改content-type的类型
关卡3
攻略
使用第二关的方法(MINI类型绕过)
使用其他可解析的后缀名来绕过
我们通过用绕过MINI类型的方法尝试后,根据页面的提示信息可知:asp、aspx、php、jsp结尾的文件不可以上传
由于我们的目标网站的后端语言是php,所以我们用其他可解析的php文件名来尝试绕过