2019 0CTF/TCTF wallbreaker easy 题目理解

本文详细介绍了0CTF/TCTF wallbreaker easy题目的解题思路,包括通过环境变量执行任意指令、绕过限制执行文件以及利用FastCGI参数特性。主要涉及Web安全中的漏洞利用技巧,如函数绕过和进程隔离规避。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

等比赛结束之后才敢来看一下题目??。找到了复现环境:
https://github.com/m0xiaoxi/CTF_Web_docker/tree/master/TCTF2019/Wallbreaker_Easy

使用这个环境如果发现就是上传不了文件,查看/var/log/nginx/error.log发现错误提示是权限不够的话,需要在/tmp目录下执行chown www-data .,添加www-data用户…

参考了几篇相关的帖子(就觉得啊…这些大佬怎么什么都能想到…)。

  1. https://www.freebuf.com/articles/web/192052.html
  2. https://xz.aliyun.com/t/4589
  3. https://github.com/yangyangwithgnu/bypass_disablefunc_via_LD_PRELOAD

在这之前还看了LD_PRELOAD的相关帖子。这个东西像是已经出来很久了。
看到还有其他的方法来做这个题目。先把通过LD_PRELOAD做的方法记录下来,再接着去看其他方法。

对了…前几天刚看了一个利用imap_open()函数来绕过对disable_function的限制,这个题目恰好也是绕过disable_function的技巧,搞完之后可以整理总结一下其他的绕过技巧还有哪些。((⊙o⊙)我总是在事前想的很好)在禁用的函数里也写了imap_open()。(知识积累是多么重要)

WriteUp

LD_PRELOAD这个环境变量,在php需要起新进程的时候会被查看,然后会根据这个变量的内容,去加载共享对象(.so文件,就类似于windows下的.dll文件)。

上面那个freebuf的帖子里详细描述了这种攻击方式的流程,在这个题目里,只是用了另外一个起新进程的函数&

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值