Writeup for RealWorldCTF2021 Crypto
RealWorld CTF 2021 Crypto 这次比赛有两道crypto,都是ECC相关的,第一道由于之前不了解Demytko体系,比赛期间并未找到paper,未能作出,赛后看了7feilee师傅发的paper才复现出来,第二题倒比较简单,分析出曲线的表达式然后发现在模N上是线性的即可解出。 Old Curse 这题使用的攻击方式是这篇pap…
pwn随机数漏洞
pwn随机数漏洞 PWN中通常使用srand()和rand()配合使用来设置伪随机数。通常当我们输入的数可以覆盖到srand()中的值时,我们可以预测rand()产生固定序列。 关于rand()和sand() rand() rand()函数是使用线性同余法生成随机数,因为其周期特别长,所以在一定范围内可以看成随机的。但每次生成都是固定的序列 我们使…
pwn动态链接库
pwn动态链接库 在众多ROP方法中,重点是要找到system函数的地址来进行ROP,而有的elf源文件中并没有system函数,这时就可以利用libc system 函数属于 libc,而 libc.so 动态链接库中的函数之间相对偏移是固定的。 即使程序有 ASLR 保护,也只是针对于地址中间位进行随机,最低的 12 位并不会发生改变。 所以如…
thumbnail
PLT&GOT
Linux动态链接 一个比喻:发布的文章里复制别人的文字,属于静态链接。给出别人文章的链接,属于动态链接。 Linux下的动态链接是通过PLT&GOT 来实现的 动态链接每个函数需要两个东西: 1.用来存放外部函数地址的数据段 2.用来获取数据段记录的外部函数地址的代码 对应两个表。存放外部的函数地址的数据表为GOT表;存放额外代码的表为P…
thumbnail
Kernel_pwn 入门
kernel pwn的入门学习 1.前置知识 1.1目标文件 kernel pwn题会提供编译好了的内核文件bzImage、文件系统镜像和qemu启动脚本,漏洞点一般位于.ko文件(驱动模块文件)中,该文件允许将内核的功能模块化, 能够方便地添加或删除内核的功能,因此这类文件是便于出题人动手脚的地方,我们要分析的就是这类二进制文件。 寻找用于ROP…
angr-doc 1: Top Level Interfaces
顶层接口 Top Level Interfaces 开始使用angr的第一步是将一个二进制文件加载到一个项目中。我们使用/bin/true为例。 >>> import angr >>> proj = angr.Project('/bin/true') 在angr中,我们通过项目控制一切。你可以使用项目在你…
thumbnail
*CTF2020 writeup by 天璇Merak
*CTF By 天璇Merak Web lottery ECB按照块加密,前后块不相关,开多个用户,把用户A的enc前两块,用户B的 enc后三块拼起来,由于json同名变量覆盖特性,可以使得用户A的lottery为用户B充钱 import requests import string import random import base64 url…
thumbnail
RoarCTF(安全客转载)
RoarCTF By 佛跳墙 WEB ezsql 实现注入。 #coding=utf-8 import requests import threading import string import time import sys pt = '{}0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJK…
thumbnail
纵横杯(安全客转载)
tags: writeup 纵横杯 By 天璇Merak [toc] Web 大家一起来审代码 seacms 后台 admin admin弱密码登录 github搜 cve 后台getshell https://github.com/ciweiin/seacms/issues/10 Vulnerability Name: rce Vulnerabi…
Crypto学习笔记
线性同余(LCG)的攻击 LCG LCG(linear congruential generator)线形同余算法,可以用来递归生成随机数。 $ X_{n+1}=(aX_n+c) mod m $ 其中a,c,m为常数,可以看到生成算法的结构十分简单,要使LCG的最大周期是m需要: 1.GCD(c,m)=1 2.m的所有质因数都能整除a-1 3.若m…