记第一次awd测试
只针对pwn方向
题目:Bugku S3 AWD排位赛-13(双倍积分)
参考视频:AWD_哔哩哔哩_bilibili
工具:
Xterminal:Xterminal - 更好用的开发工具,但不止于(SSH/控制台/More)
1.ssh连接
- 此处是结束之后写的,所以缺少截图了,不过可以看上面的参考视频。
- 开始比赛之前务必让队长给你本机ip加入到白名单上面
- 比赛开始,会有自己的虚拟ip地址,也会给队伍名和密码,队伍名类似于team1,密码较长。
- 类似上面的,我拿的是Xterminal连接,分组和名称乱填就行。
2.对pwn文件进行修复和攻击
2.1 攻击本地
- 连接服务器之后,在/home/ctf文件下面有pwn文件,下载下来即可,拖进自己的虚拟机,然后跟正常的ctf比赛一样。
- checksec一下文件,发现没canary也没有PIE
- 从ida可以看出,直接给的pwn文件可以说没有任何保护,把能给的信息都给了,还给了栈上地址任意修改的权限,并且还给了后门函数。那么很简单,直接修改ret_addr为后门函数地址就可以得到flag了。
2.2 攻击远程
- 远程其实跟做题目一样,得到ip地址,这一步靠web手将其他服务器的虚拟ip爆破出来(虚拟ip只有一位不同),然后ping一下就有ip了
- 端口问题:起初我以为是默认的2222,结果上网搜其他比赛的脚 本 ,发现端口其实是9999
得到的flag就可以直接提交了
至于循环提交flag,这里贴一个脚本,但是最后也没来得及测试。脚本中爆破就爆破了一位,但其实后为ip地址都是不相同的
1 | from pwn import * |
2.3 修复文件
- 因为是新手不会在ida patch改,所以上的是通防:https://github.com/TTY-flag/evilPatcher
- 具体使用:
1.安装seccomp-tools
2.git clone + 上面仓库地址.git,然后给pwn文件丢到目录下面
1 | python3 evilPatcher.py pwn sandboxs/mini_sandbox.asm |
pwn.patch就是改了之后的文件,修改pwn.patch为pwn就行了
- 可以发现,execve系统调用被禁用了,所以原来的脚本是打不通的。
2.4 远程上传
1 | scp -P 2222 filename_addr username@ip:/目录 |
filename_addr就是你要上传的文件绝对地址
username就是服务器地址,比如team1,ip就是ping一下你的虚拟ip然后的地址,后面目录就是你要上传到服务器的目录
做完这些是要输密码的,正常输入即可
一般我们的文件时上传到/tmp目录下面,然后根据重定向写入到pwn文件中
1 | cat /tmp/pwn > /home/ctf/pwn |
- 做完这些pwn手可以歇息了(对于我来说也可以歇息了,因为已经不会了)
- 标题: 记第一次awd测试
- 作者: D0wnBe@t
- 创建于 : 2024-09-04 22:15:19
- 更新于 : 2024-09-05 10:05:39
- 链接: http://downbeat.top/2024/09/04/记第一次awd测试/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论