ctf密码学python重要函数使用(部分)+流量分析发现秘钥

目录

int()函数将一个字符串或数字转换为整型。

split()通过指定分隔符对字符串进行切片

zfill() 方法返回指定长度的字符串,原字符串右对齐,前面填充0。

open() 函数用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写。

file对象方法

with关键字系统会自动调用 f.close() 方法

re.match()函数检查一个字符串是否与某种模式匹配

libnum库

字符串十进制互转

十六进制转字符串

二进制和字符串互转

求 e 关于模 t 的逆 的函数即(d * e) mod t = 1中求d

gymp2库

求 e 关于模 t 的逆 的函数即(d * e) mod t = 1中求d

求大整数a,b的最大公因数

Tcp流量分析题目


int()函数将一个字符串或数字转换为整型。

class int(x, base)

x -- 字符串或数字,若 x 为纯数字,则不能有 base 参数

base -- 进制数,默认十进制。并将x字符串转换为 10 进制数字

split()通过指定分隔符对字符串进行切片

str.split(str="", num=string.count(str)).

str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。

num -- 分割次数。默认为 -1, 即分隔所有。

zfill() 方法返回指定长度的字符串,原字符串右对齐,前面填充0。

str.zfill(width)

width -- 指定字符串的长度。原字符串右对齐,前面填充0。

open() 函数用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写。

open(name[, mode[, buffering]])

name : 一个包含了你要访问的文件名称的字符串值。

mode : mode 决定了打开文件的模式:只读,写入,追加等

buffering : 寄存区的缓冲大小

mode模式选择

r以只读方式打开文件。

rb以二进制格式打开一个文件用于只读。

w打开一个文件只用于写入

wb以二进制格式打开一个文件只用于写入。

file对象方法

file.read([size]):

size 未指定则返回整个文件,如果文件大小 >2 倍内存则有问题。

f.close() 关闭文件

with关键字系统会自动调用 f.close() 方法

re.match()函数检查一个字符串是否与某种模式匹配

re.match(pattern, string, flags=0)

pattern匹配的正则表达式

string要匹配的字符串。

flags标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。

libnum库

字符串十进制互转

libnum.s2n()

十进制转字符串

libnum.n2s()

十六进制转字符串

libnum.n2s(0x)

二进制和字符串互转

libnum.b2s()

字符串转二进制

libnum.s2b()

求 e 关于模 t 的逆 的函数即(d * e) mod t = 1中求d

libnum.invmod()

gymp2库

求 e 关于模 t 的逆 的函数即(d * e) mod t = 1中求d

gymp2.invert()

求大整数a,b的最大公因数

gmpy2.gcd(a,b)

Tcp流量分析题目

1.导出http对象,搜索flag并没有发现什么。

尝试搜索tcp追踪流tcp contains "要搜索的字符"

2.发现有一个秘钥文件

3.查看此追踪流的下一条追踪流发现秘钥文件内容

想起添加TLS私钥查看加密传输数据

4. 编辑->首选项->protocols->TLS,再把key文件导入

5.再次搜索tcp contains “flag”关键字发现flag

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值