小白从0学习ctf(web安全)

文章目录


前言

此文章是小白为了学习ctf所写的,此文章将会采用刷题的形式来记录ctf的解题思路,禁止用此技术进行非法攻击。

一、baby lfi(bugku-CTF)

1、简介

此关卡是在bugkuCTF平台写的https://ctf.bugku.com/

2、解题思路

1、解题前置知识点

首先看到此题目的名字lfi就知道是考察web安全中的文件包含漏洞的知识点了。lfi是本地文件包含漏洞检测。
漏洞简介:

在web应用程序中,程序员为了减少代码的冗余,为了方便代码实现的逻辑性,常常会将文件进行包含。比如开发人员要频繁使用某一个函数,但是又不想在每一个文件都再重新编写一遍,这时就可以将重复使用的函数写在一个文件中,当某一个文件需要使用这些函数时直接包含写好的函数的文件就行了。最常见的php文件包含的是include函数。如果开发人员没有过滤文件包含的参数,攻击者可以包含任意文件达到读取敏感信息等等

2、漏洞利用

打开关卡页面发现有提示

翻译后如下

从提示可以看到我们可以包含/etc/passwd这个文件,这个文件可能有我们想要的flag。那么文件包含漏洞产生的重要条件之一是要有可控参数,刚好提示说使用language参数。那么我们猜想传参参数可能是language了。

最后思路知道了我们就可以尝试了。

我们在url地址加上参数language然后传参/etc/passwd就行了。

具体如下

bash 复制代码
http://82.157.146.43:10873/?language=/etc/passwd

最后得到flag

bash 复制代码
shellmates{10CA1_F11e_1Nc1US10n_m4y_r3ve4l_in7Er3st1nG_iNf0Rm4t1on}

二、baby lfi 2(bugku-CTF)

有了第一题的思路我们顺势做一个2.0版本的本地文件包含漏洞。

1.解题思路

1、漏洞利用

打开关卡页面如图所示

关卡提示到有一个languages的目录,但不会告诉我们这目录有什么。

那么此关卡肯定与languages目录有关了。我们的目的就是包含到/etc/passwd文件。这里我们尝试直接包含发现并不行。页面显示路径非法。

或者尝试这样

也是显示路径非法。我们想是不是得先访问languages目录再访问/etc/passwd目录呢,不然languages目录给的提示就用不上了是吧?

所以我们再尝试包含==./languages/etc/passwd==

发现页面不是显示路径非法,那么有戏。这个时候因为我们不知道languages目录距离根目录多远,所以就一个个试就行,本质是先访问languages目录然后再返回根目录去访问/etc/passwd文件,最后发现得返回五个上级才回到根目录,最后我们成功得到flag

bash 复制代码
shellmates{yOU_M4De_yOUr_waY_7hRough_iT} 

三、lfi(bugku CTF)

这一关是第三关,我们一起看看吧。、

1、解题思路

1、漏洞利用

进入页面发现提示是给了我们一部分页面源代码,str_replace('../', '',$_GET['language']) ;

有php基础的就知道这个是一个过滤关键字的函数,没有见过的也不要慌张,我们搜一搜就知道了。

本题过滤就是将用户传参的language参数的关键字.../替换为空了

因为这里只过滤了一次,我们可以双写绕过。比如...//过滤后变为.../

构造路径为...//...//...//...//etc/passwd

最后得出flag

总结

此文章是小白为了学习ctf所写的,感谢大家支持。

相关推荐
大咖分享课9 分钟前
容器安全最佳实践:云原生环境下的零信任架构实施
安全·云原生·架构
Lester_110110 分钟前
嵌入式学习笔记 - freeRTOS xTaskResumeAll( )函数解析
笔记·stm32·单片机·学习·freertos
jackson凌11 分钟前
【Java学习笔记】Math方法
java·笔记·学习
Humbunklung15 分钟前
PySide6 GUI 学习笔记——常用类及控件使用方法(多行文本控件QTextEdit)
笔记·python·学习·pyqt
sealaugh3229 分钟前
aws(学习笔记第四十三课) s3_sns_sqs_lambda_chain
笔记·学习·aws
阿超爱嵌入式1 小时前
STM32学习之I2C(理论篇)
stm32·嵌入式硬件·学习
淡水猫.1 小时前
ApacheSuperset CVE-2023-27524
安全·web安全
qq_454175791 小时前
c++学习-this指针
开发语言·c++·学习
恰薯条的屑海鸥1 小时前
零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
网络·学习·安全·web安全·渗透测试·csrf·网络安全学习
Bruce_Liuxiaowei2 小时前
Web安全深度解析:源码泄漏与未授权访问漏洞全指南
安全·web安全