注:通过木马连接上主机离开后,切记删除木马,否则将有概率赠送银手镯一副 (ಥ_ಥ) (自己主机的靶场除外)
Pass3,4由于环境问题,需要切换在线靶场
Pess-1 前端检测
1.检测该上传点是否可用,并查看保存位置
2.上传木马并抓包,发现未抓到包,证明该网站是在前端检测上传文件后缀
3.有两种解决方案
- 禁用该网站 JavaScript ,即可直接上传 php 木马
- 将木马的后缀改为可上传的后缀,传入后端,抓包后将后缀改回 php 即可
4.访问木马,查看木马是否植入
5.实用工具测试连接木马
Pess-2 后端检测
1.检测该上传点是否可用,并查看保存位置,之后的关卡依旧进行此操作,但省略不写
2.尝试植入木马并抓包,可以抓到,证明是后端检测
3.发送重放器,并查看发送结果,发现是文件类型不正确
4.修改文件类型,放包
5.检测木马是否植入
6.实用工具测试连接木马
Pess-3 黑名单验证,特殊后缀
1.植入木马并抓包,抓到后发送重放器
2.此网站在后端将 php 等后缀拉黑,但可尝试使用 php3 ,php5 ,phtml 替代 php 后缀,
3.检测木马是否植入,若此时下载上传的木马文件,证明环境有问题,无法解析 php3 等后缀名,所以自动下载
4.实用工具测试连接木马
Pass-04(黑名单验证,.htaccess)
1.创建一个.htaccess文件,上传,次文件可将上传的 .jpg 文件解析为 .php 文件,仅在 Apache 中有用
<FilesMatch "jpg">
SetHandler application/x-httpd-php
</FilesMatch>
2.上传木马文件
3.查看木马文件,此时木马文件虽然是 .jpg 后缀,但由于 htaccess 文件将 .jpg 解析成 .php ,所以木马可以正常访问并连接
Pass-05(黑名单验证,大小写绕过)
1.上传木马文件并抓包
2.将 php 后缀切换大小写,上传成功
3.查看木马文件并连接
Pass-06(黑名单验证,空格绕过)
1.上传木马文件并抓包
2.在 .php 后输入空格进行绕过,在windows中,此空格由于在末尾,会自动去除,不影响木马文件的使用
3.查看木马文件并连接
Pass-07(黑名单验证,点号绕过)
1.上传木马文件并抓包
2.在 .php 后输入 . 进行绕过,在windows中, . 由于在末尾,会自动去除,不影响木马文件的使用
3.查看木马文件并连接
Pass-08(黑名单验证,特殊字符::$DATA绕过)
1.上传木马文件并抓包
2. 在 .php 后输入 .::$DATA 进行绕过,在windows中, ::$DATA windows 会认为是非法字符,默认去除掉
3.查看木马文件并连接
Pass-09(黑名单验证,结合绕过)
1.上传木马文件并抓包
2.本关大小写,空格,点号,特殊字符都被禁用,但代码只会执行一次,所以可以多打几个空格和点号绕过
Pass-10(黑名单验证,双写绕过)
1.上传木马文件并抓包
2.发现直接上传成功,但访问上传的文件,发现去除了php
3.使用双写绕过
注:代码会删除遇到的第一个 php ,由于 php 双写时容易构成 ph php p ,看似双写,但实际上会按照 php hpp 执行,最后生成 hpp ,所以要注意双写的位置,避免提前组成 php 被去除
Pass-11(%00截断)
%00截断可绕过白名单限制,但需确保PHP版本低于5.3.4且magic_quotes_gpc已关闭,使用CTFHub的环境
1.上传木马文件,抓包
2.修改木马文件的类型和后缀,在文件上传地址处添加 2.php%00 ,意思是将上传的内容放到 2.php 中, %00 用于截断后方的代码,确保木马文件内容被上传到 2.php 中
Pass-12(POST %00 截断)
本关和上一关一样使用%00截断,区别是本关参数使用post提交 %00 不会自行解码,需要选中 %00 进行url解码
Pass-13~15,18(图片马)
Pass-16(二次渲染)
本关会将上传的图片进行二次渲染,普通图片马内的木马会被打乱,所以需要直接上传经过二次渲染的图片马
Pass-17(条件竞争)
本题为条件竞争,上传的 php 文件由于不符合条件,会在短时间内删除,所以我们可以写一个下崽 php 文件,当访问此文件时,会生成一个 php 木马文件,此文件不会被删除
1.准备下崽文件
2.上传下崽文件并抓包发送攻击模块
3.修改攻击类型,并设置无限攻击
4.开启攻击后一直访问下崽文件,直到抓住文件删除间隙,访问到下崽文件并生成木马文件
Pass-19(黑名单验证)
本关类似 pass-11 ,都是将木马改为jpg后缀,通过修改保存位置,将其变回 php 后缀,但本关将 php 加入黑名单,可以通过加 . 绕过