一.web
1.签到
1)进入环境后,直接查看源码
2)进入js后缀链接
3)看到base64编码
ZmxhZ3tmYTEwOTBiODc0OTcwNjk2MzJlMTkwMDFkNDRhZDE5MH0=
解码得到flag
flag{fa1090b87497069632e19001d44ad190}
2.渗透的本质
1)打开环境后,提示说是要满足条件才能拿到flag,然后还给了个附件,里面全是类似于带后缀的文件,此时想到用BP爆破
2)如下,添加所给附件,根据它是get传参,直接爆破
3)找到不同长度文件
4)发现里面是一篇php代码,需要进行仔细审计
<?php
if("admin"===$_GET[id]) {
echo("<p>not allowed!</p>");
exit();
}
$_GET[id] = urldecode($_GET[id]);
if($_GET[id] == "admin")
{
echo "<p>Access granted!</p>";
echo "<p>Flag: XXXXXXX </p>";
}
?>
根据代码所写,这里它用了两次宽松比较,我将它简单理解为会对传入的参数值admin进行两次解码后是admin才能出现flag
所以这里需要将admin两次编码为%25%36%31%25%36%34%25%36%64%25%36%39%25%36%65
然后传入即可得到flag
3.好玩的PHP
1)
2)在条件判断部分,程序首先检查是否设置了所有四个参数,如果是,则进行进一步的判断。它比较了参数 a
和 b
的值,如果它们不相等但 MD5 散列值相等,则执行内部代码块。在内部代码块中,它比较了参数 c
和参数 d
指定的文件的内容是否相等,如果相等,则输出 flag.php
文件的内容。
构建pyload ?a[]=1&b[]=2&c=m&d=data://text/plain,m
然后查看源码即可找到flag
4.简简单单的文件上传
1)进入环境
2)上传一个简单木马
3)根据提示修改文件类型image/haha
4)上传成功后用蚁剑连接,找到flag
5.简简单单的sql
1)打开环境后找不到注入点
2)把它放到sqlmap中跑跑看
3)
二.Misc
1.easy_singin
1)直接核心价值观解码得到flag
flag{hahaha_singin_you_good}
2.Xjpg
1)题目提示f5刷新,搜索下载f5隐写工具,用命令提示符打开,输入命令Java Extract +图片地址
2)会在该目录下生成txt文件
打开是乱码的,但是有pk头,改成压缩包,打开有加密文件
用brainfuck解码得到flag
Crypto
1.Crypto_Singin
1)打开得到编码,使用unicode解码
2)变成如下
3)再使用工具解码得到flag
2.easy_rsa
1)打开题目给了n,e,c求m
2)直接运行脚本
from Crypto.Util.number import *
import gmpy2
p=782758164865345954251810941
q=810971978554706690040814093
p2=1108609086364627583447802163
n= 703739435902178622788120837062252491867056043804038443493374414926110815100242619
e= 59159
c= 449590107303744450592771521828486744432324538211104865947743276969382998354463377
phi=(p-1)*(q-1)*(p2-1)
d=gmpy2.invert(e,phi)
print(long_to_bytes(pow(c,d,n)))
得到flag
pwn_Sing
1)直接nc网址
2)ls查看目录
3)cat flag.txt得到flag