云曦期中考试复现

web基础

签到题,查看源代码,发现,在原代码里有一个main.js文件

点进去,就有flag的base64编码

解码,得到flag

渗透的本质

这里给了一个robots.txt的附件,打开以后发现,好像大部分形式都是网页,因为一开始没有注意,打开环境也发现,说身份的问题,所以一开始的思路就错了,我一开始想的是用bp去改前端的那些数据,来让我获得权限。之后用御剑和dirsearch才发现,这里应该是目录遍历,这也是一开始给这个robots.txt文件的原因

这里使用bp抓包,发现是get传参的形式,那么就直接开始爆破,找有用的信息

爆破完毕,发现有一个长度不一样的,并且从里面获得了信息。接下来就是对代码进行分析了

通过这个代码可以知道,要给id这个变量赋值admin,但是如果直接赋值,而不对数据进行处理的话,就会在第一个条件卡住,也会直接结束。在看第二个if语句,它会对变量进行url解码,而当第一次传入admin时,浏览器会自动对admin这个内容进行一次默认的url解码,所以这里要对admin进行二次URL编码,当然,也可以直接对admin中的a进行二次URL编码,这两种实质上解出来是一样的

最后在页面里以get传参的方式给id这个变量传入二次编码以后的admin,成功获得了flag

好玩的PHP

这到题的话主要就是考代码审计的能力

然后代码的大概意思就是,要给四个变量赋值,而且必须四个变量都被赋值而且要进行两个绕过

一个是MD5的碰撞,应该是php的伪协议,这里的话,我确实承认,是自己对php伪协议的了解还不够,而且当时一下就是想不起来data和php://input。这里的话,实际上要说的话,排列组合以后,会有四种解法。md5碰撞的话,0e也行,数组也是可以的,一开始出现了警告,我还以为数组不行。

这里直接上payload的截图

这个是使用data的解法,直接在一个payload上就能解决

一开始我以为是错的,因为虽然字体颜色发生了变化,但是flag没有蹦出来,后面才发现,flag在源代码里面。。。。。。。。。

然后的话是,使用php://input,这里的话,使用bp以post的方式传了一个包上去,也可以得到flag

涉及知识点:

md5

伪协议

文件上传

先尝试传个图片马,发现,格式不对

一开始,可能对Content-Type:的格式也不是很了解,所以,一直修改错了,后面搜了一下、

Content-Type

成功修改了以后

就上传成功了,然后让我万万没想到的是,后面就不用改什么了,我还在哪里双写绕过,00截断,最后才发现,可以直接传.php的文件,可能这就是返璞归真吧

上传成功,直接连接蚁剑,查看,得到flag

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值