小白从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所写的,感谢大家支持。

相关推荐
北极无雪22 分钟前
Spring源码学习(拓展篇):SpringMVC中的异常处理
java·开发语言·数据库·学习·spring·servlet
问道飞鱼1 小时前
每日学习一个数据结构-默克尔树(Merkle Tree)
数据结构·学习·默克尔树
William_Edmund1 小时前
Python 语言学习——应用1.2 数字图像处理(第二节,变换)
人工智能·学习·计算机视觉
weixin_514548892 小时前
机器学习课程学习周报十五
人工智能·学习·机器学习
速盾cdn2 小时前
速盾:如何判断高防服务器的防御是否真实?
网络·安全
Themberfue2 小时前
基础算法之双指针--Java实现(下)--LeetCode题解:有效三角形的个数-查找总价格为目标值的两个商品-三数之和-四数之和
java·开发语言·学习·算法·leetcode·双指针
AIGC破防黑吗喽2 小时前
Midjourney零基础学习
人工智能·gpt·学习·ai·stable diffusion·midjourney·ai绘画
LearnTech_1232 小时前
【学习笔记】手写一个简单的 Spring MVC
笔记·学习·spring·spring mvc
你怎么睡得着的!3 小时前
【web安全】——常见框架漏洞
web安全·网络安全·框架漏洞
一尘之中3 小时前
网 络 安 全
网络·人工智能·学习·安全