CTF学习——攻防世界

server/2024/10/19 19:35:20/

查看网页源代码的方法

第一种: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/server/133134.html

相关文章

LaTeX教程(016)-LaTeX文档结构(16)

LaTeX教程(016)- LaTeX \LaTeX LATE​X文档结构(16) 接上一讲 我们前面知道&#xff0c;\vref是对\ref的升级&#xff0c;而varioref包也提供了一个对\pageref升级的命令\vpageref。它和\vref的原理很相似&#xff0c;内置了一些判断。 \vpageref[same-page][other-page]{ke…

电脑桌面自己变成了英文Desktop,怎么改回中文

目录 前言找到Desktop查看位置查找目标修改文件名为桌面重启电脑 或 重启 Windows 资源管理器CtrlShiftEsc 打开任务管理器找到 Windows 资源管理器重启 Windows 资源管理器 查看修改结果 前言 许多人在使用电脑的时候发现&#xff0c;我们经常使用的桌面&#xff0c;不知道因为…

C语言笔记(数据的存储篇)

目录 1.数据类型的详细介绍 2.整型在内存中的存储&#xff1a;原码、反码、补码 3.大小端字节序介绍及判断 4.浮点型的内存中的存储解析 1.数据类型的详细介绍 下述是内置类型&#xff1a; char // 字符数据类型 short // 短整型 int // 整型 long …

spring底层原理

本文参考黑马程序员的spring底层讲解&#xff0c;想要更详细的可以去看视频。 另外文章会每日更新&#xff0c;大概持续1个月&#xff01;&#xff01;&#xff01;每天更新一讲 这部分比较抽象&#xff0c;要经常复习&#xff01;&#xff01;&#xff01; 一、BeanFactory与A…

自然语言处理 (NLP) 的 5 个步骤

自然语言处理 (NLP) 的 5 个步骤 引言 如今&#xff0c;我们的世界在数字化连接方面达到了前所未有的水平。信息、见解和数据不断争夺我们的注意力&#xff0c;我们不可能全部消化。对于你的企业来说&#xff0c;挑战在于了解客户和潜在客户对你的产品和服务的看法&#xff0c;…

LeetCode-四数相加-Java

一、题目 给你四个整数数组 nums1、nums2、nums3 和 nums4 &#xff0c;数组长度都是 n &#xff0c;请你计算有多少个元组 (i, j, k, l) 能满足&#xff1a; 0 < i, j, k, l < nnums1[i] nums2[j] nums3[k] nums4[l] 0 示例 1&#xff1a; 输入&#xff1a;nums1…

Vue.js 学习总结(10)—— Vue 前端项目性能优化常用技巧

1. 使用路由懒加载 在 Vue.js 应用中&#xff0c;路由懒加载可以延迟加载路由组件直到它们被需要时才加载&#xff0c;从而减少应用的初始加载时间。示例代码&#xff1a; // router/index.js import { createRouter, createWebHistory } from vue-router;const Home () >…

C++中的vector使用与实现

一、vector的使用 1.1 vector的定义 是一种类模板 template < class T, class Alloc allocator<T> > class vector; 其中的模板参数Alloc是在使用空间配置器&#xff08;内存池&#xff09;&#xff0c;并给了缺省值&#xff0c;暂时不深究 1.2遍历方式 1.…