polarctf靶场[WEB]Don‘t touch me、机器人、uploader、扫扫看

2024-08-25 15:28

本文主要是介绍polarctf靶场[WEB]Don‘t touch me、机器人、uploader、扫扫看,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

[web]Don't touch me

考点:查看源代码、前端

[web]机器人

考点:robot协议

工具:御剑,kali dirsearch

[web]覆盖

考点:@parse_str覆盖

[web]扫扫看

考点:目录扫描

工具:御剑、kali dirsearch


[web]Don't touch me

考点:查看源代码、前端

打开网页,叫我们找flag

 我们打开源代码,发现了一个被注释的子域

访问,是另一个界面 

在看源代码 ,发现有个3.php,点开

就可以发现了被注释的flag文件,fla.php

访问,得到本题flag 

[web]机器人

考点:robot协议

工具:御剑,kali dirsearch

题目说是机器人,所以考虑是robots协议

当robots访问一个网站(比如http://www.abc.com)时,首先会检查该网站中是否存在http://www.abc.com/robots.txt这个文件,如果机器人找到这个文件,它就会根据这个文件的内容,来确定它访问权限的范围。(也就相当于一个管理权限的文件)
robots.txt文件用法举例:
User-agent(搜索引擎robots的名字):*(*代表所有)
Disallow(以Disallow开头的url都禁止访问):/(代表禁止所有引擎访问网站任何部分)
例:
User-agent:baiduspider
Disallow:
User-agent:*
Disallow:/
代表允许baiduspider来访问网站任何,其他都不行 

进入robots.txt文件查看一下权限或者被隐藏了哪些,或者不确定访问什么可以用御剑或者kali 的dirsearch工具进行目录扫描

看到了一部分的flag,再看Disallow,应该是个目录

访问/27f5e15b6af3223f1176293cd015771d/flag.php

得到另一部分的flag,拼接一起便可得到flag

 

[web]覆盖

考点:@parse_str覆盖

 <?php
error_reporting(0);
if (empty($_GET['id'])) {show_source(__FILE__);die();
} else {include 'flag.php';$a = "www.baidu.com";$result = "";$id = $_GET['id'];@parse_str($id);echo $a[0];if ($a[0] == 'www.polarctf.com') {$ip = $_GET['cmd'];$result .= shell_exec('ping -c 2 ' . $a[0] . $ip);if ($result) {echo "<pre>{$result}</pre>";}} else {exit('其实很简单!');}
} 

这段代码是一个简单的 PHP 网页应用,主要功能是根据特定条件执行命令并返回结果。如果没有提供 id 参数,就显示当前文件的源代码并终止程序。如果提供了 id 参数,并且通过特定方式将变量 $a 的第一个字符修改为 www.polarctf.com,同时提供 cmd 参数,就会执行 ping 命令并返回结果。

@parse_str($id);:这个函数不会检查变量 $id 是否存在,如果通过其他方式传入数据给变量$id ,且当前$id中数据存在,它将会直接覆盖掉

$result.= shell_exec('ping -c 2 '. $a[0]. $ip);:使用 shell_exec 函数执行 ping 命令,向 "www.polarctf.com" 和变量 $ip 指定的地址发送两个 ICMP 数据包,并将结果存储在变量 $result 中。

发现a[0]的值确实被更改了,那么接下来就简单了,先构造一个cmd=|ls;,发现回显了flag.php,但是不能直接读取,我们尝试用读取ls的命令,而且cat似乎被覆盖过滤了,所以我们使用tac。

有集中方法进行构造:

?id=a[0]=www.polarctf.com&cmd=|tac `ls`;//回显之后直接可得到flag?id=a[]=www.polarctf.com&cmd=|ls //发现有flag.php,但是不能直接读取
?id=a[0]=www.polarctf.com&cmd=;tac%20flag*
或?id=a[0]=www.polarctf.com&cmd=;tac%20fl''ag.php
?id=a[0]=www.polarctf.com&cmd=;tac f* //可直接读取flag

 

得到本题的flag 

如果还想练习相同知识点,在相同的靶场也有类似的题目干正则该题的wp:https://blog.csdn.net/m0_73981089/article/details/138520071

[web]扫扫看

考点:目录扫描

工具:御剑、kali dirsearch

网页显示“或许你该扫一扫”,所以我们使用御剑或者kali dirsearch工具扫一扫

这里使用kali dirsearch扫

dirsearch -u 网址 -e* 

访问该子域,进入此页面

 点击查看源代码

得到本题的flag

这篇关于polarctf靶场[WEB]Don‘t touch me、机器人、uploader、扫扫看的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1105934

相关文章

python web 开发之Flask中间件与请求处理钩子的最佳实践

《pythonweb开发之Flask中间件与请求处理钩子的最佳实践》Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如... 目录Flask中间件与请求处理钩子完全指南1. 引言2. 请求处理生命周期概述3. 请求钩子详解3.1

SpringBoot项目Web拦截器使用的多种方式

《SpringBoot项目Web拦截器使用的多种方式》在SpringBoot应用中,Web拦截器(Interceptor)是一种用于在请求处理的不同阶段执行自定义逻辑的机制,下面给大家介绍Sprin... 目录一、实现 HandlerInterceptor 接口1、创建HandlerInterceptor实

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.

Python使用Reflex构建现代Web应用的完全指南

《Python使用Reflex构建现代Web应用的完全指南》这篇文章为大家深入介绍了Reflex框架的设计理念,技术特性,项目结构,核心API,实际开发流程以及与其他框架的对比和部署建议,感兴趣的小伙... 目录什么是 ReFlex?为什么选择 Reflex?安装与环境配置构建你的第一个应用核心概念解析组件

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx

JSON Web Token在登陆中的使用过程

《JSONWebToken在登陆中的使用过程》:本文主要介绍JSONWebToken在登陆中的使用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录JWT 介绍微服务架构中的 JWT 使用结合微服务网关的 JWT 验证1. 用户登录,生成 JWT2. 自定义过滤

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

web网络安全之跨站脚本攻击(XSS)详解

《web网络安全之跨站脚本攻击(XSS)详解》:本文主要介绍web网络安全之跨站脚本攻击(XSS)的相关资料,跨站脚本攻击XSS是一种常见的Web安全漏洞,攻击者通过注入恶意脚本诱使用户执行,可能... 目录前言XSS 的类型1. 存储型 XSS(Stored XSS)示例:危害:2. 反射型 XSS(Re

解决JavaWeb-file.isDirectory()遇到的坑问题

《解决JavaWeb-file.isDirectory()遇到的坑问题》JavaWeb开发中,使用`file.isDirectory()`判断路径是否为文件夹时,需要特别注意:该方法只能判断已存在的文... 目录Jahttp://www.chinasem.cnvaWeb-file.isDirectory()遇

JavaWeb-WebSocket浏览器服务器双向通信方式

《JavaWeb-WebSocket浏览器服务器双向通信方式》文章介绍了WebSocket协议的工作原理和应用场景,包括与HTTP的对比,接着,详细介绍了如何在Java中使用WebSocket,包括配... 目录一、概述二、入门2.1 POM依赖2.2 编写配置类2.3 编写WebSocket服务2.4 浏