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

news/2024/5/19 22:54:45 标签: 学习, web安全, 安全, ctf

文章目录

  • 前言
  • 一、baby lfi(bugku-CTF)
    • 1、简介
    • 2、解题思路
      • 1、解题前置知识点
      • 2、漏洞利用
  • 二、baby lfi 2(bugku-CTF)
    • 1.解题思路
      • 1、漏洞利用
  • 三、lfi(bugku CTF)
    • 1、解题思路
      • 1、漏洞利用
  • 总结


前言

此文章是小白为了学习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就行了。
具体如下

http://82.157.146.43:10873/?language=/etc/passwd

最后得到flag
在这里插入图片描述

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
在这里插入图片描述

shellmates{yOU_M4De_yOUr_waY_7hRough_iT} 

三、lfi(bugku CTF)

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

1、解题思路

1、漏洞利用

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

在这里插入图片描述
有php基础的就知道这个是一个过滤关键字的函数,没有见过的也不要慌张,我们搜一搜就知道了。
在这里插入图片描述
本题过滤就是将用户传参的language参数的关键字…/替换为空了
因为这里只过滤了一次,我们可以双写绕过。比如…//过滤后变为…/
构造路径为…//…//…//…//etc/passwd
最后得出flag
在这里插入图片描述

总结

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


http://www.niftyadmin.cn/n/5460406.html

相关文章

【送书福利第六期】:《AI绘画教程:Midjourney使用方法与技巧从入门到精通》

文章目录 一、《AI绘画教程:Midjourney使用方法与技巧从入门到精通》二、内容介绍三、作者介绍🌤️粉丝福利 一、《AI绘画教程:Midjourney使用方法与技巧从入门到精通》 一本书读懂Midjourney绘画,让创意更简单,让设计…

Android熄屏/亮屏,旋转屏幕/横竖屏切换生命周期变化与activity销毁重建

Android熄屏/亮屏,旋转屏幕/横竖屏切换生命周期变化与activity销毁重建 1、熄屏/亮屏 熄屏后,Android生命周期走: onPause onStop 接着点亮Android手机屏幕,生命周期走: onRestart onStart onResume 2、旋转屏幕&…

ubuntu常用记录

常用命令 ps aux |grep ... pip show pkgname nvidia-smi -l du -sh * df -h head -n 10 file.txt htop sudo apt install package_name kill process_id 软链接 在 Linux 中,软连接(Symbolic Link,也称为符号链接或软链接)是一…

商品数据化运营---初步整理

商品数据化运营是指利用数据分析技术来优化商品的销售、管理和推广过程。这种方法结合了数据科学、商业智能、市场分析和消费者行为研究等多个领域的技术和理论,旨在通过分析大量的商品和销售数据来提高商品的市场表现和企业的利润。 以下是商品数据化运营的一些关…

在 Linux 中通过 SSH 执行远程命令时,无法自动加载环境变量(已解决)

问题场景 目前我的环境变量都存储在 /etc/profile 文件中,当我通过远程 SSH 执行一些命令时,提示命令找不到,如下所示: 问题出现原因 这里找到了一张出自尚硅谷的图片,很好的解释了该问题: 这是由于 Linu…

mysql一些常用查询语句

版本:8.0 查询正在执行表或者使用者的执行信息 select t1.* from (select * from information_schema.PROCESSLIST ) t1 WHERE INFO like "%sp_aqc_org_patent_m%" ORDER BY TIME DESC;select t1.* from (select * from information_schema.PROCESSLIST ) t1 WH…

为什么用了索引,搜索速度还是很慢

索引列选择不当 1.假设有一个包含性别信息的表,其中有1000条记录,其中男性占 99%、女性占 1%。如果在性别列上创建索引,由于选择性太低,大部分查询都会涉及到表中的绝大多数行,这时候数据库优化器可能会认为全表扫描比…

3D汽车模型线上三维互动展示提供视觉盛宴

VR全景虚拟看车软件正在引领汽车展览行业迈向一个全新的时代,它不仅颠覆了传统展览的局限,还为参展者提供了前所未有的高效、便捷和互动体验。借助于尖端的vr虚拟现实技术、逼真的web3d开发、先进的云计算能力以及强大的大数据处理,这一在线展…