web刷题记录(1)

news/2024/9/21 0:39:00

[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)
 
 
所以payload
 
127.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://lihuaxi.xjx100.cn/news/2178274.html

相关文章

报错 Attempt to assign to const or readonly variable 前端 const

Attempt to assign to const or readonly variable 遇到这个错是因为给const声明的变量进行第2次赋值。 因为const声明的变量只能进行一次赋值&#xff0c;即常量。 ES6标准引入了新的关键字 const 来定义常量&#xff0c;const 与 let 都具有块级作用域。 const 定义的是常量…

【Linux进程篇】Linux进程管理——进程创建与终止

W...Y的主页 &#x1f60a; 代码仓库分享&#x1f495; 目录 进程创建 fork函数初识 写时拷贝 fork常规用法 fork调用失败的原因 进程终止 进程退出场景 _exit函数 exit函数 return退出 进程创建 fork函数初识 在linux中fork函数时非常重要的函数&#xff0c;它从已…

MoE模型大火,源2.0-M32诠释“三个臭皮匠,顶个诸葛亮”!

文 | 智能相对论 作者 | 陈泊丞 近半年来&#xff0c;MoE混合专家大模型彻底是火了。 在海外&#xff0c;OpenAI的GPT-4、谷歌的Gemini、Mistral AI的Mistral、xAI的Grok-1等主流大模型都采用了MoE架构。而在国内&#xff0c;浪潮信息也刚刚发布了基于MoE架构的“源2.0-M3…

OpenHarmony面向万物智联的应用框架的思考与探索

应用框架&#xff0c;是操作系统连接开发者生态&#xff0c;实现用户体验的关键基础设施。业务的飞速发展促进了应用框架不断演进和变化。 01►业界应用框架的演进 应用是用户使用操作系统/设备的入口&#xff0c;应用框架则是应用开发和运行的基础设施。以移动端为例&#x…

python+selenium - UI自动框架之封装查找元素

单一的元素定位方法不能满足所有元素的定位&#xff0c;可以根据每个元素的特点来找到合适的方法&#xff0c;可以参考下图的方法&#xff1a; elementFind.py from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_con…

Linux基础指令用户管理002

继Linux基础指令用户管理001我们讲述了创建用户和删除用户&#xff0c;我们讲一下如何设置用户密码以及修改用户信息。 操作系统 CentOS Stream 9 设置用户密码 我们使用passwd指令passwd name [rootlocalhost ~]# passwd wg 更改用户 wg 的密码 。 新的密码&#xff1a; …

前端 CSS 经典:filter 滤镜

前言&#xff1a;什么叫滤镜呢&#xff0c;就是把元素里的像素点通过一套算法转换成新的像素点&#xff0c;这就叫滤镜。而算法有 drop-shadow、blur、contrast、grayscale、hue-rotate 等。我们可以通过这些算法实现一些常见的 css 样式。 1. drop-shadow 图片阴影 可以用来…

windows 安装 使用 nginx

windows 安装 使用 nginx nginx官网下载地址&#xff1a;https://nginx.org/en/download.html 下载稳定版本即可 下载压缩包解压到即可 进入文件夹中&#xff0c;打开命令行窗口&#xff0c;执行启动命令 start nginx.exe验证&#xff08;默认是80端口&#xff09;&#x…