robots
robots协议(robots.txt)
Robots协议用来告知搜索引擎哪些页面能被抓取,哪些页面不能被抓取;可以屏蔽一些网站中比较大的文件,如:图片,音乐,视频等,节省服务器带宽;可以屏蔽站点的一些死链接。方便搜索引擎抓取网站内容;设置网站地图连接,方便引导蜘蛛爬取页面。(来自百度百科)
** 置于网页上的robots.txt,指定了搜索引擎和网络爬虫可以可以访问和禁止访问的页面 **
题目分析
进入答题页面后,在网址上直接进入robots.txt
就可以查看答案
backup
网页备份
index.php的备份文件是index.php.bax,直接访问下载,再打开查看文件,就可以找到flag
cookic(储存在用户本地终端上的数据)
cookic,类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息(源自百度百科)
客户机保存的用于服务器识别的一小段文本信息
题目分析
进入cookie.php查看cookie
提示“查看网页响应”,刷新一下网页就可以在网站消息头当中找到flag
暂时还不知道怎么在Google中查看
disable button
题目分析
题目如下,flag是点不开的
F12发现,form有一个disable属性,直接删除就可以点了,点出来就有答案
HTML表单的disabled属性
HTML中的input元素、button元素、option元素等可附加disabled属性。 当赋予该属性时该元素将变得不可交互
创建一个可以按的按键
<!DOCTYPE html>
<html>
<body>
<h1>able<h1>
<form action="">
<input type="button" value="falg">
</form>
</body>
</html>
浏览器显示如下,这个按键是可以点击的
<!DOCTYPE html>
<html>
<body>
<h1>disable<h1>
<form action="">
<input disabled type="button" value="falg">
</form>
</body>
</html>
浏览器显示如下,这个按键是不可以点击的
weak auth
题目如下,是一个无需登陆验证和不限登录次数的登陆界面,这种就可以使用暴力破解获得这个弱密码:
随便输入一个用户名,提示用户名为admin,就使用admin作为用户名进行爆破。
我在虚拟机上使用Buipsuit进行爆破
- 先在浏览器中设置代理
- 之后再浏览器中输入username为admin,password随便输入一个数(刚好输入的是123456,直接出答案了。。。但为了爆破一次,换成了111111),Burpsuit就会拦截,就可以开始具体的爆破步骤
- Action —> Sent to Intruder
- Intruder —> Positions,清理变量后选定password为变量
- 选定爆破模式为Cluster bomb
- Payloads中的Payloads set和Payloads type选为默认,此外还可以使用自己的字典
- 选择线程等
- 开始爆破
xff referer
现在浏览器中设置代理ip,再用burpsuite,我在虚拟机上完成
现在burp suite上抓包
再将X-Forwarded-For:123.123.123.123添加到反应头当中
回复显示“必须来自https://www.google.com”,就再将Referer:https://www.google.com添加到反应头当中,可以得出答案
command_execution
ping是操作系统常用的网络诊断工具,可以用来判断连接是否建立。是利用IP地址的唯一性,发送一个数据包,以反馈的数据包和反馈时间判断连接是否建立的方法。
首先判断链接是否建立,ping127.0.0.1是可以连接的。
再在127.0.0.1当中寻找flag的文档,在ping当中注入命令使用&&逻辑符号,可以看到在/home中有一个flag.txt文件
打开这个文件就可以看到flag了。
simple_js
这个不太清楚为什么这样就是答案,如果有大佬看到可以帮我解答一下吗
Ctrl+u查看源码
<html>
<head>
<title>JS</title>
<script type="text/javascript">
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) );
</script>
</head>
</html>
\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"
这一串先转十进制再转字符就是答案
但是我不懂为什么
我总算把攻防世界的web新手题做完了哈哈哈哈哈哈哈