首页 > 其他分享 >强网杯_部分WriteUp

强网杯_部分WriteUp

时间:2022-11-23 20:49:14浏览次数:41  
标签:文件 上传 函数 WriteUp 强网杯 flag 序列化 部分 inc

签到

图形用户界面, 应用程序

描述已自动生成

打开得到flag

Falg= flag{we1come_t0_qwb_s6}

Game Master

21点游戏

和打游戏没有太多关系

直接分析重要的函数goldFunc就可以看到是异或 + AES

文本

描述已自动生成

图形用户界面

描述已自动生成

然后对我们的文件进行解密

图形用户界面, 应用程序

描述已自动生成

解密的时候可以吧前面没用的东西删除掉

又得到一个C#

然后解密

图形用户界面, 文本, 应用程序

描述已自动生成

有几个字节对不上,根据题目名称补全得到flag

Flag=flag{ Y0u_@re_G3meM3s7er!}

ASR

N先在factordb开根,然后用yafu分解

文本

描述已自动生成

运行得到flag

图形用户界面, 文本, 应用程序

描述已自动生成

Flag=flag{Fear_can_hold_you_prisconer_Hope_can_set_you_free}

babyweb

注册一个账号登录进去,help一下

图形用户界面, 文本, 应用程序, 电子邮件

描述已自动生成

有一个机器人,他有一个bugreport指令去访问url包括自己的服务器,工具help发现有bugreport http://host:port/login

想到可以劫持登陆的时候有一个admin账户

在自己服务器构造一个能修改admin密码的js文件,通过指令去访问这个页面

然后用admin登录就行了

使用自己服务器构造一个劫持

<html>

<script>

var url = "ws://" + "127.0.0.1:8888" + "/bot";

var ws = new WebSocket(url);

ws.onopen = function(e) {

ws.send("changepw 123456");

}

</script>

</html>

图形用户界面, 文本, 应用程序

描述已自动生成

退出登录admin

图形用户界面

描述已自动生成

可以买flag但是前不够,先买一个提示看看

购买提示给了两个文件,一个是机器人的py文件,一个是交易的go文件,

分析go文件发现可以构造导致溢出,得到flag

使用burp抓包,构造溢出语句,将原来的购买语句改了

{"product":[{"id":1,"num":0},{"id":2,"num":-1}],

"product":[{"id":1,"num":0},{"id":2,"num":0}]}

1659169388112

最后发包,回到页面,得到flag

rcefile

由题目名称得知该题为web中的文件上传题

  1. 首先使用dirsearch对其提供的web地址进行扫描看看有哪些目录文件

图形用户界面, 文本

描述已自动生成

发现其网站下面有以下几个重要目录文件

  1. 下载www.zip这个源码文件

图形用户界面, 文本, 应用程序

描述已自动生成

对其upload.php内容进行查看

可以看到

1)限制了文件上传的大小,文件上传的类型,文件后缀有黑名单检测,

2)以及对返回的文件名进行了随机字符串md5加密

图形用户界面, 文本, 应用程序

描述已自动生成

剩下的文件config.inc.php中

图形用户界面, 文本, 应用程序

描述已自动生成

数据存储于cookie中,通过php反序列化函数还原并显示

同时包含spl_autoload_ register函数,这个函数是自动注册类用的,在当今特别是新型的框架(laravel、composer)中常用。

这个函数有个特点,如果不指定处理用的函数,就会自动包含“类名.php”或“类名.inc”的文件,并加载其中的“类名”类。

而之前的黑名单是不包括“.inc”文件的,

所以我们可以按照下面方法进行getshell:

1.上传webshell,后缀为.inc,被重命名为a181e810daa28a1ccc9058f88b9d24d2.inc

图形用户界面, 文本, 应用程序, Word

描述已自动生成

  1. 序列化一个类名为a181e810daa28a1ccc9058f88b9d24d2的类对象

图形用户界面, 文本, 应用程序, 电子邮件

描述已自动生成

  1. 将序列化以后的字符串作为cookie,发送到服务器上

