读文件:
目录
题目要求读取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