新手区
view_source
题目:X老师让小宁同学查看一个网页的源代码,但小宁同学发现鼠标右键好像不管用了。
解:右键有用不了,那就直接用F12,查看源码
可以看到这里的注释即为Flag
robots
题目:X老师上课讲了Robots协议,小宁同学却上课打了瞌睡,赶紧来教教小宁Robots协议是什么吧。
解:
一进来,啥也没有。根据题目,是robots协议:
robots协议也叫robots.txt(统一小写)是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站中的哪些内容是不应被搜索引擎的漫游器获取的,哪些是可以被漫游器获取的。因为一些系统中的URL是大小写敏感的,所以robots.txt的文件名应统一为小写。robots.txt应放置于网站的根目录下。如果想单独定义搜索引擎的漫游器访问子目录时的行为,那么可以将自定的设置合并到根目录下的robots.txt,或者使用robots元数据(Metadata,又称元数据)。
进入到robots.txt看一下
里面是这样
Flag is here?进入
得到了Flag
backup
题目:X老师忘记删除备份文件,他派小宁同学去把备份文件找出来,一起来帮小宁同学吧!
解:
提示我们去搜index.php的备份文件名
是index.php.bak
这个脚本会下载一个txt文件,打开即可看到所要的Flag。
Cookie
题目:X老师告诉小宁他在cookie里放了些东西,小宁疑惑地想:‘这是夹心饼干的意思吗?‘
解:
查看网页的cookie
查看这个php脚本的网页
查看http response
得到flag
disabled_button
题目:X老师今天上课讲了前端知识,然后给了大家一个不能按的按钮,小宁惊奇地发现这个按钮按不下去,到底怎么才能按下去呢?
解:
很明显,我们按下F12
删除掉disabled,即可按下按钮。
按下按钮即可得到Flag。
weak_auth
题目:小宁写了一个登陆验证页面,随手就设了一个密码。
解:
他说他随手设置了一个密码。
用户名我们用:admin ,密码:123456
simple_php
题目:小宁听说php是最好的语言,于是她简单学习之后写了几行php代码。
解:
根据分析,a可以=abcd(以0开头会认为是八进制数字)
因为b不能是纯数字而且要大于1234(很明显提醒你了,可以在数字后面加字母表示非纯数字)
则b可以=9999c
然后把a=abcd,b=9999c写进去即可
成功拿到flag
get_post
题目:X老师告诉小宁同学HTTP通常使用两种请求方法,你知道是哪两种吗?
get方式提交,用url的方式。
结果如下:
这时候需要用的插件:hackbar(破解版需要的可以在下面评论)利用google浏览器即可。
安装完毕后按F12调出开发者界面。输入所需数据,按下execute。
xff_referer
题目:X老师告诉小宁其实xff和referer是可以伪造的。
解题:
我们需要用到Burpsuite来抓包和伪造xff和referer(需要可以私信或者评论)
什么是XFF?X-Forwarded-For(XFF)是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段。 Squid 缓存代理服务器的开发人员最早引入了这一HTTP头字段,并由IETF在HTTP头字段标准化草案中正式提出。
什么是REFERERReferer 是 HTTP 请求header 的一部分,当浏览器(或者模拟浏览器行为)向web 服务器发送请求的时候,头信息里有包含 Referer 。比如我在www.google.com 里有一个www.baidu.com 链接,那么点击这个www.baidu.com ,它的header 信息里就有:
其实就是表示请求的来源
Referer=http://www.google.com
接下来进入实战:
修改ip地址
结果:要求请求来自google
同上:添加XFF和Referer
X-Forwarder-For:123.123.123.123
Referer:https://www.google.com
然后一直放行即可
webshell
题目:小宁百度了php一句话,觉着很有意思,并且把它放在index.php里。
解:
一句话木马,返回webshell
使用中国蚁剑或者中国菜刀。
然后进入服务器即可看到flag.txt这个文件。
waf
题目:小宁写了个ping功能,但没有写waf,X老师告诉她这是非常危险的,你知道为什么吗。
解:我尝试ping了一下本地环回地址127.0.0.1,结果如下:
尝试找一下.txt文件:127.0.0.1 |find / -name “*.txt” 可以发现,home目录下有我们所需要的flag文件
我们直接查看该文件: 127.0.0.1 |cat /home/flag.txt 直接能够看到flag
simple_js
题目:小宁发现了一个网页,但却一直输不对密码。(Flag格式为 Cyberpeace{xxxxxxxxx} )
function dechiffre(pass_enc){
var pass = "70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65";
var tab = pass_enc.split(',');
var tab2 = pass.split(',');var i,j,k,l=0,m,n,o,p = "";i = 0;j = tab.length;
k = j + (l) + (n=0);
n = tab2.length;
for(i = (o=0); i < (k = j = n); i++ ){o = tab[i-l];p += String.fromCharCode((o = tab2[i]));
if(i == 5)break;}
for(i = (o=0); i < (k = j = n); i++ ){
o = tab[i-l];
if(i > 5 && i < k-1)
p += String.fromCharCode((o = tab2[i]));
}
p += String.fromCharCode(tab2[17]);
pass = p;return pass;
}
String["fromCharCode"](dechiffre("\x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30"));
h = window.prompt('Enter password');
alert( dechiffre(h) );
不论你输入啥,都会提示密码错误。
把这串16进制数转化为10进制,在换成ASSIC码对应的数字即可得到答案