Buuctf Easy Calc --> WriteUp

本文介绍了从CTF挑战中学到的关于Web应用防火墙(WAF)的知识,包括如何利用PHP的字符串解析特性绕过WAF限制,以及查询字符串在URL中的角色。此外,还探讨了如何在系统限制下使用PHP代码,以及在PHP代码无法直接获取flag时的解决策略。

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

大佬的WP

Buuctf Easy Calc --> WriteUp

本题得到知识

以下是从这道ctf题中学到的一些知识

什么是Waf

Waf:Web应用的防火墙,原来的防火墙已经不够抵挡攻击了,所以有了Waf作用是对web应用程序客户端发出的流量进行内容检测和验证,检测其安全性与合法性,来屏蔽常见的网站漏洞攻击,如SQL注入,XML注入、XSS等。WAF的介绍

利用PHP的字符串解析特性Bypass绕过

Waf可能会限制只通过数字不让通过字符,这时可以利用字符串解析的特性来绕过,所谓的字符串解析即是对查询字符串进行解析到PHP代码中。 利用PHP的字符串解析特性Bypass

什么是查询字符串(URL参数)

在URL中的“?●=▲×■&○=△×□”的部分是查询字符串(URL参数)查询字符串

如何绕过Waf对字符的限制

PHP需要将所有参数转换为有效的变量名,因此在解析查询字符串时,它会做两件事:

  • 1.删除空白符
  • 2.将某些字符转换为下划线(包括空格)
    我们可以在变量前加上一个空格绕过Waf对字符的限制。

一句话木马的system无法使用

<?php @eval($_POST['str']); ?>:str可以是调用外部指令的system函数的字符串,Linux指令的大多数字符被限制了怎么办?
PHP中也有文件查找和读取文件函数

  • scandir():以数组形式列出参数目录下的目录和文件
  • readfile():读取参数里的内容

PHP代码无法使用flag

可以使用chr函数来把ASCII码转换为字符即可实现绕过chr(47)就是/。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值