XCTF when_did_you_born

HCl4y
• 阅读 1137

使用file查看文件是多少位

XCTF when_did_you_born

可以看出是Linux系统下的64位ELF文件

用checksec检查文件保护

XCTF when_did_you_born

有金丝雀(canary)还有堆的保护

运行程序 XCTF when_did_you_born

当输入数据过长时,显示程序段错误,直接崩溃了,说明是可能存在栈溢出的,但是存在canary保护,可能不是直接溢出 canary保护

IDA中汇编出伪C代码

XCTF when_did_you_born 输入v5如果是1926直接退出,如果不是再用gets输入v4(gets必是漏洞,输入时对长度没有限制,可以无限填充数据),如果v5又等于1926才输出flag

查看栈里数据的地址

XCTF when_did_you_born

因为v4是gets输入,所以可以一直填充,数据填充覆盖v5时将数据改为1926

写exp

XCTF when_did_you_born

显示没有那个文件或目录其实就是打通

XCTF when_did_you_born

将content改为0打远程

XCTF when_did_you_born

XCTF when_did_you_born

总结

这道题虽然有canary保护,但并没有开启,可以直接通过gets不断填充数据覆盖变量得到flag

点赞
收藏
评论区
推荐文章
浅梦一笑 浅梦一笑
4个月前
初学 Python 需要安装哪些软件?超级实用,小白必看!
编程这个东西是真的奇妙。对于懂得的人来说,会觉得这个工具是多么的好用、有趣,而对于小白来说,就如同大山一样。其实这个都可以理解,大家都是这样过来的。那么接下来就说一下python相关的东西吧,并说一下我对编程的理解。本人也是小白一名,如有不对的地方,还请各位大神指出01名词解释:如果在编程方面接触的比较少,那么对于软件这一块,有几个名词一定要了解,比如开发环
Jacquelyn38 Jacquelyn38
1年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
blmius blmius
1年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
HCl4y HCl4y
1年前
XCTF hello_pwn
使用file查看文件是多少位Linux系统下的64位ELF文件用checksec检查文件保护没有canary保护IDA中汇编出伪C代码从unk_601068中读取10个字节,再读取dword_60106C中数据与1853186401比较,unk_601068,dword_60106C都是在段中exp打远程得到flag
HCl4y HCl4y
1年前
XCTF level0
file查看文件类型,checksec检查保护机制64位ELF文件,没有开启保护机制IDA查看伪码主函数输出"Hello,World"后调用函数vulnerable_function()在函数vulnerable_function()中,每次读取200Byte的字节存储在buf中buf的空间只有80Byte,存在栈溢出shiftF12
Wesley13 Wesley13
1年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Wesley13 Wesley13
1年前
4cast
4castpackageloadcsv.KumarAwanish发布:2020122117:43:04.501348作者:KumarAwanish作者邮箱:awanish00@gmail.com首页:
Easter79 Easter79
1年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Stella981 Stella981
1年前
Angular material mat
IconIconNamematiconcode_add\_comment_addcommenticon<maticonadd\_comment</maticon_attach\_file_attachfileicon<maticonattach\_file</maticon_attach\
helloworld_34035044 helloworld_34035044
6个月前
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
HCl4y
HCl4y
Lv1
笑是我最奢侈的表情,这一生我只有把它泛滥成灾。
3
文章
0
粉丝
0
获赞