摘要:
访问题目,发现需要计算运算式,一千次后给flag 和2020数字中国创新大赛虎符网络安全赛道的一道pwn题差不多,但这次我用了正则匹配,也没啥技巧 直接贴exp: #!/usr/bin/python import requests,time,re url="http://86448d73-6092- 阅读全文
摘要:
试用期到了,需要购买license才能继续用,于是就萌生了破解的想法 先理清程序逻辑。和一般的crackme一样,程序会对用户名和密码进行认证 认证失败会弹出提示框 64位程序,直接用x64dbg打开,搜索上图出现的字符串, 很快就找到了对应的位置 往上翻,在0x7FF6A7A9F6C3能看到疑似认 阅读全文
摘要:
writed by:bmu战队 1.Easy-RSA下载附件后,发现是一个flag.en文件和一个rsa_private_key.pem的私钥文件 放到kali上,使用命令openssl rsautl -decrypt -in flag.en -inkey rsa_private_key.pem结 阅读全文
摘要:
checksec看防护: 部分rel,说明got劫持可行 create: edit: delete: 题目有后门函数但buu环境无法利用,所以要通过House of Spirit伪造chunk getshell house of spirit原理 house of spirit构造chunk时有几个 阅读全文
摘要:
下载题目源码,审计index.js,这里贴出关键代码 发现了几个路由,在DeveloperControlPanel中发现了用户的认证,flag关键字提示我们通过认证就能拿到flag,认证需要post key和password,最后会进行校验。继续往下看可以看到Privilege有NewAttribu 阅读全文
摘要:
这就是堆的入门题吗,爱了爱了 add: add一个note会malloc两个堆,第一个堆不可控,大小默认为0x8,储存函数。第二个堆是用户可控的context。 delete: delete进行free操作,但是没有把指针置null,因此存在uaf漏洞。 uaf简介:https://ctf-wiki 阅读全文
摘要:
查看保护 main函数 backdoor函数 read栈溢出,但空间不够,并且开启了canary,printf存在明显的格式化字符串。 覆写got表中的__stack_chk_fail地址为backdoor的地址 计算出偏移为6 exp: #!/usr/bin/python from pwn imp 阅读全文
摘要:
这道题用来做栈迁移的例题真是再合适不过了 查看防护 main函数 存在hack函数,执行系统命令echo flag。没有binsh,需要自己写入 vuln函数 很明显是栈溢出,但是溢出的空间不足。read大小为0x30,s变量和ebp距离为0x28。只能覆盖ebp和ret。 因此使用栈迁移解决栈空间 阅读全文
摘要:
简单的32位rop 读取随机数并传入。sub_804871F的返回值作为sub_80487D0的参数 第二个read就是溢出点 strncmp对我们输入的内容和随机数进行了的比较,通过\x00终止strlen函数来绕过后面的strncmp。 之后就可以进行正常的rop 计算覆盖v5的偏移0x2c-0 阅读全文
摘要:
这题还行,就是自己脑子一抽反向shell试了好久。。。。。。 main.py代码如下 1 #!/usr/bin/python3 2 import logging 3 import re 4 import subprocess 5 import uuid 6 from pathlib import P 阅读全文