当前位置: 代码迷 >> 综合 >> CTF练习WP(Week 1)
  详细解决方案

CTF练习WP(Week 1)

热度:35   发布时间:2023-12-05 12:41:14.0

目录

1.robots(web)

2.view_source

3.cookie

4.simple_php


1.robots(web)

题目链接:题目 (xctf.org.cn)

WP:通过题目提示(robots)猜测本题是与robots有关的操作,通过查找得到相关原理:

robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。(相关的软件查GitHub没下载下来)

靶机:robotshttp://111.200.241.244:59902/在后面加上http://111.198.29.45:33982/robots.txt

网页上会出现如图所示的内容

 访问 http://111.198.29.45:33982/f1ag_1s_h3re.php

得到flag

2.view_source

题目链接: 题目 (xctf.org.cn)

WP:打开靶机后,根据题目提示,先尝试使用右键查看源代码,发现右键不起作用,转而尝试F12打开开发者模式,查看网页元素,得到FLAG

3.cookie

题目链接:  题目 (xctf.org.cn)

WP:打开靶机后,通过F12打开网页的开发者工具,查看网络(Internet)找到

【Set-Cookie:look-here=cookie.php】所以,查看网页的cookie.php,在F12中发现FLAG

4.simple_php

题目链接:题目 (xctf.org.cn)

WP:打开靶机后,能够看到一串PHP代码

?<?php
show_source(__FILE__);
include("config.php");
$a=@$_GET['a'];
$b=@$_GET['b'];
if($a==0 and $a){echo $flag1;
}
if(is_numeric($b)){exit();
}
if($b>1234){echo $flag2;
}
?>

通过查询资料以及分析代码段,可以知道,当满足两个条件后网页上会出现FLAG。

条件一:同时满足 $a==0 和 $a 

条件二:$b>1234

php中的弱类型比较会使'abc' == 0为真,所以输入a=abc时,可得到flag1

is_numeric() 函数会判断如果是数字和数字字符串则返回 TRUE,否则返回 FALSE,且php中弱类型比较时,会使('1234a' == 1234)为真,所以当输入a=abc&b=1235a,可得到flag2

(希望看到这的师傅们能给我推荐一些PHP的学习视频或者资料)

  相关解决方案