WEB安全·漏洞利用与权限伪造

进阶—中等篇 | CTF Web 写题笔记

考点偏逻辑漏洞和实际漏洞利用,需要写脚本或构造Payload

暨南大学 · 一流网络Web挑战赛

一、Code_exec — Shellshock + PHP多维数组RCE

先聊点知识:Shellshock漏洞(CVE-2014-6271

Shellshock是2014年的超级漏洞,CVSS满分10.0,比Heartbleed还狠。原理其实不复杂:Bash处理环境变量时,当值以"()"开头,会把后面的内容当函数执行,而不是存为字符串。所以构造恶意环境变量值就能执行任意命令。

和CGI组合就是最常见攻击场景。Web服务器把HTTP头字段作为环境变量传给CGI脚本,脚本用Bash执行。所以构造恶意User-Agent、Cookie等头就能RCE。判断线索:响应头有cgi-bin目录、Apache+CGI架构等。

先聊点知识:PHP多维数组索引与RCE

PHP的数组索引特性在CTF里经常用来构造复杂Payload。字符串可以像数组一样取字符,比如"abcdef"[0]="a"。但多层索引时就有意思了。本题的核心代码:

eval($_REQUEST[$_GET[$_POST[$_COOKIE['CTF']]]][6][6][6]);

解析链:Cookie的CTF→POST取值→GET取值→$_REQUEST取值→[6][6][6]取索引。关键绕过点:如果传字符串,[6]取第7个字符,再[6]就超界了。但传数组就不一样,多维数组的[6][6][6]可以访问深层元素。所以构造一个多维数组,把恶意代码放到[6]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

0xBADCODE

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值