web刷题记录(1)

embedded/2024/9/23 14:27:53/

[GXYCTF 2019]Ping Ping Ping

进入页面,发现有一个传入参数的框,目的就是为了让我们通过参数传入内容来执行代码。这里先传入本地ip,方便后面的ping命令运行

 ls命令来查看,目录中的文件

传入后,发现目录下有flag.php,尝试读取这个文件

发现无法读取,根据回显信息可知,存在绕过,是空格被过滤

空格绕过的方法

过滤空格
$IFS$9
${IFS}
$IFS$1

 尝试绕过

 这里尝试了%09,%20,$IFS$1,都不可以读取,既然flag文件无法读取,尝试读取index.php,成功读取

查看源代码

发现源码中,过滤了f*,l*,a*,g*,看了wp以后,发现这里要用变量拼接绕过,即给两个不同的变量赋值,然后,最终组成flag

成功绕过,查看源代码,得到了flag

除了上面的变量拼接绕过还有base绕过的办法,即将命令用base64编码以后,再通过解码,执行命令,以下是代码

对cat flag.php 进行base64  Y2F0IGZsYWcucGhw
base64 -d   解码
sh (是shell命令语言解释器  通过这个执行base64 -d)所以payload127.0.0.1;echo$IFS$9Y2F0IGZsYWcucGhw|base64$IFS$9-d|sh| 为管道符 直接执行命令   |左边命令的输出就会作为|右边命令的输入

这种方法也可以获得flag,这里就不再展示

[SWPUCTF 2021 新生赛]error

这道sql题,我是用sql-map做出来的,所以这里展示用sql-map的做法,老样子,进入发现有参数的传入口,传参以后,用bp抓包,将抓包内容的文件复制到kali里面,使用sql-map的命令进行检查,因为不确定是哪一种注入形式,所以这里采用五级三风险,发现是时间盲注和报错注入,而且爆出了一个库

既然有了爆出的库,以及注入信息,就改为三级一风险,然后接着爆破

找到了可疑的表,接着往下爆破

找到了flag文件

接着爆字段

最后得到了flag

[LitCTF 2023]1zjs

这里题目信息中提示了js,那么进入后就选择从js文件中找信息

这里想看看这道是不是简单题,所以先在js文件里面筛选有关flag信息的内容

筛选完一遍以后,发现题目本身的文件里面不含有任何直接带flag相关字段的信息

那么尝试从查看器中找相关的线索

发现可疑信息,指向另外一个js文件,尝试访问去找线索

访问以后,发现页面中间有一大段注释,从注释中解读到了线索的信息

继续访问

发现这个文件里面就是一段jsfuck的代码,本来按照做法是去找相关的解密网站,但是我找了很多都是因为过长,而解不出来。通过查找资料可知,可以通过开发者工具的控制台来直接解读,修改一点权限以后,复制粘贴,运行以后得到了flag。

[LitCTF 2023]作业管理系统

 进来以后发现有登录页面,于是尝试弱口令爆破,账号admin,密码admin,或者123456,运气很好第二遍就试出来了,后面发现,在这个界面的源代码里面给了账号密码的信息,所以说,如果没有头绪就多看看源代码然后进行分析。

进入以后,发现有文件上传的点

尝试上传一句话木马

没有什么绕过的,直接一句话木马的php文件也可以上传,上传成功以后,找一下路径

从路径检测可知,木马上传成功,这里使用蚁剑连接

连接成功,进入文件目录去找与flag有关的文件

找了一圈,发现并没有,直接文件名称相关的文件,那这里选择使用虚拟终端来查找与flag相关的信息

成功找到了flag

[SWPUCTF 2021 新生赛]finalrce

进入题目后,发现题目虽然与rce有关但是存在正则表达式,过滤了很多参数,并且要以get传参的方式,将参数传入url这个变量中。这里我考虑了取反来进行绕过,但是发现没有回显。在思考和对wp的解读以后,我觉得这题主要是,遇到一种新的符号,"\"—转义符。我理解的作用就是在一些控制字符被过滤的时候,可以用转义符,让控制符失去原本的含义,变为字面量,但是作用不变,然后发现这里要用到tee命令(这里是大佬博客关于tee命令的用法),这里tee命令的作用是从标准输入读取,再写入标准输出和文件。

 所以,这里是构造的payload

?url=l\s / | tee 1.txt

这里payload的作用前半部分是对正则表达式的绕过,后半部分是使用tee命令,将ls命令读取到的内容,存储到1.txt这个新建的文件中,因为这个命令不会有特别明显的回显(这里这句话我当时就没发现),所以等代码执行完以后,,直接访问1.txt文件

得到了跟flag有关的文件信息

因为在上面给出的代码中,cat命令被限制了,所以通过查询以后,这里使用了另外一个关于查看文件的命令,即tac

但是,直接构造payload发现,还是被拦截了,也不知道是什么被过滤了,再次查看,发现是flag文件的连接的“al”被过滤了,所以,这里再次使用转义符,进行绕过

成功绕过后,tee命令成功执行,将flag文件的相关内容存储到2.txt,通过访问该文件,最后得到了flag的内容

 [UUCTF 2022 新生赛]websign

因为是签到题,所以估计难度不会太大,并且这里给的提示和源码有关,所以选择先看源代码的内容

但是一通操作以后发现F12,ctrl u等直接查看源码的操作被过滤,这里还有两种办法,一种是在URL框中使用开发者工具查看,另外一种是在URL栏中输入view-resource:,这两种方法都可以直接查看到这个网页的源代码

 

