buumisc(5)
buu刷题目记录(第五页)
buumisc(5)buu第五页,取证什么的后面在一块学习一下,目前暂时跳过了
[*CTF2019]otaku伪加密之后得到一个doc和一个zip,看到doc里面有大量信息,有空白,转换成GBK编码之后使用明文破解,得到密码My_waifu,解压后得到一个png+txt,zsteg分析png得到:zsteg flag.png
1*ctf{vI0l3t_Ev3rg@RdeN}
[UTCTF2020]sstv得到一个文件wav文件,然后根据题目提示得到sstv
kali下安装和使用sstv,安装apt-get install qsstv
打开后Options->Configuration->Sound勾选From file
然后选择音源,点击这个小箭头然后选择音源
得到flag
1utflag{6bdfeac1e2baa12d6ac5384cdfd166b0}
[GKCTF 2021]excel 骚操作你真的了解excel吗
excel有的位置没有限制,但是里面有值,全选然后按照下图设置单 ...
python沙箱逃逸
主要总结和学习一下Python沙箱逃逸。
Python沙箱逃逸前置知识12345678910111213141516171819202122232425262728__name__ 是属于 python 中的内置类属性,就是它会天生就存在于一个 python 程序中,代表对应程序名称。自己的__name__在自己用时就是 main,当自己作为模块被调用时就是自己的名字一段程序作为主线运行程序时其内置名称就是 __main__print(__name__) #mainid()函数返回对象的唯一标识符,标识符是一个整数。CPython 中id()函数用于获取对象的内存地址。print(id(max)) #2964786132208print('whoami'[::-1])#imaohw反转getattr() 函数用于返回一个对象属性值。获取对象属性后返回值可直接使用:Python中is与==的使用区别==是比较两个对象的内容是否相等,即两个对象的“值“”是否相等,不管两者在内存中的引用地址是否一样。is比较的是两个实例对象是不是完全相同,它们是不是同一个 ...
misc脚本
主要介绍比赛misc常用的脚本。
1.TTL隐写12345678910111213IP报文在路由间穿梭的时候每经过一个路由,TTL就会减1,当TTL为0的时候,该报文就会被丢弃。TTL所占的位数是8位,也就是0-255的范围,但是在大多数情况下通常只需要经过很小的跳数就能完成报文的转发,远远比上限255小得多,所以我们可以用TTL值的前两位来进行传输隐藏数据。如:须传送H字符,只需把H字符换成二进制,每两位为一组,每次填充到TTL字段的开头两位并把剩下的6位设置为1(xx111111),这样发4个IP报文即可传送1个字节。根据上述规则,可以知道TTL隐写中用到四个值:00 111111(63),01 111111(127),10 111111(191),11 111111(255)解密的时候只取前两位,然后转换成ascii简化一下,可以这么认为:00 替换 6301 替换 12710 替换 19111 替换 255
脚本如下
1234567891011121314151617181920212223242526import binasciiwith open('atta ...
bmz刷题目记录
bmz刷题目记录
Crypto4进制有附件,附件内容
11212 1230 1201 1213 1323 1012 1233 1311 1302 1202 1201 1303 1211 301 302 303 1331
可以根据题目名称可以知道需要用四进制转换成十进制,然后十进制转换成字符得到flag,exp如下:
123456789a='1212 1230 1201 1213 1323 1012 1233 1311 1302 1202 1201 1303 1211 301 302 303 1331'flag=''for i in a.split(' '): sum=0 for j in range(len(i)): sum+=int(i[j])*(4**(len(i)-j-1)) #print(sum) flag+=chr(sum)print(flag)
2018 AFCTF Morse有附件,附件内容
1-..../.----/-..../-..../-..../...--/- ...
sunlogin_rce复现
记录一下向日葵rce复现和端口扫描学习。
0x00 简介1向日葵是一款免费的,集远程控制电脑手机、远程桌面连接、远程开机、远程管理、支持内网穿透的一体化远程控制管理工具软件。
0x01 漏洞概述12https://www.cnvd.org.cn/flaw/show/CNVD-2022-1027上海贝锐信息科技股份有限公司向日葵个人版for Windows存在命令执行漏洞,攻击者可利用该漏洞获取服务器控制权。
0x02 影响版本1上海贝锐信息科技股份有限公司 向日葵个人版for Windows 11.0.0.33
0x03 环境搭建目前官网只有最新版可以下载V 12.5.1.44969(2022.02),之前可以根据爆破versionid来下载不同版本,但没成功,直接找了漏洞版本
这边用的版本是向日葵远程控制_11.0.0.33162,可以直接免安装运行
运行左下角可以看到绿色连接服务器成功,并且有识别码和验证码,这样基本上环境就弄好了。
0x04 漏洞复现客户端在运行的时候会开启一个40000+的端口,首先用端口扫描得到这个端口,我用的是nmap
1nmap -sS - ...
base64加密原理和隐写
本文主要记录base64原理及base64隐写的原理。
base64加密base64 是一种编码方式, 是一种可逆的编码方式
编码后的数据使用64个可打印ASCII字符(A-Z、a-z、0-9、+、/)将任意字节序列数据编码成ASCII字符串
一共64个字符:26+26+10+1+1=64,外加“=”符号用作后缀用途。
因为2的6次方等于64,所以需要6位二进制来表示,表示数值从0到63,对应上表的64个数值。
加密过程123451.首先将待编码的内容转换成8位二进制,每3个字符为一组2.如果编码前的长度是3n+1,编码后的内容最后面补上2个 ‘=’,如果编码前的长度是3n+2,编码后的内容最后面补上1个 ‘=’3.再将每一组的二进制内容拆分成6位的二进制,不足6位的后面补足04.每个6进制的数字前面补足0,保证变成8位二进制5.将补足后的内容根据base64编码表转换成base64内容输出
首先是将明文字符串转换为二进制的形式,此处建议明文字符串使用ASCII字符,防止后期界面的时候不可打印
在加密过程中有两种情况:
明文长度是三的倍数
明文不是三的倍数
明文字符串长度是 ...
Ubuntu更新python
主要记录一下更新Ubuntu更新python的踩坑记录。
版本确定Ubuntu 16.04 中安装为例,一开始的时候python3 --version
可以看到是Python 3.5.2
准备操作12apt可以看作apt-get和apt-cache命令的子集,可以为包管理提供必要的命令选项。apt-get虽然没被弃用,但作为普通用户,还是应该首先使用apt。
Ubuntu系统自带的源都是国外的网址,国内用户在使用的时候网速比较慢。建议大家更换国内的源,这里使用阿里源,步骤如下:
备份现在使用的源
1sudo cp /etc/apt/sources.list /etc/apt/sources_init.list
更换源
12345678910111213sudo vi /etc/apt/sources.list把下面阿里云的信息复制进去deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ ...
pwn技巧
主要记录pwn学习过程中的一些东西。
python 内置函数1234567int([x[,base]]) 转换字符串或者数值为整。参数为字符串的时候,必须制定进制base,默认进制是10,可以取[2,36]或者0。为0的时候,进制信息从字符串中获取。Int的返回为10进制的整数。输入为浮点数时,会进行靠近0截断处理。类似的内置函数有float,long等。int('0x1AA',16)bin():把十进制整形转换成二进制字符hex():把10进制转整形换成16进制oct():把十进制转换成八进制字符chr():把一个整形转换成ASCII码表中对应的单个字符 ,该参数必须是在范围[0..255]。把一个整形转换成ASCII码表中对应的单个字符unichr(i)是chr的unicode版本,例如,unichr(97)返回字符串u'a'。参数的取值范围取决于Python如何配置 - 这可能是UCS2 [0..0xFFFF]或UCS4 [0..0x10FFFF]。ord():和chr相反,把ASCII码表中的字符转换成对应的整形
解题步骤思路123 ...
IDA使用说明备忘录
PWN的工具的的指令手册。
IDA基本使用1.打开文件可以被IDA解析的文件包括.exe、.so、.o等格式。
123(1)左窗口为函数列表,一个文件被反编译后所有的函数列表都可以在此窗格中显示;(2)右窗口为汇编代码区,双击每个函数,可以看到对应函数对应的汇编代码段;(3)下窗口为输出窗口,文件反汇编过程中的信息都可以在此窗口中看到。
(1)空格可以切换汇编代码为流程图浏览模式(2)在流程图模式下,绿线代表判定条件成立,红线代表判定条件不成立
2.菜单模块1File , Edit , Jump , Search , View , Debugger , Options , Windows , Help
1234567891.File 是用来打开,新建,装载一个应用程序的2.Edit 是用来编辑反汇编代码的,可以复制,筛选什么的。3.Jump 是用来跳转的,可以有很多种类型的跳转,比如跳转到上一个位置或者下一个位置,跳转到某个指定的地址。还可以根据名字,函数来进行跳转,跳转到一个新的窗口,跳转某一个偏移量等等。4.Serach 是用来搜索的。5.View 是用来选择显示方式的,或 ...
tools
比赛过程中经常遇到不知道编码的解密,于是想到这个挨个尝试一下是何种编码。
1.功能目前支持的界面主要包括这些:
1rot47、rot18、rot13、rot5、des3、aes、des、维吉尼亚密码、莫斯密码、栅栏密码、凯撒密码、图片转base64、base64转成图片、base16、base32、base36、base58、base64、base85,RFC1924型(没什么卵用,就是花里胡哨)、base85,ASCII85型(ctf常用)、base91、base92、base128_2、base128_1、html解码、URL解码、utf-8转码、\xe4\xb8\xad\xe6\x96\x87转中文、字符转成二进制、二进制转成字符、二进制转十六进制、十六进制转二进制
不支持主要包括这些:
1brainfuck、ook、MD5、希尔密码、棋盘密码、普莱费尔密码、Keyboard密码、云影密码、简单位移密码、曲路密码、猪圈密码、培根密码、当铺密码、Rabbit加密、跳舞的小人、QWE加密等
其他解密方式后期可以视情况添加。
2.需要安装的依赖运行版本:python3+下面pi ...