一个简洁的页面,到此为止我们并不能看出可以利用哪些攻击方式,我们跟踪一下函数encrypt和begin发现begin只是一个简单的显示程序,而重点在于encrypt函数,我们观察其程序内容: intencrypt(){size_tv0;// rbxchars[48];// [rsp+0h] [rbp-50h] BYREF__int16 v3;// [rsp+30h] [rbp-20h]memset(s,0,sizeof(...
BUUCTF-ciscn_2019_c_1 检查,有nx保护 ida分析 里面没有system函数和/bin/sh字符,基本上就是要自己构造rop链也就是ret2libc。 分析他的加密函数,程序逻辑是输入一个字符串,按照内置加密函数逻辑加密转化为密文。但存在溢出漏洞。 gets函数可以栈溢出,而且14行有个 if ( v0 >= strlen(s) ); 当不满足条件...
BUUCTF-刷题记录 编程算法shelltcp/ip 使用ida查看伪代码可以看到这个get_flag函数要求传入的两个参数必须为814536271和425138641即可直接读取flag 偏有宸机 2020/11/04 2.2K0 sctf_2019_easyheap 的两种解法 c++网络安全安全 直接用shellcode解的方法比较容易,但是另一种攻击stdout泄露地址的方法更为巧妙 赤道企鹅 ...
[BUUCTF]ciscn_2019_c_7 ciscn_2019_c_7 总结 主要是限制了UAF的chunk的大小为0x20,并且限制了add的次数,就很难受,并且题目用的还是calloc,没有使用tcache。最后还是使用fastbin attack+...
技术标签:buuctfret2lib 查看原文 Pwn-10月24-hitcon(二) 某一个函数的GOT条目的地址传给write函数,就可以泄漏这个函数在进程空间中的真实地址,GOT表中所存的puts函数的地址便是在ret2lib进程中的实际地址。 IDA里面看看: 通过命令readelf -Vret2lib可以查到其libc库版本为libc.so.6: 通过pwntools的elf模块我...
BUUCTF[CISCN2019华北赛区Day2Web1]HackWorld id=0 id=1 id=2 id=3 发现结果不⼀样,尝试 : ">4","=4","<4" :在⾃⼰的环境下验证⼀下:爆⼀下数据库:id=(ascii(substr(database(),1,1))>32)'''@Modify Time @Author --- --- 2019/10/25 19:28 laoalo '''import ...
byteCTF 2019 2019-11-25 11:30 −本文作者:z3r0yu 由“合天智汇”公众号首发,未经允许,禁止转载! 0x00 前言 周末的比赛质量还是挺高的,特别是boring_code,有点烧脑但是做的就很开心。 0x01 boring_code 题目描述 http://112... 蚁景网安实验室 ...
BUUCTF—ciscn_2019_c_1 先看看开了什么保护机制 打开64位ida看看 这个程序其实就是给你一个菜单,有两个功能,2号功能没啥用,我们重点看1号功能 这个一看就是gets输入栈溢出 看了一下程序没有system函数,所以要泄露libc,回到刚刚的1功能,它会把把输入的分类异或上一个数字,那么这个我们有两种思路,第一种是去...
buuctf上的一道pwn题,原题的encrypt函数里存在gets导致的栈溢出,然后ret2libc搞定。 intencrypt() { size_tv0;// rbx chars[48];// [rsp+0h] [rbp-50h] BYREF __int16 v3;// [rsp+30h] [rbp-20h] memset(s,0,sizeof(s)); v3 =0; ...
from pwn import * sh = remote('node4.buuoj.cn', 25875) #elf = ELF('./ciscn_2019_c_1') #print(hex(elf.got['puts'])) pop_rdi_ret = 0x0000000000400c83 puts_plt = 0x00000000004006E0 main_addr = 0x0000000000400B28 puts_got = 0x0000000000602020 len = b'A' * 88 #gdb.attach(sh)...