HDO清风
码龄2年
关注
提问 私信
  • 博客:19,031
    动态:39
    19,070
    总访问量
  • 41
    原创
  • 452,114
    排名
  • 16
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:黑龙江省
  • 加入CSDN时间: 2022-09-11
博客简介:

qq_73667990的博客

查看详细资料
个人成就
  • 获得31次点赞
  • 内容获得3次评论
  • 获得18次收藏
  • 代码片获得297次分享
创作历程
  • 26篇
    2023年
  • 15篇
    2022年
成就勋章
TA的专栏
  • 练习题
  • 逆向
    30篇
  • pwn
    5篇
  • 密码学
    5篇
兴趣领域 设置
  • 测试
    测试用例
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

174人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

[深育杯 2021]find_flag wp(绕过PIE和canary 格式化字符串 栈溢出 )

直接跳到格式化字符串漏洞处,然后查看栈结构,rbp上下分别是canary和返回地址。所以我们要输入0x40-0x8来把v2到canary填充完,然后再原封不动的输入canary,然后再输入0x8个a填充rbp指针,然后再输入后门函数地址覆盖返回地址。所以我们栈的第一个位置其实是rdi,所以canary和return的位置分别为17和19,我们输入。开了canary保护,栈溢出时,要还原canary,开了PIE,地址会改变。有了返回地址,我们减去偏移就能得到程序基地址,返回地址偏移为0x146F。
原创
发布博客 2023.06.28 ·
700 阅读 ·
3 点赞 ·
0 评论 ·
2 收藏

pwn3-绕过防御-ROP(1)

*ROP:**全程Return Oriented Programming(面向返回的编程),在栈溢出基础上,利用程序中已有的小片段(gadgets),改变寄存器或变量的值,从而控制程序执行流程,从而绕过NX防御,常见有ret2text,ret2syscall,ret2libc(最常用)…**gadgets:**以ret结尾的指令序列,通过这些序列可以修改某些地址的内容。ROP攻击满足的条件:1.存在溢出,且可以控制返回地址2.满足条件的gadgets。
原创
发布博客 2023.06.08 ·
848 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

pwn(2)-栈溢出下

只要我们通过特定的汇编代码把特定的寄存器设定为特定的值后,在调用int 80h执行sys_execve(“/bin/sh”,NULL,NULL)就可以获得shell了;64位程序传递参数不是直接通过栈,而是前六个参数通过寄存器,分别是RDI,RSI,RDX,RCX,R8,R9。不同内核态操作通过给寄存器设置不同的值,在调用指令int 80h,就可以通知内核完成不同的功能。2.ebx设为"/bin/sh"字符串的地址。2.RDI设为"/bin/sh"字符串的地址,RDI=&(“/bin/sh”)
原创
发布博客 2023.06.08 ·
1439 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

pwn(1)-栈溢出(上)

0x7fffffffcb18和0x7ffffffffcb28中,再后面就是函数返回地址了。gets函数可以无限写入,把前面注满,就到了存储返回地址的地址,就可以改变返回地址。gdb调试到push操作esp会减少4,ebp不变,只改变栈顶。后面的3131就是输入1的填充结果,如果我们把这个地址填充成。栈的高地址在下低地址在上,先进入的数据压入栈底。要想修改返回地址,就要知道要溢出多少个字节。可以看到,他会提示你该返回地址不存在。我们把它输入到程序,可以看到地址被修改。运行到ret后,返回会main函数,
原创
发布博客 2023.06.08 ·
802 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

pwn入门(0.0)

程序执行要确定下一条指令的地址,就是PC,寄存器位EIP即指针寄存器。xor:异或,可以避免坏字节/x00的出现;每个函数都有属于自己的栈帧,如何保证函数栈帧正确,通过esp和ebp。为定义变量扩展空间,定义一个char a[10],就把栈顶指针向上抬。and/or/not/neg:与/或/逻辑非(反码)/非(补码)mil/imul:无符号整数乘法/有符号整数乘法。div/idiv:无符号整数除法/有符号整数除法。push:操作数压入栈顶,栈顶指针减小。代码区,数据区,堆区,栈区。
原创
发布博客 2023.06.08 ·
566 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

NSSCTF [suctf 2019]hardcpp WP 控制流混淆

32位,盲猜md5加密,去进行解密,得到符号#,说明第一个字符是#,即知道了s[v19-1],v19=1;.又知道了v18即enc,我们就可以求出第二位,同理得到所有,脚本如下。所以v20本来应该为1,其实为21,不过v20的作用不大。这里是个混淆,无论if跳不跳转,v20都等于s长度,注意s前面加了地址符&,然后再与enc[v19 - 1]比较,然后v19加1。六个大爹干完了,然后再对逻辑进行分析,就是一直变换,就是解方程。然后输入字符串,其中第一个值给s,然后再给v24。就是返回v5低位,就是a2。
原创
发布博客 2023.05.08 ·
560 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

GDOUCTF L!s! WP

首先是道二进制文件差异的题目工具下载后将.dll文件复制到plugins文件夹题目的意思是让你找出差异在哪里然后根据这段差异的代码,求出flag.随便打开一个二进制文件,然后关掉保存.i64文件,再打开另外一个文件,ctrl+6打开bindiff插件,选择刚才保存的.i64文件最下面的就是差异最大的地方。分别查看两个文件的这个函数然后就是多了个这一段给出了lmao,然后赋值给V8,再对V7进行异或,这里不知道V7的值,只能爆破,但是提示了V7的类型是BYTE类型。
原创
发布博客 2023.05.08 ·
171 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

