小工具知识网

当前位置: 首页 > 行业知识 > ctfshow2024元旦杯web

行业知识

ctfshow2024元旦杯web

2026-11-15 22:32:31 来源:互联网转载

目录

web1 easy_include

方法1:pear文件包含

方法2:session包含利用

web2 easy_web

三个绕过点:

四个绕过点:

web3.孤注一掷

web4  easy_login


web1 easy_include

解析:是一个利用php伪协议中的file协议读取本地文件的题目

难点:加了waf,其作用就是判断传参里面开头是否是字母,是字母就可以通过。

^表示开头,[a-z]表示26个小写字母。

思路:拿到题目在想读取文件的话无外乎两种。

第一种:目录穿越,那就得..进行绕过,可是waf必须字母开头,一开始想找有没有办法绕过,发现此路不通。

第二种:知道文件名,就在当前目录读取,那用dirsearch和查找相关信息都没有,出了一个.htaccess,但没有用,一开始以为有什么信息。

既然现在不知道文件名,那尝试读取一下固定配置信息,例如:

配置文件  /etc/nginx/nginx.conf

访问日志  /var/log/nginx/access.log

但这时候有个难点:

我们只能读取当前目录文件,上面这两个都需要从根目录读取,而限制了/进行首字母传参,这里要运用知识点

localhost可以代替/进行绕过

这时候我们就能读取信息了。

从下面这里可以看到有一个younever00know.log,一开始以为是信息,但后面通过审计代码发现关闭了log,所以无用,看来半天没有找到利用点。

这时候就要想到别的文件包含默认利用点了

方法1:pear文件包含

这个方法的利用要满足几点

安装了pear

开启了registerargcargv

存在可控的include $_GET['f']

当然这里只看到有第三点有类似利用点,但***马当作活马医,先尝试一下,好像有用?

get传参

http://62d91630-839f-4c0d-afe6-504129ab4156.challenge.ctf.show/?+config-create+/+/var/www/html/a.php

post传参

1=localhost/usr/local/lib/php/pearcmd.php

为什么是这样呢,让我们来解析一下

原句是:?file=/usr/local/lib/php/pearcmd.php&+config-create+/+/var/www/html/a.php

pear工具里有一个命令叫:config-create,这个命令需要传入两个参数,其中第二个参数是写入的文件路径,第一个参数会被写入到这个文件中。

第一部分:/usr/local/lib/php/pearcmd.php        这是pearcmd.php文件的固定位置

第二部分:&+config-create+/                            这里就是传参了

第三部分:                   写入参数

第四部分:/var/www/html/a.php                         写入路径

那这里我们读取pear文件是post传参,但创建文件传参是在get中,所以分开了。

这里发现可以利用成功,但这有一点,不要用hackbar穿,因为

上一篇:PHP源码考试秘籍,核心知识掌握,轻松应对挑战!

下一篇:土豆聊天服务器在哪里下载?