夏令营write up

pwn1简单的栈溢出问题可以看出buf的位置可能存在溢出pwn2这道题目和level3非常的相似,查询保护checksec只开启了NX保护很明显的栈溢出漏洞,但是没有system函数和/bin/sh字符串了libc是Linux下的ANSIC的函数库。ANSIC是基本的C语言函数库,包含了C语言最基本的库函数。程序开始运行时,会把整个libc映射到内存中,此后在程序调用相关库函数时,会依据plt-g...

夏令营write up
pwn1

简单的栈溢出问题
在这里插入图片描述可以看出buf的位置可能存在溢出
在这里插入图片描述

pwn2

在这里插入图片描述这道题目和level3非常的相似,查询保护checksec只开启了NX保护 很明显的栈溢出漏洞,但是没有system函数和/bin/sh字符串了

libc是Linux下的ANSI C的函数库。ANSIC是基本的C语言函数库,包含了C语言最基本的库函数。程序开始运行时,会把整个libc映射到内存中,此后在程序调用相关库函数时,会依据plt-got表的机制,将所需的库函数加载到内存空间的某个虚拟内存地址,然后调用时就会通过plt_got表辗转跳至真正的函数内存地址处完成功能

在这里插入图片描述这道题目卡了很久一直没办法解决的原因竟然是接收处错了!!!在这里插入图片描述
这是什么令人难受的事情,自闭了。

Web easy audit1

https://blog.csdn.net/qq_41575340/article/details/90929634
在这里插入图片描述
代码审计一下,发现:利用get传递四个参数,分别为a1,a2,a3,a4。
其中$obstacle_1=is_numeric($a2) and is_numeric($a1);a1,a2必须为数字,也可以通过 a1[]=3绕过
对a2的限制:if(!(intval($a2)<1024 and intval($a2 1)>1024)) exit("emmmmm"); 可以通过16进制或者科学记数法进行绕过
a3必须等于hash_hmac(sha256,$a2,$secret);
通过查阅资料发现hash_hmac()函数,如果加密的是一个数组则会返回false
通过控制a1的值,我们可以让secret为空,那么‘secret为空,那么‘hmac`就可以控制了。
payload:

?a1[]=1&a2=1e9&a3=ccb3fd8a1db86958d3b3551964d5948dd90d002e8bc80077e951fbbeec9de120

这样就得到flag了

MISC

这部分前五道题都很简单,最后一道不会写

REVERSE2

这里要用到pyc在线反编译https://tool.lu/pyc/工具

在这里插入图片描述
如下就是反编译脚本

#!/usr/bin/env python
#encoding: utf-8
import base64
buf = base64.b64decode(‘dIJ/gINrYGlTj1ljj2Nfj2NdWWBcVW0=’) flag = ‘’
for i in buf:
i -= 16
i ^= 32
flag = chr(i)

print(flag)

所以这道题目就到了flag

CRYPTO baby’s baby rsa

这道题目是RSA密码攻击首先我们要了解基本的rsa攻击方法

使用公钥加密的数据,利用私钥进行解密使用私钥加密的数据,利用公钥进行解密

这道题目比较简单是因为公钥和私钥都已经给出来了,所以我们还可以直接笔算得出答案
在这里插入图片描述

源文地址:https://www.guoxiongfei.cn/csdn/7566.html
0