NewStar CTF[pwn] overwrite WriteUp
IDA打开,查看func()函数,得到以下代码
点击查看代码
unsigned __int64 func()
{
size_t input1[6]; // [rsp+Ch] [rbp-84h] BYREF
char nptr[72]; // [rsp+40h] [rbp-50h] BYREF
unsigned __int64 v3; // [rsp+88h] [rbp-8h]
v3 = __readfsqword(0x28u);
printf("pls input the length you want to readin: ");
__isoc99_scanf("%d", input1);
if ( SLODWORD(input1[0]) > 48 )
exit(0);
printf("pls input want you want to say: ");
read(0, (char *)input1 + 4, LODWORD(input1[0]));
if ( atoi(nptr) <= 114514 )
{
puts("bad ,your wallet is empty");
}
else
{
puts("oh you have the money to get flag");
getflag();
}
return v3 - __readfsqword(0x28u);
}
第一次见到LODWORD和SLODWORD和atoi这几个函数,故学习一下作用,ChatGPT给出的解释是:
- LOWORD
LOWORD 是一个宏,帮助你从一个较大的数字中提取出最低的 16 位(就是最后两字节)。比如说,如果你有一个数字 0x12345678,用 LOWORD 提取出来的就是 0x5678。
2. SLOWORD
SLOWORD 通常是类似于 LOWORD 的一个自定义宏,用于提取低 16 位,具体功能可能和 LOWORD 相同。
3. atoi
atoi 是一个函数,用于把字符串转换成整数。例如,如果你有字符串 "42",使用 atoi 就可以得到数字 42。如果字符串不是一个有效的数字,atoi 会返回 0。
NewStar CTF[pwn] overwrite WriteUp的更多相关文章
- iscc2016 pwn部分writeup
一.pwn1 简单的32位栈溢出,定位溢出点后即可写exp gdb-peda$ r Starting program: /usr/iscc/pwn1 C'mon pwn me : AAA%AAsAAB ...
- 31C3 CTF web关writeup
0x00 背景 31c3 CTF 还是很人性化的,比赛结束了之后还可以玩.看题解做出了当时不会做的题目,写了一个writeup. 英文的题解可以看这:https://github.com/ctfs/w ...
- 社团的CTF逆向题WriteUp
最近社团弄了CTF比赛,然后我就帮忙写了逆向的题目,这里写一下WriteUp,题目和源码在附件中给出 一个简单的逆向:one_jmp_to_flag.exe 这题算是签到题,直接OD智能搜索就完事了, ...
- 由一道CTF pwn题深入理解libc2.26中的tcache机制
本文首发安全客:https://www.anquanke.com/post/id/104760 在刚结束的HITB-XCTF有一道pwn题gundam使用了2.26版本的libc.因为2.26版本中加 ...
- *CTF pwn write up
第一次做出XCTF的题目来,感谢wjh师傅的指点,虽然只做出一道最简单的pwn题,但是还是挺开心的.此贴用来记录一下,赛后试着看看其他大师傅的wp,看看能不能再做出一道题来. babyheap 程序有 ...
- 南京邮电大学CTF隐写术部分Writeup
女神 听说这是女神的私房照,里面藏着flag哦 http://115.28.150.176/misc1.jpg 这个链接居然打不开,摔!万念俱灰!主办方可否给力点! P.S.为了方便日后学习,暂时列下 ...
- 南京邮电大学CTF密码学部分Writeup
异性相吸 1.xor 2.hex2binary 3.len(bin(miwen))==len(bin(mingwen)) # -*- coding:utf-8 -*- file_de = open(' ...
- 南京邮电大学 CTF 逆向部分 Writeup
Hello,RE! 提示 IDA 中按 R . Google 到 IDA 中 R 快捷键是 Character ,转为字符串. 丢进 IDA(虽然我并不会使用 IDA 有个 strcmp 函数,比较 ...
- ctf pwn ida 分析技巧
几年前的笔记,搬运过来 --- 1 先根据运行程序得到的信息命名外围函数,主要函数大写开头 2 /添加注释 3 直接vim程序,修改alarm为isnan可以patch掉alarm函数 4 y 可 ...
- 南邮CTF - Writeup
南邮CTF攻防平台Writeup By:Mirror王宇阳 个人QQ欢迎交流:2821319009 技术水平有限~大佬勿喷 ^_^ Web题 签到题: 直接一梭哈-- md5 collision: 题 ...
随机推荐
- 服务器接口附件限制【1M】解决办法
一.业务场景: 在后端与手机小程序端接口传附件时,发现经过云服务器的接口交互,附件超过1M就会有如下提示: <html> <head><title> ...
- 关于cc1链-lazymap版复现
关于cc1链-lazymap版复现 思路,在cc链中最重要的其实是transform方法;其反射调用执行的性质+transformchain性质,导致可以通过构造反射调用链子,也就是Runtime.e ...
- 给Markdown渲染网页增加一个目录组件(Vite+Vditor+Handlebars)(上)
1 引言 在上一篇文章<解决Vditor加载Markdown网页很慢的问题(Vite+JS+Vditor)>中,我们通过设置域内CDN的方式解决Vditor加载Markdown网页很慢的问 ...
- 函数使用十四:BAPI_PO_CREATE1
*&---------------------------------------------------------------------* *& Report ZBAPI_PO_ ...
- Coze工作流实战:一键生成鸡汤视频——厉害的人,早已戒掉情绪
导航 前言 工作流生成鸡汤视频的效果 操作步骤 调试 下载草稿 用剪映打开草稿 结语 参考 前言 也许大部分人,能够静下心来看书的时间基本集中在高中阶段,少数人进入大学后可能还回坚持阅读. 在进入职场 ...
- 传统.NET 4.x应用容器化体验(6)
在Windows Container中,没有写日志的情况下,如何排查系统的异常信息? 1 关于Windows事件日志 在以往基于IIS部署ASP.NET应用程序时,如果没有写指定日志的情况下,我们往往 ...
- apche服务器下无后缀文件配置浏览器访问自动下载
1.在配置最新的IOS app 微信授权登录时 SDK时,碰到一个问题.服务器端需要配置IOS唤起微信APP授权的通用链接地址. 2.关于通用链接 3. 必须将ios的配置文件放入网址根目录下的app ...
- Qt多线程及线程池的使用笔记(一)
Qt多线程及线程池的使用笔记(一) 在进行桌面应用程序开发的时候,假设应用程序在某些情况下血要处理较为复杂的逻辑,如果只有一个线程去处理,就会导致窗口卡顿,无法处理用户的相关操作,这种情况下就 ...
- SpringBoot--简单入门
简介 本质上说Spring是一个组件容器,它负责创建并管理容器中的组件(也被称为Bean),并管理组件之间的依赖关系. 为什么要用SpringBoot? Spring缺点是配置过多,SpringBoo ...
- 前端开发系列007-基础篇之JavaScript引用类型
本文将介绍JavaScript中值类型和引用类型,两种类型的区别以及编码时候的注意点. 一.值类型和引用类型介绍 在javaScript语言基础这篇文章中已经简单介绍了JavaScript中的数据类型 ...