CTF学习——攻防世界

查看网页源代码的方法

第一种: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
相关推荐
蒸蒸yyyyzwd11 分钟前
从邓明学习的后端笔记
笔记·学习
机器学习之心34 分钟前
基于变量相关图与残差学习的 GCN 多变量回归方法——混凝土 28 天抗压强度预测
学习·回归·gcn
Rabitebla13 小时前
【Linux】进程控制(十二) 自定义 Shell(二):内建命令与进程工作目录管理
linux·c++·笔记·学习·bash
Gary移动存储固件14 小时前
eMMC5.1协议中文学习讲解(6.6.17~6.6.22.4.6)
学习·ufs·emmc·nand·存储固件
一个天蝎座 白勺 程序猿14 小时前
别让收藏夹替你学习:我搭AI知识体系的完整方法,脚本直接拿去用
人工智能·学习·ai·ai学习
楚山之石15 小时前
【Nat Biomed Eng】Connectome 2.0 超高梯度扫描仪:500 mT/m 与 600 T/m/s 把活体人脑微观结构分辨推进到亚微米级
图像处理·学习·数据分析·mri
坤坤子吖17 小时前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习
LGL6030A21 小时前
Java学习历程31——初识Spring Boot
java·spring boot·学习
阿达和自己1 天前
springboot学习-springboot引入MyBatis-Plus
spring boot·学习·mybatis
旖旎夜光1 天前
【C++ 基础入门】C++11 新特性(中):右值引用、移动语义与完美转发
开发语言·c++·笔记·学习