这样一般是信息泄露,我们可以使用字典进行爆破,但是,网站对于流量有检测,如果请求过快会导致
网站崩溃,为此我们可以使用常见的网站根目录下的常见文件,如robots.txt备份文件等
访问robots.txt获得flag的一半
再下载www.zip备份文件
将两段flag进行凭借即为flag
也可以使用burpsuite进行爆破或者使用御剑等工具进行扫描,注意延迟代理
文件上传,那么我们尝试上传一个普通图片看看
图片上传成功并且返回路径
我们可以根据路径去访问一下
图片正常返回
我们在上传一个一句话木马尝试一下
发现浏览器对于上传的文件后缀有前端检测
我们可以先把文件的后缀名改为.jpg等合法的文件后缀
然后抓包
修改文件后缀
发送
根据返回路径使用菜刀蚁剑等工具进行连接
最后在根目录下获得flag
那就在url中给ctf传递一个参数
为了获得secret参数的值我们查看源代码
使用工具在线解码
将解密好的结果传递给浏览器
为了通过题目要求,我们可以通过抓包修改相关参数
我们修改User-Agent参数就可以达到要求
一般记录用户从哪来的信息有两个参数,一个是X-Forwarded-For,一个是Referer,经过尝试发现第二个可以满足要求
本地用户访问一般我们会考虑host,REMOTE_ADDR, 两个参数,并将参数的值改为127.0.0.1或者localhost进行尝试
但是结果返回都是错误
我们上网查询还有其他参数可以修改
相关文章链接HTTP 请求头中的 Remote_Addr,X-Forwarded-For,X-Real-IP | Spring Cloud 13-CSDN博客
原题中修改X-Real-IP参数即可绕成功
第一步key1 和 key5的值不等但是他们的md5值相等,为此我们可以使用数组进行绕过
第二步提交key3的值他们的md5值和sha1的值相同
我们依然使用数组进行绕过
strcmp()函数只有在相等的情况下返回0。那么我们传入一个数组,它会返回NULL,而判断使用了==,而NULL==0是bool(true),这样就成功绕过。因此我们还是使用数组进行绕过
对于key5我们要非数字还要大于2023为此我们可以是用数字加字符串的形式进行传参
最后为了可以获取到flag的值我们将flag5传入一个非零的值然后将$_POST[]变为数组传入一个特殊符号即可成功
使用在线解密工具即可解密
凯撒密码解码
因为结果是flag{}形式,为此我们可以借此判断凯撒密码的移动位数
经过测试发现其他字符也就是数字保留即可
所谓栅栏密码,就是把要加密的明文分成N个一组,然后把每组的第1个字连起来,形成一段无规律的话。 不过栅栏密码本身有一个潜规则,就是组成栅栏的字母一般不会太多。(一般不超过30个,也就是一、两句话)