ctf暑假练习赛解题报告

读文件:

目录

读文件:


题目要求读取flag文件,应该是flag命名的text或者php文件

查看源代码

发现一处链接地址

点进去网页显示hello:

尝试去掉./,返回结果和上面一样

猜测过滤了后台过滤了./,通过插入方式绕过过滤

猜测可能后台过滤了flag关键词,尝试绕过看一下

发现找不到文件,该后缀名为.php试一试

发现返回页面空白,查看源代码,即可得到flag

 

 

NaNNaNNaNNaN-Batman

点开网页下载了一个文件,右键用记事本打开

发现是有<script>标签,猜测是一个HTML文件,于是放在本地服务器中运行一下

预感,这是输入满足条件的数据获取flag

通过火狐浏览器的控制台的开发者模式调试代码,设置断点,监控变量“_”的值发现其值是一段函数

另外一种方法:

源代码里面eval函数是一种计算函数,将其替换成alert函数弹窗显示其值

复制代码,经过整理

发现匹配的正则表达式为:be0f233ac7be98aa

输入登录框,即可得flag:

Forbidden

打开网页发现:没有访问服务器的权限

查看响应发现有一行提示:

那么可以尝试编辑请求头

插入一段参数:x-forwarded-for: localhost,解释:https://www.cnblogs.com/huaxingtianxia/p/6369089.html返回如下提示

再修改host参数如下:Host: www.topsec.com:80,返回响应如下:

修改referer: www.baidu.com

返回响应如下:

增加参数x-requested-with: XMLHttpRequest

返回响应提示:

修改参数:User-Agent: Mozilla/4.0 (compatible; MSIE 4.0; Windows98) 

返回响应:

修改参数:User-Agent: Mozilla/4.0 (compatible; MSIE 4.0; Windows98) Apache/2.4 (CentOS) DAV/2 .NET CLR 8.0

由于user-agent使得服务器能够识别客户使用的操作系统及版本、cpu类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等信息,所以只需要在user-aget中加入.net clr 8.0

返回相应

自然想到更改Accept-Language,查到德国德语的代码是de-De 替换掉cn-Zh

修改参数如下:Accept-Language: de-DE,de;

返回响应

返回的cookie

可以尝试解密发现用ascii hex解密后得到一串末尾有‘==’的字符串 估计是还经过base64加密,经过base64解密后的字符串再油ascii hex解密得到明文“false”倒退回去,构造true即可

得到flag

参考消息头:

Host: www.topsec.com:80
User-Agent: Mozilla/4.0 (compatible; MSIE 4.0; Windows98) Apache/2.4 (CentOS) DAV/2 .NET CLR 8.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-DE,de;
Accept-Encoding: gzip, deflate
Cookie: csrftoken=T4v4LX8SKcPnrPtSxgiGuzX3RZFkcdzurc5xNbCEMR7Fr9UUmtcJn9g4zrwEQ3Pi
Connection: keep-alive
Upgrade-Insecure-Requests: 1
x-forwarded-for: localhost
Pragma: no-cache
Cache-Control: no-cache
referer: www.baidu.com
x-requested-with: XMLHttpRequest

参考解题链接:https://blog.csdn.net/kr_big/article/details/73694356?utm_source=itdadao&utm_medium=referral

urldecode

题目提示要url编码,同时提示也有url要有%

根据提示构造链接如下进入

猜测对XMAN进行url编码

运行发现被浏览器解码了

进行二次编码,即可得到flag

猜你喜欢

转载自blog.csdn.net/weixin_42665043/article/details/81219084