首先查看代码
函数解析:
Preg_match是正则表达式,/i是不敏感查找,也就是忽略大小写,该函数在这的作用是检查GET方法传入的值内有没有字符串flag,若没有则执行eval函数
Eval 函数执行php方法,比如里面可以执行system()函数,首先传入一个system方法,里面写system(‘ls’);
Payload :http://af32ff90-2650-4639-972b-ceffa0baaa3f.challenge.ctf.show:8080/?c=system(ls);
接下来就是查看flag,由于preg_match函数过滤flag,这里可以用通配符绕过
通配符 ? 表示一个字符 通配符*表示所有
举个例子
注意问号和星号的区别,问号表示一个字符
通配符绕过查看flag