攻防世界-web新手区

文章目录

  • view_source
  • robots
  • backup
  • cookie
  • disabled_button
  • weak_auth
  • simple_php
  • get-host
  • xff_referer

view_source

攻防世界-web新手区_第1张图片
根据题目描述,要查看一个网页的源代码,按照之前的操作,要么右键-》查看源代码,要么按f12查看源代码,这里鼠标右键不管用了,就按f12(Mac里按command+option+4)
攻防世界-web新手区_第2张图片
还可以根据题目提示,view_source,可以用view-source指令查看源代码:view-source:网址
例如:攻防世界-web新手区_第3张图片

robots

攻防世界-web新手区_第4张图片
根据提示,用到robots协议。

什么是robots协议?
robots协议简介
对于进一步理解robots协议的例子
上边链接里讲的已经非常详细了,我在这里就不赘述,简单来讲,robots协议是对爬取网站的一些限制,这些限制在robots.txt中,要想查看这些限制,必须用网址+robots.txt,如下图所示,在txt文件中会有两个参数:user-agent,表示允许哪些用户可以爬取,*表示允许所有用户,Disallow表示不允许爬去的网址,即屏蔽的网址。
攻防世界-web新手区_第5张图片
攻防世界-web新手区_第6张图片

backup

攻防世界-web新手区_第7张图片
备份文件一般是以bak为后缀,这里在地址栏后边加上index.php.bak就可下载得到备份文件。攻防世界-web新手区_第8张图片
在给出的网址后边加上/index.php.bak,就会得到备份文件,下载的这个备份文件用记事本或者能打开代码的软件打开,因为里边是代码,Mac没有记事本,我用的clion打开的。
攻防世界-web新手区_第9张图片

cookie

攻防世界-web新手区_第10张图片
根据提示,在cookie里放了东西,在谷歌浏览器地址栏的最左边的!处,点击查看cookie,看到cookie里的内容为cookie.php。
攻防世界-web新手区_第11张图片
于是在地址栏中加上cookie.php 查看,提示让看http的response部分,右键审查元素,在network栏下边的response里得到flag。
攻防世界-web新手区_第12张图片

disabled_button

攻防世界-web新手区_第13张图片
右键审查元素,根据提示disabled的button改为abled,或者删除,按回车再次点击button就得到了flag。
攻防世界-web新手区_第14张图片
攻防世界-web新手区_第15张图片

weak_auth

弱口令
攻防世界-web新手区_第16张图片
一个登陆页面
攻防世界-web新手区_第17张图片
随便输入一个用户和密码,登陆,出现提示窗口
攻防世界-web新手区_第18张图片
查看check.php的源码,发现注释句,需要一个字典,已知用户名,然后就通过字典爆破得出密码,题目提示,是弱口令,也就是一般的常见的密码,选择一个常见的字典用burpsuite进行爆破即可。
攻防世界-web新手区_第19张图片
详细爆破步骤

simple_php

攻防世界-web新手区_第20张图片
攻防世界-web新手区_第21张图片
PHP的弱类型比较:这篇讲的很好,易理解

代码的意思是:

  • URL接收参数a,b的值
  • if($a==0 & $a) 条件为真
  • $b>1234 (弱类型比较)& 非 is_numeric($b)

也就是说对于a 的弱类型比较后结果为0并且a不等于0,b的值大于1234并且b不为纯数字和纯数字字符串。
对于is_numeric()函数的测试。

$var_name4 = "1stPeak";
$var_name5 = 9898;
$var_name6 = "9898";
if (is_numeric($var_name4))
{echo "$var_name4 正确";} 
else {echo "$var_name4 错误";}

echo "
"
; if (is_numeric($var_name5)) {echo "$var_name5 正确";} else {echo "$var_name5 错误";} echo "
"
; if (is_numeric($var_name6 )) {echo "$var_name6 正确";} else {echo "$var_name6 错误";} $var_name6 = "2222a"; if (is_numeric($var_name7)) {echo "$var_name7 正确";} else {echo "$var_name7 错误";} ?> /*结果: 1stPeak 错误 9898 正确 9898 正确 2222a 错误 由此看出,is_numeric()这个函数判断正确时的数字或数字字符串都必须为纯数字或纯数字字符串,其余的都是false */

有了上述分析,即可对a和b参数进行设置:
a=a(任何字符都行,只要开头不是数字) & b=1235b (保证b>1234的结果为数字且大于1234,还要保证b不是纯数字和纯数字字符串)

攻防世界-web新手区_第22张图片

get-host

攻防世界-web新手区_第23张图片
攻防世界-web新手区_第24张图片
根据提示,第一步要求用get的方式提交变量(在URL中提交即可),提交a=1后,又让以post的方式提交一个b=2的变量。
攻防世界-web新手区_第25张图片
post请求不能在URL中提交,这里用到了一个插件,在火狐和谷歌浏览器里都可以安装,这里,我在火狐浏览器里按的,hackbar插件,第一个要注册码,所以安装了第二个。
攻防世界-web新手区_第26张图片
右键-查看元素-hacker插件,输入URL,post data,输入b=2 ,按execution即可。
攻防世界-web新手区_第27张图片

xff_referer

攻防世界-web新手区_第28张图片

你可能感兴趣的:(攻防世界,CTF解题)