图形用户界面, 应用程序, Word

描述已自动生成

图形用户界面, 文本, 应用程序

描述已自动生成

4.服务器反序列化这个字符串后,将会自动加载a181e810daa28a1ccc9058f88b9d24d2类,由于之前spl_autoload_register函数注册的方法,会自动加载a181e810daa28a1ccc9058f88b9d24d2.inc,从而造成文件包含漏洞,getshell成功

图片包含 图形用户界面

描述已自动生成

在其目录下发现flag文件

图形用户界面, 文本, 应用程序

描述已自动生成

方法二:黑名单后缀的绕过

上传文件后缀.phar的一句话木马,访问files目录解析后蚁剑连接

Factor

第一部分羊城杯的一个题目变形尝试对 *N*1*N*2 进行连分数展开并求其各项渐进的分数

记为 *t**i**s**i* 并验证 *N*1%*t**k*==0 是不是成立,如果是成立的,那么 *q*1=*t**k*,*q*2=*s**k*

成功可以分解n11,n12.第二部分,第三部分则是d^3ctf一道题目的变形

可以按照那个道题的方法分开构造两个等式即可成功分解得到flag

这边我是在github上拿的已经构造好的脚本改了改

文本

描述已自动生成

得到FLAG

flag = qwb{8633ce6d-fece-4cf1-8f0f-f27e5bf6d678}

标签:文件,上传,函数,WriteUp,强网杯,flag,序列化,部分,inc
From: https://www.cnblogs.com/rule-linux/p/16919711.html

相关文章

  • 数据库(部分讲解)
    字符编码与配置文件1.\s查看MySQL相关信息2.默认的配置文件是my-default.ini#字符编码相关配置[mysqld] character-set-server=utf8mb4 collation-server=utf8m......
  • Mysql数据库部分管理命令极简学习总结
    背景今天遇到一个得很奇怪的问题.Mysql一个运行时间很长的select阻塞了对select里面左连接表做createindex操作的SQL当时感觉不应该,一直以为读锁不会与独占更新锁......
  • mybatis学习第⼗部分:Mybatis源码剖析
    10.1传统⽅式源码剖析:源码剖析-初始化Inputstreaminputstream=Resources.getResourceAsStream("mybatis-config.xml");//这⼀⾏代码正是初始化⼯作的开始。SqlSes......
  • mybatis学习第九部分:Mybatis架构原理
    9.1架构设计我们把Mybatis的功能架构分为三层:(1) API接⼝层:提供给外部使⽤的接⼝  API,开发⼈员通过这些本地API来操纵数据库。接⼝层⼀接收到    调⽤请求就......
  • 数据库(部分讲解)
    存取数据的演变史文本文件文本文件有两个主要的缺点:​ 第一个就是不能保证多用户存取的文件路径一致​ 第二个就是不能保证多用户存取的数据格式一致软件开发目......
  • 异步程序部分用法
    12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455......
  • 直播电商平台开发,css实现超出部分显示省略号,控制文字
    直播电商平台开发,css实现超出部分显示省略号,控制文字 <divclass="content">css实现超出部分显示省略号,控制文字css实现超出部分显示省略号,控制文字</div> /*显示一行......
  • 读书笔记·深入解析CSS·第二部分
    浮动设计初衷浮动能将一个元素拉到容器的一侧,这样文档流就能包围它。双容器模式用于将内容居中。通过将内容放在两个嵌套的容器中,然后给内层的容器设置外边距,让它在外......
  • BUUCTF逆向工程第二页部分题目
    BUUCTF逆向工程第二页部分题目[MRCTF2020]hello_world_go代码写得根本看不懂在干什么,但是瞎点一通发现unk_4D3C58里就是flag:flag{hello_world_gogogo}从结果来看应该是......
  • 数组部分基础&冒泡排序
    数组基础知识 1.数组的创建格式:变量(数组)类型变量(数组)名=变量(数组)值int[]nums;//声明一个数组nums=newint[10];//创建一个数组int[]nums=new......