GDOUCTD NSSCTF2023广东海洋大学比赛WP RE(上) Tea Check_Your_Luck

下载文件是cpp是个解方程的题,用python的z3。
原创
发布博客 2023.04.18 ·
768 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

PE文件解析

PE结构图工具101editor。
原创
发布博客 2023.04.15 ·
243 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

x86汇编

AX累加,算术运算或函数返回值存储基址寄存器(BX),指向数据的指针计数寄存器CX,移位,循环,一些量数据寄存器DX,运算超过16位,高16位放在DX堆栈指针寄存器SP,用于指向栈顶栈基址指针寄存器BP,指向堆栈底部源变址寄存器SI,指向流操作的源的一个指针目标索引寄存器DI,流操作指向目标的指针。
原创
发布博客 2023.04.15 ·
224 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

快速幂算法

用C语言的递归表示上述步骤。在高中,有时候需要计算6。n为偶数 ,结果为a。
原创
发布博客 2023.04.09 ·
51 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ctfshow 1024杯 抽象的代码WP(梅森素数)

分析函数逻辑,函数x判断是否为素数,若是素数就和c的元素进行异或,但是判断是否为素数的时候,是对2的n次幂进行判断而列表c的长度为29,就是说要判断2**29次幂是否为素数,学过c语言的都知道,数太大了,需要很长很长时间才能循环判断完毕,有两种解决办法,一种就是生成素数表,另外一种方法就是梅森素数。我们知道与c元素异或的在z(K)一定为素数,由梅森素数数可知这个k也一定为素数,我们直接给出梅森素数的k就行了。梅森素数(2k−1)的梅森指数(k 值)必定也是素数。
原创
发布博客 2023.04.06 ·
116 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

三个小时手搓字节码(CTFshow 1024杯 抽象的代码)

题目就是python的字节码,其中python内置模块dis可以查看代码对应的字节码。
原创
发布博客 2023.04.06 ·
95 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

愚人杯re easy_pycWP

是一个简单的异或操作,直接就能看出来的容易。首先把pyc文件变成py文件。
原创
发布博客 2023.04.05 ·
154 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

月饼杯re3_若无月

感觉MSG==1比较有可能,但是问题来了,打开窗口程序是一个全屏的,而且进行任何操作都会触发关闭窗口的指令,我们就要对程序作出修改,首先改掉全屏大小。多么经典的窗口程序的反汇编代码,跟上次华科大比赛的flag自动机简直一模一样,于是我就想想上次一样,通过想窗口发送消息让窗口把flag给我们。在FindCrypto插件里面找到了base64密码表,然后查看引用,发现了是RC4,利用加密后的数字作为base表的索引,然后返回。然后还是我太天真了,直接卡死程序,然后就只能分析窗口处理程序了。
原创
发布博客 2023.03.21 ·
146 阅读 ·
1 点赞 ·
1 评论 ·
0 收藏

利用API引进ntdll

从指定的动态链接库 (DLL) 检索导出函数 (也称为过程) 或变量。
原创
发布博客 2023.03.20 ·
156 阅读 ·
1 点赞 ·
1 评论 ·
0 收藏

月饼杯re2_归心(java反汇编的新知识)

python打包成exe非常常见,然后题目提示让我们猜猜这是什么语言打包成的exe,首先排除python,其次排除C语言(c语言包非常常见),然后我排除了Java,因为Java不像python有打包库,以及C语言的gcc XXX;既然猜不出来那就硬看呗。然后有flag,但是往下继续想,可不可以把ida Strings窗口里面关于JAVA的字符全部屏蔽,然后就是直接进行一个反汇编,然后通过这个反汇编代码,找到Hint这是个JAVA打包的exe程序,然后再对class文件进行分析,这难度就一下子上来了。
原创
发布博客 2023.03.20 ·
152 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

月饼杯re1 西北望乡

直接主函数打开,让你输入一个flag,然后对flag进行处理,上面说了flag是45个字符然后全为小写,但是,falg其实有数字。好好数一数多少位,45位,但是dog出题人又在程序里写了句莫名其妙的话。然后发现最后五个爆破不出来,tnnd爆破不出来就对了因为最后五位是。有数字,需要另外爆破,我们知道了最后一位是“}”,就只需要爆破四位。每次循环乘的系数都一样,我们知道了处理后的结果以及前五位。分析k和m循环发现flag每五个字符一处理。,可以先爆破三个系数然后每5个一爆破。然后flag就出来了。
原创
发布博客 2023.03.19 ·
95 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

进程重影!!!

正常的删除文件操作,在删除已经被映射到内存的文件时,windows会报错阻止删除。也就是是我们要先删除文件再映射到内存,但是文件都已经被删除了怎么映射呢?首先了解进程创建过程但是,PsSetCreateProcessNotifyRoutineEx并不是在创建进程的瞬间就完成的。在执行这一段代码时不会被调用而是执行了下面代码才会调用这里就出现了时间差,可以在PsSetCreateProcessNotifyRoutineEx之前对文件进行修改,删除,伪装成普通文件。然后来解决开头的问题解决方法是。
原创
发布博客 2023.03.19 ·
241 阅读 ·
0 点赞 ·
1 评论 ·
1 收藏

BJDCTF2020 Easy WP

ida动调发现程序设计的就是不执行这段函数,我们可以通过修改EIP的值来使ida执行这段函数。双击EIP将地址改为que函数的地址401520。然后一个一个函数的找,找到了个输出符号的函数。对处理后的数据进行判断然后输出字符*得到flag{HACKIT4FUN}ida打开,让我找flag。首先再main函数下个断点。
原创
发布博客 2023.03.17 ·
119 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多