开源以后呢,发现那些快速查看源码的方法被禁用的原因是一个js文件的问题,这里其实还有第三种办法,就是直接禁用这个js脚本,然后就可以通过那些快捷的办法来查看源代码

[鹏城杯 2022]简单包含

进入以后,根据题目和代码提示可知,这里要用post传参的方式来将flag作为变量传入数据,并且注释中还给了flag相关文件的路径

 这里先尝试使用伪协议,直接读取flag.php这个文件,但是没有回显,说明还不满足题目的条件

所以这里选择换个思路,选择先读取index.php文件的内容,看看是不是还存在其他的条件来判断

成功读取,复制以后,进行解码查看文件内容

发现确实还存在一个条件判断,这里代码的大致意思是

两者同时满足时waf才生效,所以我们让脏数据的数量大于800

strlen(file_get_contents('php://input')) < 800:它检查通过 php://input 获取的请求主体的长度是否小于 800 字节。

reg_match('/flag/', $path):它使用正则表达式检查 $path 变量是否包含字符串 "flag"。这是为了防止包含敏感文件

所以这里使用python,先生成800字节的内容

然后再以post传参的方式去构造payload,最后成功导出了flag,解码后即获得了flag

 [HDCTF 2023]Welcome To HDCTF 2023

进入题目中以后,发现是一个游戏,根据以往做题经验可知,和flag相关的信息一般都在game.js文件中,然后特别奇怪的是,随便点了几下,flag就弹出来了。。。。。。。。。。。

(手动狗头)但是flag咱该找还是得找啊

进入源码后,发现检索根本检索不到与flag直接相关的信息,只能眼搓,搓了大概五分钟之后,终于找到了,可能和flag相关的信息,是一段jsfuck代码

老样子,丢到控制台里面,跑出来了flag

[LitCTF 2023]Http pro max plus

进入后,根据提示可知,要通过bp修改为本地的ip

抓包以后进行修改

。。。这里因为xff是比较常见的,但是被嘲讽了,通过查找资料可知,还可以用Client-ip来修改,

成功进入了下一个界面,这里要更改的是Referer

因为一直抓包放包太麻烦,所以这里换用repeater

得到了下一步提示,根据提示,修改UA头

让开代理,这里使用的是Via:

 获得了一个文件的路径

访问,有三个超链接,但是没什么用,这里查看源码,发现了相关信息

绕了这么多,居然还有

还好,终于给我拿到了flag

这就是今天的刷题记录。纯小白,如有错误欢迎指正。


http://www.ppmy.cn/embedded/44425.html

相关文章

浅谈traceroute网络诊断工具

traceroute 是一个网络诊断工具&#xff0c;用于跟踪和显示数据包从源主机到目标主机所经过的每一跳&#xff08;路由器&#xff09;的路径。它能够帮助用户识别网络路径中的瓶颈和故障点。traceroute 的工作原理主要基于 ICMP&#xff08;Internet Control Message Protocol&a…

智能边缘计算平台:AIoTedge

在数字化转型的浪潮中&#xff0c;边缘计算正逐渐成为推动智能技术发展的关键力量。AIoTedge&#xff0c;作为一款创新的智能边缘计算平台&#xff0c;以其边云协同的架构和强大的分布式AIoT处理能力&#xff0c;为现代企业带来了前所未有的智能体验和效率提升。 边云协同的架构…

HTML新春烟花盛宴

目录 写在前面 烟花盛宴 完整代码 修改文字

【5.基础知识和程序编译及调试】

一、GCC概述&#xff1a;是GUN推出的多平台编译器&#xff0c;可将C/C源程序编译成可执行文件。编译流程分为以下四个步骤&#xff1a; 1、预处理 2、编译 3、汇编 4、链接 注&#xff1a;编译器根据程序的扩展名来分辨编写源程序所用的语言。根据不同的后缀名对他们进行相…

【PB案例学习笔记】-13 徒手做个电子时钟

写在前面 这是PB案例学习笔记系列文章的第11篇&#xff0c;该系列文章适合具有一定PB基础的读者。 通过一个个由浅入深的编程实战案例学习&#xff0c;提高编程技巧&#xff0c;以保证小伙伴们能应付公司的各种开发需求。 文章中设计到的源码&#xff0c;小凡都上传到了gite…

web前端面试题

web前端面试题 1、前端如何实现优化性能 (1)减少网络时间 ①使用DNS缓存技术 ​ ②减少需要传输的文件尺寸 ​ ③加快文件传输速度 (2)减少发送的请求数量 ①利用浏览器缓存 ​ ②使用合并的图片文件 (3)提高浏览器下载的并发度 ①JS文件放在HTML文档最后 ​ ②使用多个域名 (…

RustGUI学习(iced/iced_aw)之扩展小部件(二十五):如何使用tab部件来创建tab多页面切换?

前言 本专栏是学习Rust的GUI库iced的合集,将介绍iced涉及的各个小部件分别介绍,最后会汇总为一个总的程序。 iced是RustGUI中比较强大的一个,目前处于发展中(即版本可能会改变),本专栏基于版本0.12.1. 概述 这是本专栏的第二十五篇,主要讲述tab页面切换部件的使用,会结…

【RAG论文】文档树:如何提升长上下文、非连续文档、跨文档主题时的检索效果

RAPTOR Recursive Abstractive Processing for Tree-Organized RetrievalICLR 2024 Stanfordhttps://arxiv.org/pdf/2401.18059 RAPTOR&#xff08;Recursive Abstractive Processing for Tree-Organized Retrieval&#xff09;是一种创建新的检索增强型语言模型&#xff0c;它…