piapiapia(代码审计、反序列化逃逸、函数绕过)

wp

进入题目,一个登录框,F12和源代码没有看到提示,robots.txt也没有东西。于是试一试访问www.zip,没想到有源码,省了扫描目录的时间。

里面有6个php文件,使用Seay审计代码,简单看了下(其实也看了挺久都没完全看明白),每个php文件主要功能大概如下:

文件内容

register.php:注册用户

class.php:连接数据库,进行查询、插入、更新,另外还有过滤函数(接下来会用到)

config.php:连接数据库需要的信息,除此之外还有个显眼的$flag

index.php:判断登录用户名和密码是否符合长度规定

update.php:更新一些资料,输入phone、email、nickname,以及上传头像photo。将这些资料放到一个数组中,这个数组会被序列化

profile.php:将更新的资料反序列化,并且有一个file_get_contents()将图片(文件)内容base64编码输出(会用到)

尝试

第一次做的时候看到有头像上传,并且没有对文件进行过滤,于是试了下上传一个后门,上传成功,但是访问的时候出现了405,于是再看看有什么利用的地方。

回到config.php文件,里面有个$flag变量,读取config.php文件的内容获取flag。

再仔细看下代码,可以发现更新的资料是先将其序列化,再进行过滤,最后再反序列化,并且会将文件内容base64编码打印。

主要部分

序列化

$user->update_profile($username, serialize($profile));	

过滤

public function update_profile($username, $new_profile) {
   
		$username = parent
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值