CTF学习——攻防世界

news/2024/10/19 19:36:23/

查看网页源代码的方法

第一种:F12

第二种:鼠标右键→查看网页源代码

第三种:ctrl+shift+I

第四种:ctrl+U

第五种:在url前面加view-source:

第六种:将网页另存为.html文件,然后用文本编辑器打开

robots协议

robots协议是一个君子协议,不是硬性要求,我们可以去爬取,但是可能会承担法律责任。

看看网页中有没有藏一个robots文档输入,在url中输入“/robots.txt
会看到页面,其中:
第一行user-agent的*是适用于任意的浏览器,后面的是不允许访问(爬虫)后面的两个文件夹和文件,在URL中输入“/文件名”即可

备份文件

index.php的备份文件名为index.php.bak
下载文件后选用记事本打开

disabled属性

在给button设置disabled属性的时候,如下

<button disabled="disabled">确定</button>

此时按钮处于不可点击状态,真实有效的方法是将disabled属性移除

get方式

使用浏览器插件hackbar,
或此时就按F12打开开发者工具,选择安装好的插件harkbar
先点击load url提取url,再根据题意在url后输入/?a=1,点击execute发送

POST方式

post方式:先点击load url提取url,然后选择post data,再根据题意在post输入框内输入b=2,点击execute发送,获取到flag

弱口令爆破

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;
}
?> 

如果a==0且a有一个值,输出flag1;如果b只为数字或数字字符串,则会退出;如果b>1234,则输出flag2。

所以构造:?a=0a&b=12345a

命令执行

ping功能,但没有写waf,很危险
打开页面,如下,输入127.0.0.1,查看命令执行结果
联想到能否使用命令拼接的方式来执行其它命令:

掌握有关命令执行的知识
windows 或 linux 下:
command1 &&  command2  先执行 command1,如果为真,再执行 command2
command1 |   command2  只执行 command2
command1 &   command2  先执行 command2 后执行 command1
command1 ||  command2  先执行 command1,如果为假,再执行 command2
命令执行漏洞(| || & && )称为 管道符

执行一个 ping 带一个其他命令试试,果然能看到当前目录下的文件

127.0.0.1&&ls

执行成功得到index.php文件,说明成功执行了ls命令,于是我们可以查找所有的以.txt结尾的文件,用find命令,输入:

127.0.0.1 &&find / -name "*.txt"

发现了一个flag.txt文件,利用cat命令查看它

 127.0.0.1 &&cat /home/flag.txt

http://www.ppmy.cn/news/1540327.html

相关文章

MySQL查看当前客户端连接数的方法

每当有客户端连接到 MySQL 时&#xff0c;MySQL 会为该连接创建一个新的线程来处理所有与该连接相关的查询和操作。所以通过查看MySQL当前的连接线程数量就可以知道有多少客户端连接到MySQL。 方法一 Threads_connected 仅显示活跃的客户端连接数 SHOW STATUS LIKE Threads_…

mysql 慢查询记录

mysql> SHOW VARIABLES LIKE ‘slow_query%’; mysql> SHOW VARIABLES LIKE ‘long_query_time’; slow_query_log&#xff1a;慢查询开启状态 slow_query_log_file&#xff1a;慢查询日志存放的位置&#xff08;一般设置为 MySQL 的数据存放目录&#xff09; long_quer…

Swift用于将String拆分为数组的components与split的区别

根据特定分隔符拆分字符串 在 Swift 中,components(separatedBy:) 和 split(separator:) 都可以用于将字符串拆分为数组,但它们有一些关键区别。下面将从返回值类型、性能和功能等角度进行对比。 1. 返回值类型 components(separatedBy:):返回值是 [String](字符串数组)…

什么是优秀的单元测试?

阅读本文之前&#xff0c;请投票支持这款 全新设计的脚手架 &#xff0c;让 Java 再次伟大&#xff01; 单元测试的质量意义 合理编写单元测试&#xff0c;可使团队工程师告别牛仔式编程&#xff0c;产出易维护的高质量代码。随着单元测试覆盖率的上升&#xff0c;项目会更加…

如何测试IP速度?

了解代理的连接速度是否快速是确保网络使用效率和体验的关键因素之一。本文来为大家如何有效地评估和测试代理IP的连接速度&#xff0c;以及一些实用的方法和工具&#xff0c;帮助用户做出明智的选择和决策。 一、如何评估代理IP的连接速度 1. 使用在线速度测试工具 为了快速…

Mysql数据库 | 第一章 | 基本介绍 | 数据库的安装 | 工具下载 | 创建 | 查询 | 备份 | 三层结构

MySQL数据库 P1 数据库的作用 2022/6/19 1.简介 MySQL是一个[关系型数据库管理系统]&#xff0c;由瑞典[MySQL AB](https://baike.baidu.com/item/MySQL AB/2620844) 公司开发&#xff0c;属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一&#xff0c;在 WE…

docker 仓库之harbor详解

Harbor 是一个开源的企业级容器镜像仓库&#xff0c;由 VMware 提供。它基于 Docker 分布式应用程序框架构建&#xff0c;旨在解决企业对容器镜像存储、安全性和可管理性的需求。Harbor 提供了丰富的功能&#xff0c;包括用户权限管理、镜像复制、审计日志、漏洞扫描等&#xf…

Linux Ubuntu dbus CAPI ---- #include<dbus.h>出现“无法打开源文件dbus/xxx.h“的问题

一、确保已安装dbus库和CAPI sudo apt-get install libdbus-1-dev 二、在c_cpp_properties.json的includePath中是否配置了dbus库依赖文件所在的路径 三、编译一个简单的dbus代码&#xff0c;在编译过程中只要出现.h文件找不到的情况&#xff0c;就使用下列命令找到.h文件路径…